3.9.2. Galaxy 設定の環境変数を使用した実行環境の構築
Ansible Builder スキーマ 3 を使用すると、カスタムの Galaxy 設定を指定するなど、複雑な手順を実行できます。
この方法を使用すると、認証トークンなどの機密情報を、最終的な実行環境イメージに漏洩することなく、実行環境ビルドに渡すことができます。
次の例では、Ansible Galaxy Server 環境変数を使用します。
additional_build_steps:
prepend_galaxy:
# Environment variables used for Galaxy client configurations
- ENV ANSIBLE_GALAXY_SERVER_LIST=automation_hub
- ENV ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_URL=https://console.redhat.com/api/automation-hub/content/xxxxxxx-synclist/
- ENV ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_AUTH_URL=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
# define a custom build arg env passthru - we still also have to pass
# `--build-arg ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_TOKEN` to get it to pick it up from the env
- ARG ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_TOKEN
options:
package_manager_path: /usr/bin/microdnf # downstream images use non-standard package manager
ENV ディレクティブを使用すると、ANSIBLE_GALAXY_SERVER_LIST、ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_URL、ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_AUTH_URL などの環境変数を指定できます。詳細は、Ansible ドキュメントの Galaxy User Guide を参照してください。
セキュリティー上の理由から、ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_TOKEN に機密情報を保存しないでください。ARG ディレクティブを使用すると、ユーザーからの機密情報を入力として受け取ることができます。
-build-args を 使用すると、ansible-builder コマンドを実行する際にこの情報を指定できます。