gendall.docker_stack
Dockerスタック
プレイブックディレクトリにあるdocker-compose.ymlファイルからDockerスタックをデプロイするための役割です。
使用方法
DockerレジストリはデフォルトでGitHubパッケージレジストリになっていますが、docker_registry
変数に新しいホスト名(例:docker.io)を指定することで変更可能です。認証情報は環境変数としてパスワードを設定します:
DOCKER_USERNAME=mydockeraccount
DOCKER_PASSWORD=ah32hg3hrgrmbds
プレイブックディレクトリにsecrets.conf
という名前のVaultenvシークレットファイルが存在する場合、この役割はサーバーにコピーし、環境変数として渡されたVault認証情報を含む.env
ファイルを作成します:
VAULT_ADDR=https://vault.company.com:443
VAULT_TOKEN=s.g23gberb32b322b23b4
この役割は{{ inventory_dir }}/secrets
に見つかったファイルからDockerシークレットを作成します。Dockerシークレットのローテーションに制限があるため、ロールは各更新時にスタックを削除し再作成します。これは、更新時にシークレットが使用されないようにするためです。
PROJECT
環境変数が設定されている場合、スタック名として使用されます。TAG
とENV
が設定されている場合、それらはスワームに渡されます。
使用方法
requirements.txtファイルを使用してプレイブックにこの役割を含めてください。
例プレイブック
- 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