S3 — Монтирование в Linux

Для того, чтобы примонтировать S3 Bucket как файловую системой, необходимо установить s3fs Создадим директорию для монтирования:   И добавим следующее в "/etc/fstab":   Где: "artem-service-bucket:/upload/" — имя S3 корзины и директория, внутри корзины, которую нужно монтировать "url=https://s3.eu-central-1.amazonaws.com,endpoint=eu-central-1" — регион, в котором расположена S3 корзина "iam_role" — указываем, что будем использовать IAM Role для аутентификации   … Продолжить читать "S3 — Монтирование в Linux"

Terraform — AWS Secrets Manager: Извлечь логин/пароль RDS

Необходимо извлечь логин и пароль от RDS, которые хранятся в AWS Secret Manager и использовать их значения в Terraform коде. Для этого можно воспользоваться следующей конструкцией:   И использовать переменные:

Terraform — AWS SSM: Извлечь содержимое

В SSM Parameter Store содержится JSON следующего вида:   Необходимо извлечь логин и пароль, и использовать их значения в Terraform коде. Для этого можно воспользоваться следующей конструкцией:   И использовать переменные:

Jenkins — Python VirtualEnv с выбором версий

  Для выбора версии питона в пайплайне, нужно чтобы нужные версии были установлены в системе. Дальнейшие действия были выполнены на CentOS 7 и установка бинарников происходила в директорию "/usr/bin/" для удобства, так как в системе уже установлены версии "2.7" и "3.6" из репозитория по данному пути. Устанавливаем зависимости:   Скачиваем нужные исходники нужных версий, в … Продолжить читать "Jenkins — Python VirtualEnv с выбором версий"

AWS — S3: Разрешить публичный доступ к объектам через VPN

Цель: Разрешить публичный доступ на чтение для всех объектов в S3 корзине только используя VPN подключение, для подключения с мира объекты должны быть не публичными. В качестве сервиса VPN используется OpenVPN, который может быть развернут где угодно, поэтому разрешающие правило будем строить на проверки IP адреса.   Для начала нужно узнать список сетей, которые относятся … Продолжить читать "AWS — S3: Разрешить публичный доступ к объектам через VPN"

Python — AWS EBS создание снапшотов на основе тега и хранение только одной последней версии

Данный скрипт ищет EBS в регионе "eu-west-1" с тегом, ключ которого "Application" и значение передается как аргумент, создает снапшот данного EBS. Так же по тому же принципу он ищет снапшот по тегу, и удаляет все, кроме последнего. Пример запуска для создания снапшота:   Пример запуска для удаления старых снапшотов:   main.py:

Jenkins — Active Choice: SSH — Вернуть значения удаленной команды

Для параметризованной сборки, понадобится плагин Active Choices Переходим в настройки Jenkins'а   Раздел "Управление плагинами"   Переходим к вкладке "Доступные" и в поиске указываем "Active Choices" Устанавливаем его.   Создаем "New Item" — "Pipeline", указываем, что это будет параметризованная сборка, и добавляем параметр "Active Choices Parameter"       Указываем, что это "Groovy Script" и … Продолжить читать "Jenkins — Active Choice: SSH — Вернуть значения удаленной команды"

Jenkins — Active Choice: S3 — Вернуть нужное значение ключа с JSON файла

Для параметризованной сборки, понадобится плагин Active Choices Переходим в настройки Jenkins'а   Раздел "Управление плагинами"   Переходим к вкладке "Доступные" и в поиске указываем "Active Choices" Устанавливаем его.   Создаем "New Item" — "Pipeline", указываем, что это будет параметризованная сборка, и добавляем параметр "Active Choices Parameter"       Указываем, что это "Groovy Script" и … Продолжить читать "Jenkins — Active Choice: S3 — Вернуть нужное значение ключа с JSON файла"

Ansible — Хранить N последних директорий и артефактов

Цель: Есть директория "/opt/application", в которую скачивается архив с приложением и распаковывается в директорию, где в качестве имени используется короткая производная от HASH коммита (8 символов). И создается символическая ссылка на данную директорию. Необходимо хранить только 3 последних версии приложения, как директорий, так и архивов, а так же не удалять директории которые называются: logs media … Продолжить читать "Ansible — Хранить N последних директорий и артефактов"

Python — AWS S3 хранить N последних артефактов

Данный скрипт получает список всех директорий в корзине и удаляет все объекты в каждой директории, кроме последних "N" указанных. Для запуска скрипта нужно передать два аргумента: Имя корзины Количество последних хранимых объектов Пример запуска:   main.py: