Jenkins: Simple Theme Plugin – настройка внешнего вида UI

5 July 2018
 

 Jenkins – прекрасная система, но вот внешний вид – просто “привет из 90-х”. К счастью – Jenkins поддерживает самую различную кастомизацию, в т.ч. – возможность настройки своего интерфейса. Для этого можно установить плагин Simple Theme Plugin: Далее – в Configure System > Theme либо настроить вид самому, либо использовать готовый набор, например – jenkins-material-theme. Выбираем цветовую схему, например… Read More »

AWS: RDS – сбросить пароль администратора

4 July 2018
 

 Имеется инстанс, развёрнутый из снапшота, пароль утерян. Что бы сменить пароль – выбираем инстанс, выбираем Modify: И в Settings – задаём новый пароль: Выбираем Apply immediately: Внимательно читаем предупреждение, что в таком случае будут применены все текущие изменения, который ждут maintatnce window. Например – мажорный/минорные апдейты версии, что может инициировать рестарт инстанса: Potential unexpected downtime… Read More »

Jenkins: Credentials Binding Plugin и использование нескольких Secret file в Jenkins pipeline

3 July 2018
 

 Задача – запустить ansible-playbook, которому необходимо передать RSA ключ для EC2 и файл с паролем для ansible-vault, т.к. в задачах плейбука используются зашифрованные переменные. Для этого используем Jenkins credentials, где сохраним два файла, а потом через Credentials Binding Plugin – передадим их в контейнер с задачей. Secret file в Credentials Сначала добавляем файлы в Jenkins. Переходим… Read More »

Ansible: jenkins_plugin Connection refused и Cannot get CSRF

30 June 2018
 

 Для Ansible имеется плагин, позволяющий выполнить установку плагинов для Jenkins jenkins_plugin_module. Достаточно интересный модуль, ниже пример его использования и решение ошибки “Connection refused“. При попытке установить плагин с его помощью: … – name: Start Jenkins service   service:     name=jenkins     state=restarted     enabled=yes – name: Install Jenkins plugins jenkins_plugin: name: “{{ item }}” url_username: “{{ jenkins_ui_admin_user }}” url_password: “{{ jenkins_ui_admin_pass }}” state: present… Read More »

Terraform: создание проекта с EC2, VPC и AWS cross-region VPC peering

28 June 2018
 

 Одной из неприятных неожиданностей в использовании CloudFormation оказался факт того, что он не умеет создавать VPC peering между VPC в разных регионах. Т.е., сама возможность создания cross-region peering была анонсирована>>> AWS в ноябре 2017, но по состоянию на июнь 2018 – AWS CloudFormation просто не имеет опции region. В результате он пытается выполнить пиринг между… Read More »

AWS: CloudFormation – UPDATE_ROLLBACK_FAILED

27 June 2018
 

 Ситуация: был стек, в котором создавался VPC peering (ресурс AWS::EC2::VPCPeeringConnection) с VPC в другом стеке. Потом первый стек был удалён, но во втором стеке осталась ссылка на этот пиринг. В результате во время апгрейда второго стека – он фейлится, и не может выполнить rollback-операцию: Решение нагугливается легко по запросу “UPDATE_ROLLBACK_FAILED fix“, см тут>>>, в первом… Read More »

Terraform: пример работы – основные команды, state-файлы, бекенды, модули

25 June 2018
 

 Пример использования Terraform, его основные команды, работа с бекенда и модулями. Достаточно кратко, но со ссылками на документацию. Устанавливаем на Arch Linux: Для авторизации используем созданный AWS профиль setevoy-root. Contents main.tfПервый запускtarraform planterraform applyterraform destroyState-filesterraform stateBackendsМодули Terraform main.tf Создаём файл main.tf, в котором указываем использование AWS provider, регион, и имя AWS профиля: provider “aws” {… Read More »

AWS: CloudFormation – route table rtb-6ea6bd06 and network gateway pcx-48eaed21 belong to different networks

22 June 2018
 

 При создании нового стека с использованием VPC peering – CloudFormation сообщает об ошибке: route table rtb-6ea6bd06 and network gateway pcx-48eaed21 belong to different networks (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterValue; Request ID: d8c60294-5ea7-4407-9886-6459c16762b8) Причина не совсем очевидна, потому запишу её себе на будущее. Проверяем таблицу rtb-6ea6bd0: Обращаем внимание на сеть: subnet-8d0d41e5 | monitoring-production-public-net 10.0.1.0/28… Read More »

Prometheus: CloudWatch exporter – сбор метрик из AWS и графики в Grafana

21 June 2018
 

 Используем prometheus/cloudwatch_exporter. Клиент написан, внезапно, на Java, из минусов – не умеет экпортировать теги AWS в метки Prometheus (есть альтернативный клиент – technofy/cloudwatch_exporter, который вроде бы умеет). Contents IAM пользовательПроверка prometheus/cloudwatch_exportercloudwatch-exporter в PrometheusGrafana dashboard IAM пользователь Для IAM пользователя, доступы которого будет использовать експортёр требуются роли cloudwatch:ListMetrics и cloudwatch:GetMetricStatistics (надо проверить – сработает ли роль CloudWatchAgentServerPolicy, подключенная к… Read More »

macOS: launchctl – запуск/остановка сервисов на примере Jenkins slave агента

20 June 2018
 

 Искал аналог systemctl для systemd или service для Upstart, но под macOS, что бы можно было запускать сервис из консоли, нагуглился такой сервис как launchctl, который является частью launchd. Для примера возьмём plist-файл из комментария к посту Jenkins: macOS slave агент через Java Web Start. Другие примеры plist-файлов есть тут>>>., описание ключей – на странице… Read More »