Архив метки: Python

AWS: Lambda – копирование тегов EC2 на EBS, часть 2 – создание Lambda-функции

11 октября 2021
 

 Продолжаем создавать Lambda-функцию для копирования тегов EC2 на EBS. В первой части – AWS: Lambda – копирование тегов EC2 на EBS, часть 1 – Python и boto3, мы написали Python-скрипт, который умеет получать список всех EC2 в регионе, и потом для каждого ЕС2 получает список всех его EBS, на которые копирует теги плюс добавляет один… Читать далее »

AWS: Lambda – копирование тегов EC2 на EBS, часть 1 – Python и boto3

11 октября 2021
 

 Есть кластер AWS Elastic Kubernetes Service, у которого есть несколько WorkerNode Group, которые созданы как AWS AutoScaling Groups, всё создаётся через eksctl, см. AWS Elastic Kubernetes Service: — автоматизация создания кластера, часть 2 — Ansible, eksctl. Для WorkerNode Group в конфигурации eksctl прописан набор тегов, которые позволяют проводить инвентаризацию сервисов: — apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig… Читать далее »

Redis: репликация, часть 3 — redis-py и работа с Redis Sentinel из Python

1 апреля 2019
 

 В продолжение постов о настройке и использовании Redis репликации с использованием Redis Sentinel – пример работы из Python. Предыдущие и последующие посты серии: Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis. Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel Redis: репликация, часть 4 — написание Ansible роли… Читать далее »

What is: YAML – общий обзор, типы данных, YAML vs JSON и PyYAML

14 марта 2019
 

 YAML – один из наиболее популярных форматов… Они сами не знают – форматом чего, на самом деле. Изначально он был «Yet Another Markup Language» – «Ещё один язык разметки», позже стал «YAML Ain’t Markup Language» – «YAML – не язык разметки» ((с) Wiki Rus и Wiki Eng): Originally YAML was said to mean Yet Another Markup… Читать далее »

AWS: s3fs – Permission denied

22 ноября 2018
 

 После начала использования s3fs – выяснилась одна деталь. Файлы загружаются с помощью boto3. Но после того, как корзина смонтирована к системе – получить доступ к файлам нельзя: Проверяем права на файлы – и ой: И сменить права через chmod тоже не получится: Решение – задавать права доступа через Metadata, при загрузке данных в корзину. См.… Читать далее »

Python: скрипт добавления комментария в Jira из Jenkins

25 сентября 2018
 

 В продолжение поста Jenkins: добавление комментария в Jira-тикет после билда – напишем свой костыль, который будет добавлять комментарии в Jira-тикеты. Скрипт будет парсить заголовок коммита, в котором будет указан Jira-тикет, а потом через Jira API добавлять комментарий. Писать будем на Python – полгода не писал на нём, наконец-то появился повод. Парсинг git-коммита Для того, что бы… Читать далее »

AWS: SES – Simple Email Service и WorkMail: настройка аккаунта и отправка почты

18 мая 2018
 

 AWS SES позволяет выполнять отправку и приём почты без необходимости настраивать свой полноценный почтовый сервис в виде Exim/Dovecot etc. Документация – тут>>>, а в этом посте рассмотрим настройку и использование сервиса на примере. Ограничения SES sandbox Как и все сервисы AWS – SES имеет свои ограничения, а для SES ещё и применяются особые правила: при… Читать далее »

Linux: supervisor – управление процессами и сервисами

7 мая 2018
 

 supervisor – система для управления сервисами, написана на Python, использует INI-конфиги для настроек. Домашняя страница и документация – тут>>>, репозиторий – тут>>>. Состоит из: supervisord: сам север, обрабатывающий запросы от клиентов и считывающий файлы настроек для сервисов supervisorctl: CLI для управдения процессами под контролем supervisord, подключаясь к нему через сокет или TCP порт HTTP сервер: предоставляет… Читать далее »

Python: pip – AttributeError: ‘module’ object has no attribute ‘SSL_ST_INIT’

16 марта 2018
 

 При установке и запуске Let’s Ecnrypt клиента – вылезла ошибка Python: root@jm-monitoring-production-vm:~# letsencrypt certonly –config-dir /data/letsencrypt/ –noninteractive –webroot –webroot-path /var/www/html/ –email email@domain.tld –agree-tos –domains monitor.domain.tld Traceback (most recent call last): File “/usr/bin/letsencrypt”, line 9, in <module> load_entry_point(‘letsencrypt==0.4.1’, ‘console_scripts’, ‘letsencrypt’)() File “/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py”, line 542, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File “/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py”, line 2569, in load_entry_point return… Читать далее »

Python: Duplicate Encoder – решение задачки с Codewars

5 марта 2018
 

 Задача Ссылка на задачу Оригинал: The goal of this exercise is to convert a string to a new string where each character in the new string is ‘(‘ if that character appears only once in the original string, or ‘)’ if that character appears more than once in the original string. Ignore capitalization when determining… Читать далее »