自動化ハブの使用開始
Ansible コレクションコンテンツのデフォルトサーバーとしての Red Hat Automation Hub の設定
saas-docs@redhat.com
概要
はじめに
Red Hat Ansible Automation Hub は、Red Hat サブスクリプションをお持ちのお客様が、Red Hat および弊社のテクノロジーパートナーがサポートするコンテンツをすばやく見つけて使用できる場所を提供し、最も要求の厳しい環境にさらなる安心を提供します。
Ansible Galaxy クライアント ansible-galaxy
は、コマンドラインからロールおよびコレクションを管理します。ansible-galaxy
クライアントが認定済みでサポートされている Ansible コレクションを可能な限り使用するようにするには、ansible.cfg
ファイルを更新して、Ansible コレクションのプライマリーソースとして Red Hat Automation Hub を使用する必要があります。
本書では、Red Hat Automation Hub を認定 Ansible コレクションコンテンツのデフォルトソースとして使用するように ansible.cfg
ファイルを設定する際に必要な手順を説明します。
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Red Hat Automation Hub API トークンの作成
コレクションをアップロードまたはダウンロードすることで、Automation Hub と対話できるようにする前に、API トークンを作成する必要があります。Automation Hub API トークンは、ansible-galaxy
クライアントを Red Hat Automation Hub サーバーに対して認証します。
Automation Hub を使用して API トークンを作成できます。Token management をクリックします。
前提条件
- Red Hat Ansible Automation Platform の有効なサブスクリプション認証情報。
手順
- https://cloud.redhat.com/ansible/automation-hub/token/ に移動します。
- Load Token をクリックします。
- copy アイコンをクリックして、API トークンをクリップボードにコピーします。
- API トークンをファイルに貼り付け、安全な場所に保存します。
API トークンは、コンテンツを保護するために使用されるシークレットトークンです。API トークンを安全な場所に保存します。
API トークンは、Automation Hub をデフォルトのコレクションサーバーとして設定するか、ansible-galaxy
コマンドラインツールを使用してコレクションをアップロードできるようになりました。
1.1. オフライントークンをアクティブな状態に維持
オフライントークンをアクティブな状態にしておくと、ユーザーがオフラインの場合でも、アプリケーションがユーザーの代わりにアクションを実行する必要がある場合に便利です。たとえば、ルーチンデータのバックアップです。
オフライントークンは、30 日の非アクティブ後に有効期限が切れます。オフライントークンを定期的に更新することで、オフライントークンの有効期限が切れないようにすることができます。
オフライントークンの期限が切れたら、新しいトークンを要求する必要があります。
定期的に以下のコマンドを実行して、トークンの有効期限が切れないようにします。
curl https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token -d grant_type=refresh_token -d client_id="cloud-services" -d refresh_token="{{ user_token }}" --fail --silent --show-error --output /dev/null
第2章 コンテンツの主なソースとして Red Hat Automation Hub を設定
Ansible Certified Content Collections にアクセスするための、Red Hat Automation Hub を主要なコンテンツソースとして設定します。コマンドラインインターフェイス(CLI)または Web コンソールで Automation Hub を設定できます。
2.1. CLI を使用したコンテンツのプライマリーソースとしての Red Hat Automation Hub の設定
CLI を使用して、Red Hat Automation Hub を主要なコンテンツソースとして設定します。Automation Hub を設定するには、ansible.cfg
設定ファイルを変更する必要があります。Automation Hub を使用すると、認定済みのサポートされるコレクションにアクセスできます。
前提条件
- Automation Hub サーバーの API トークンを取得している。詳細は、Red Hat Automation Hub API トークンの作成 を 参照してください。
Creating a new token revokes any previous tokens generated for Private Automation Hub. Ensure that you update any Controller or scripts that you created with the previous token.
手順
-
[galaxy]
セクション配下にserver_list
オプションを追加し、1 つ以上のサーバー名を指定します。 各サーバー名に新しいセクションを作成します。
[galaxy_server._<server_name>_]
各サーバー名に
url
オプションを設定します。サーバー URL にapi/galaxy/
サブディレクトリーを含める必要があります。https://<server_fully_qualified_domain_name>/api/galaxy/
-
必要に応じて、
auth_url
オプションを設定します。コミュニティーの Ansible Galaxy にはauth_url
が必要ありません。 - Automation Hub サーバーの API トークンを設定します。
以下の ansible.cfg
設定ファイルの例は、優先順位の高い順に複数のサーバーを設定する方法を示しています。Automation Hub はプライマリーソースとして設定され、Ansible Galaxy サーバーがセカンダリーソースとして設定されています。
ansible.cfg
[galaxy] server_list = automation_hub, my_org_hub [galaxy_server.automation_hub] url=https://cloud.redhat.com/api/automation-hub/api/galaxy/ 1 2 auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token token=my_ah_token [galaxy_server.my_org_hub] url=https://automation.my_org/api/galaxy/ 3 username=my_user password=my_pass
すべての API URL は末尾のスラッシュで終了する必要があります。 / 301 リダイレクトの受信を防ぐために。
これで、CLI を使用して Automation Hub をプライマリーサーバーとして設定し、サポートされるコレクションのダウンロードおよびインストールを続行できるようになりました。
関連情報
サーバーリストの設定オプションおよび Ansible Galaxy を Ansible コンテンツソースとして使用する方法の詳細は、Ansible Galaxy ユーザーガイド を参照してください。
2.2. Web コンソールを使用したコンテンツの主なソースとして Red Hat Automation Hub を設定
Web コンソールを使用して、Red Hat Automation Hub を主要なコンテンツソースとして設定します。Automation Hub を設定するには、認証情報を作成して、組織の Galaxy Credentials フィールドに追加する必要があります。Automation Hub を使用すると、認定済みのサポートされるコレクションにアクセスできます。
前提条件
- Automation Hub サーバーの API トークンを取得している。詳細は、Red Hat Automation Hub API トークンの作成 を 参照してください。
Creating a new token revokes any previous tokens generated for Private Automation Hub. Ensure that you update any Controller or scripts that you created with the previous token.
手順
- Automation Controller に移動します。
新しい認証情報を作成します。
- [ Add ] を [ Credentials screen.
- 新しい認証情報の名前を Name フィールドで指定します。
- オプション:説明を入力し、認証情報が関連付けられている組織の名前を入力するか、選択します。
- の下でOrganization認証情報を使用する組織を選択します。
- を選択します。Ansible Galaxy/Automation Hub API Token 認証情報タイプとして。
- の下でType Details次のように入力します。 Galaxy Server URL, Authentication Server URL、および API Token 前提条件 で作成されます。
- Save をクリックします。
組織の から作成した認証情報を選択します。 Galaxy Credentials フィールドで指定します。
- Access → Organizations に移動します。
- Galaxy 認証情報を追加する組織を選択します。
- Edit をクリックします。
- Galaxy Credentials で、 Search アイコン。
- Automation Hub 用に作成した認証情報を選択し、一覧の最初に置きます。
- オプション:Ansible Galaxy などのコンテンツのセカンダリーソースがある場合は、Automation Hub 用に作成した認証情報の後にこの認証情報を配置します。
- Select をクリックします。
- Save をクリックします。
検証
認証情報を検証するには、プロジェクトを選択して、既存のソースコントロール管理(SCM)ベースのプロジェクトを更新します。 Refresh アイコン。
- プロジェクトリポジトリーに移動します。
-
collections/requirements.yml
ファイルを使用するプロジェクトを選択します。 - refresh icon [refresh icon] をクリックしてプロジェクトを更新します。
プロジェクトのステータスが の場合 Successfulその後、認証情報が有効になります。
これで、Web コンソールを使用して Automation Hub をプライマリーサーバーとして設定し、サポートされるコレクションのダウンロードおよびインストールを続行できるようになりました。
関連情報
- サーバーリストの設定オプションおよび Ansible Galaxy を Ansible コンテンツソースとして使用する方法の詳細は、Ansible Galaxy ユーザーガイド を参照してください。
- 認証情報の作成および使用に関する詳細は、Automation Controller User Guide v4.2.1 の Credentials セクションを参照してください。