docker_stack

Docker Stack

Роль для развертывания Docker Stack из файла docker-compose.yml в директории плейбука.

Использование

Docker регистр по умолчанию настроен на GitHub Package Registry, но его можно изменить, передав новое имя хоста (например, docker.io) через переменную docker_registry. Учетные данные передаются в качестве переменных окружения:

DOCKER_USERNAME=mydockeraccount
DOCKER_PASSWORD=ah32hg3hrgrmbds

Если в директории плейбука существует файл секретов Vaultenv с именем secrets.conf, роль копирует его на сервер и создает файл .env, содержащий учетные данные Vault, если они переданы как переменные окружения:

VAULT_ADDR=https://vault.company.com:443
VAULT_TOKEN=s.g23gberb32b322b23b4

Роль создаст Docker Secrets из любых файлов, найденных в {{ inventory_dir }}/secrets. Из-за ограничений на ротацию Docker Secrets роль удаляет и заново создает стек при каждом обновлении. Это делается для того, чтобы секреты не использовались во время обновления.

Если установлена переменная окружения PROJECT, она будет использоваться как имя стека. Если установлены TAG и ENV, они будут переданы в Swarm.

Использование

Включите эту роль в плейбук, используя файл requirements.txt.

Пример плейбука

- hosts: manager[0]
  roles:
    - docker-stack

Развертывание

Эта роль будет автоматически собираться и разворачиваться в Ansible Galaxy при каждом пуше тега Semver в репозиторий.

О проекте

A role to deploy a Docker Stack from a docker-compose.yml file and configure Vaultenv

Установить
ansible-galaxy install gendall/ansible-docker-stack
Лицензия
Unknown
Загрузки
395
Владелец
Code, issues, docs and other trinkets