gendall.docker_stack

Docker Stack

一个用于从 playbook 目录中的 docker-compose.yml 文件部署 Docker Stack 的角色。

使用方法

Docker 注册表默认使用 GitHub Package Registry,但可以通过将新的主机名(例如 docker.io)作为 docker_registry 变量传递来更改。凭据通过环境变量设置为密码:

DOCKER_USERNAME=mydockeraccount
DOCKER_PASSWORD=ah32hg3hrgrmbds

如果在 playbook 目录中存在名为 secrets.confVaultenv 密钥文件,该角色会将其复制到服务器,并创建一个包含 Vault 凭据的 .env 文件,这些凭据如果通过环境变量传递:

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

该角色将从 {{ inventory_dir }}/secrets 中查找的任何文件中创建 Docker Secrets。由于 Docker Secrets 轮换的局限性,该角色在每次更新时都会删除并重新创建堆栈。这样可以确保在更新时密钥不会被使用。

如果设置了 PROJECT 环境变量,将其用作堆栈名称。如果设置了 TAGENV,它们将传递给 Swarm。

使用方法

使用 requirements.txt 文件在 playbook 中包含此角色。

示例 playbook

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

部署

当将 Semver 标签推送到仓库时,此角色将自动构建并部署到 Ansible Galaxy

关于项目

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

安装
ansible-galaxy install gendall.docker_stack
许可证
Unknown
下载
409
拥有者
Code, issues, docs and other trinkets