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環境変数が設定されている場合、スタック名として使用されます。TAGENVが設定されている場合、それらはスワームに渡されます。

使用方法

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