Automation Hub での Red Hat 認定済み、検証済み、および Ansible Galaxy コンテンツの管理

Red Hat Ansible Automation Platform 2.4

Automation Hub を使用して厳選されたコレクションを設定および配布する

Red Hat Customer Content Services

概要

このガイドでは、厳選された Red Hat Certified および Ansible Galaxy コレクションをユーザーに配信するように Automation Hub を設定する方法を説明します。

はじめに

Red Hat Ansible Certified Content Collection は、Red Hat Ansible Automation Platform のサブスクリプションに含まれています。Red Hat Ansible コンテンツには、Ansible Certified Content Collections と Ansible 検証済みコンテンツの 2 種類のコンテンツが含まれます。Ansible automation hub を使用すると、あらゆる形式の Ansible コンテンツから固有のコレクションセットにアクセスしてキュレートできます。

Ansible の検証済みコレクションは、プラットフォームインストーラーを通じて Private Automation Hub で利用できます。バンドルされたインストーラーを使用して Red Hat Ansible Automation Platform をダウンロードすると、インベントリーの一部として Private Automation Hub を有効にした場合に限り、検証済みのコンテンツがデフォルトで Private Automation Hub に事前入力されます。

バンドルインストーラーを使用していない場合は、Red Hat が提供する Ansible Playbook を使用して検証済みのコンテンツをインストールできます。詳細は、Ansible 検証済みコンテンツ を参照してください。

このコレクションは、パッケージをダウンロードして手動で更新できます。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

Red Hat ドキュメントへのフィードバック (英語のみ)

技術的な内容に関するフィードバックをお寄せいただきありがとうございます。皆様のご意見をお待ちしています。コメントの追加、Insights の提供、誤字の修正、および質問を行う必要がある場合は、ドキュメントで直接行うこともできます。

注記

Red Hat アカウントがあり、カスタマーポータルにログインしている必要があります。

カスタマーポータルからドキュメントのフィードバックを送信するには、以下の手順を実施します。

  1. Multi-page HTML 形式を選択します。
  2. ドキュメントの右上にある Feedback ボタンをクリックします。
  3. フィードバックを提供するテキストのセクションを強調表示します。
  4. 強調表示されたテキストの横にある Add Feedback ダイアログをクリックします。
  5. ページの右側のテキストボックスにフィードバックを入力し、Submit をクリックします。

フィードバックを送信すると、自動的に問題の追跡が作成されます。Submit をクリックすると表示されるリンクを開き、問題の監視を開始するか、さらにコメントを追加します。

第1章 Automation Hub での Ansible Content Collection 同期リストの管理

重要

2.4 リリースでは、引き続きコンテンツを同期できますが、同期リストは非推奨となり、今後のバージョンで削除される予定です。

Ansible Automation Platform 2.4 以降、プライベート Automation Hub の管理者は、rh-certified リモートに移動して、手動で作成された要件ファイルをアップロードできます。

リモートは、外部コレクションソースからカスタムリポジトリーにコンテンツを同期できる設定です。

Ansible Automation Hub を使用して、同期リストまたは要件ファイルを作成することで、関連する Red Hat Certified コレクションコンテンツをユーザーに配布できます。要件ファイルの使用に関する詳細は、Ansible Galaxy ユーザーガイドの 要件ファイルを使用した複数のコレクションのインストール を参照してください。

1.1. Red Hat Ansible Certified Content Collections の同期リストについて

同期リストは、ローカルの Ansible Automation Hub と同期する、組織の管理者によって集められた Red Hat 認定コレクションの精選されたグループです。同期リストを使用して、必要なコンテンツのみを管理し、不要なコレクションを除外できます。console.redhat.com の Red Hat コンテンツの一部として利用可能なコンテンツから同期リストを設計および管理できます。

各同期リストには、Automation Hub のコンテンツのリモートソースとして指定するために使用できる独自の一意のリポジトリー URL があり、API トークンを使用して安全にアクセスできます。

1.2. Red Hat Ansible Certified Content Collections の同期リストの作成

console.redhat.com の Ansible Automation Hub で、精選された Red Hat Ansible Certified Content の同期リストを作成できます。同期リストリポジトリーは Automation HubRepositories の下にあります。これは、Ansible Certified Content Collections 内でのコンテンツの管理を選択するたびに更新されます。

すべての Ansible 認定コンテンツコレクションは、初期の組織の同期リストにデフォルトで含まれています。

前提条件

  • 有効な Ansible Automation Platform サブスクリプションがある。
  • consoleredhat.com の組織管理者パーミッションがある。
  • 次のドメイン名が、Automation Hub または Galaxy サーバーからのコレクションの接続とダウンロードを正常に行うためのファイアウォールまたはプロキシーの許可リストに追加されている。

    • galaxy.ansible.com
    • cloud.redhat.com
    • console.redhat.com
    • sso.redhat.com
  • Ansible Automation Hub リソースが Amazon Simple Storage に保存され、次のドメイン名が許可リストに追加されている。

    • automation-hub-prd.s3.us-east-2.amazonaws.com
    • ansible-galaxy.s3.amazonaws.com
  • 自己署名証明書または Red Hat ドメインを使用する場合に SSL インスペクションが無効になっている。

手順

  1. console.redhat.com にログインします。
  2. Automation HubCollections に移動します。
  3. 各コレクションで切り替えスイッチを使用して、同期リストから除外するかどうかを判断します。
  4. 同期リストのコレクションの管理が終了したら、Automation HubRepositories に移動して、Private Automation Hub へのリモートリポジトリーの同期を開始します。
  5. オプション: リモートリポジトリーがすでに設定されている場合は、Red Hat Ansible Certified Content Collections を Private Automation Hub に手動で同期して、ローカルユーザーが利用できるようにしたコレクションのコンテンツを更新できます。

第2章 コンテンツを同期するための Ansible Automation Hub リモートリポジトリーの設定

リモート設定を使用して、console.redhat.com でホストされる Ansible 認定コンテンツコレクションと同期したり、Ansible Galaxy で選択したコレクションと同期するように Private Automation Hub を設定できます。

重要

2.4 リリースでは、引き続きコンテンツを同期できますが、同期リストは非推奨となり、今後のバージョンで削除される予定です。

Ansible Automation Platform 2.4 以降、プライベート Automation Hub の管理者は、rh-certified リモートに移動して、手動で作成された要件ファイルをアップロードできます。

リモートは、外部コレクションソースからカスタムリポジトリーにコンテンツを同期できる設定です。

2.1. リモート設定を作成する理由

Automation HubRemotes にある各リモート設定は、community および rh-certified リポジトリーの両方に、リポジトリーが 最後に更新 された日時に関する情報を提供します。Automation HubRepositories ページに含まれる Edit および Sync 機能を使用して、いつでも新しいコンテンツを Ansible Automation Hubに追加できます。

2.2. Red Hat Certified Collection の同期 URL と API トークンの取得

組織によってキュレートされた Ansible 認定コンテンツコレクションを console.redhat.com から Private Automation Hub に同期できます。

前提条件

  • console.redhat.com で同期リストを作成するための組織管理者権限がある。

手順

  1. 組織管理者として console.redhat.com にログインします。
  2. Automation HubConnect to Hub に移動します。
  3. Offline token で、Load token をクリックします。
  4. Copy to clipboard をクリックし、API トークンをコピーします。
  5. API トークンをファイルに貼り付け、安全な場所に保存します。
重要

API トークンは、コンテンツを保護するために使用されるシークレットトークンです。

2.3. rh-certified リモートリポジトリーの設定および Red Hat Ansible Certified Content Collection の同期

rh-certified リモートリポジトリーを編集して、console.redhat.com でホストされている Automation Hub から Private Automation Hub にコレクションを同期できます。デフォルトでは、Private Automation Hub rh-certified リポジトリーには、Ansible 認定コンテンツコレクションのグループ全体の URL が含まれています。

組織で指定されたコレクションのみを使用するには、Private Automation Hub 管理者は、手動で作成した要件ファイルを rh-certified リモートからアップロードできます。

要件ファイルの使用に関する詳細は、Ansible Galaxy ユーザーガイドの 要件ファイルを使用した複数のコレクションのインストール を参照してください。

要件ファイルに、AB、および C コレクションがあり、使用する console.redhat.com に新しいコレクション X を追加する場合は、Private Automation Hub の要件ファイルに X を追加して同期する必要があります。

前提条件

  • 有効な Ansible リポジトリーコンテンツの変更 権限を持っている。パーミッションの詳細は、Automation Hub におけるユーザーアクセスの管理 を参照してください。
  • console.redhat.com で Automation Hub がホストするサービスから同期 URL および API トークンを取得している。
  • ポート 443 へのアクセスを設定している。これは、認定されたコレクションを同期するために必要です。詳細は、Red Hat Ansible Automation Platform 計画ガイドの ネットワークポートとプロトコル の章にある Automation Hub の表を参照してください。

手順

  1. Private Automation Hub にログインします。
  2. Automation HubRemotes に移動します。
  3. rh-certified リモートリポジトリーで、More Actions アイコン をクリックし、Edit をクリックします。
  4. モーダルで、console.redhat.com. から取得した 同期 URL およびトークンを貼り付けます。
  5. Save をクリックします。

    モーダルが閉じて、Remotes ページに戻ります。console.redhat.com の組織の同期リストと Private Automation Hub の間でコレクションを同期できるようになりました。

  6. More Actions アイコン をクリックし、Sync を選択します。

同期ステータス 通知が更新され、Red Hat Certified Content Collections 同期の完了が通知されます。

検証

  • コレクションのコンテンツドロップダウンリストから Red Hat Certified を 選択して、コレクションのコンテンツが正常に同期されたことを確認します。

2.4. コミュニティーリモートリポジトリーの設定および Ansible Galaxy コレクションの同期

コミュニティー のリモートリポジトリーを編集して、選択したコレクションを Ansible Galaxy から Private Automation Hub に同期できます。デフォルトでは、Private Automation Hub コミュニティーリポジトリーは galaxy.ansible.com/api/ に送信されます。

前提条件

  • Modify Ansible repo content パーミッションがある。パーミッションの詳細は、Automation Hub におけるユーザーアクセスの管理 を参照してください。
  • 次の例のように、Ansible Galaxy から同期するコレクションを識別する requirements.yml ファイルがある。

requirements.yml の例

collections:
  # Install a collection from Ansible Galaxy.
  - name: community.aws
    version: 5.2.0
    source: https://galaxy.ansible.com

手順

  1. Ansible Automation Hub にログインします。
  2. Automation HubRemotes に移動します。
  3. Community リモートで、More Actions アイコン をクリックし、Edit を選択します。
  4. モーダルで Browse をクリックし、ローカルマシンで requirements.yml ファイルを見つけます。
  5. Save をクリックします。

    モーダルが閉じて、Remotes ページに戻ります。requirements.yml ファイルで識別されたコレクションを、Ansible Galaxy から Private Automation Hub に同期できるようになりました。

  6. More Actions アイコン をクリックし、Sync を選択して、Ansible Galaxy および Ansible Automation Hub からコレクションを同期します。

同期ステータス 通知が更新され、Ansible Automation Hub への Ansible Galaxy コレクション同期の完了または失敗が通知されます。

検証

  • コレクションのコンテンツドロップダウンリストから Community を選択して、同期が成功したことを確認します。

第3章 Private Automation Hub

Ansible Automation Hub は、認定コレクションの中央リポジトリーの場所であり、信頼され、テストされ、サポートされているコンテンツの主要なソースとして機能します。

Private Automation Hub を使用すると、オートメーション開発者は、独自のオートメーションコンテンツを共同で公開し、組織内でより簡単に Ansible コードを配信できます。Ansible 検証済みコンテンツの中央リポジトリーでもあります。これはサポートされていませんが、Red Hat とパートナーによって信頼およびテストされています。

3.1. 必要な共有ファイルシステム

高可用性 Automation Hub では、お使いの環境に、NFS などの共有ファイルシステムを設定しておく必要があります。Red Hat Ansible Automation Platform インストーラーを実行する前に、共有ファイルシステムのインストールの一部としてクラスター全体に /var/lib/pulp ディレクトリーをインストールしたことを確認します。いずれかのノードで /var/lib/pulp が検出されないと、Red Hat Ansible Automation Platform インストーラーはエラーを返し、高可用性 Automation Hub のセットアップが失敗します。

3.2. 共有ファイルシステムのセットアップ

各 Automation Hub ノードに共有ファイルシステムをマウントする必要があります。

手順

  1. /var/lib/pulp ディレクトリーを作成します。

    # mkdir /var/lib/pulp
  2. 共有ファイルシステムをマウントします (このリファレンス環境では NFS 共有を使用します)。

    # mount -t nfs4 <nfs_share_ip_address>:/ /var/lib/pulp
  3. 共有ファイルシステムが正常にマウントされていることを確認します。

    $ df -h

3.3. ファイアウォールサービスの有効化

高可用性 Ansible Automation Hub 環境の一部として共有ファイルシステムを使用する必要があるため、ファイルシステムが正常にマウントされるように、次のファイアウォールサービスを有効にする必要があります。

各 Ansible Automation Hub ノードで、以下を行う必要があります。

  1. 次の firewalld サービス (nfsmountdrpc-bind) が有効になっていることを確認します。

    # firewall-cmd --zone=public --add-service=nfs
    # firewall-cmd --zone=public --add-service=mountd
    # firewall-cmd --zone=public --add-service=rpc-bind
  2. 変更を有効にするには、firewalld をリロードします。

    # firewall-cmd --reload
  3. firewalld サービスが有効になっていることを確認します。

    # firewall-cmd --get-services

第4章 Private Automation Hub のコレクションおよびコンテンツ署名

組織の自動化管理者は、組織内の異なるグループから Ansible コンテンツコレクションの署名および公開用にPrivate Automation Hub を設定できます。

セキュリティーを強化するために、自動化作成者は Ansible-Galaxy CLI を設定してこのコレクションを検証し、Automation Hub へのアップロード後に変更されていないことを確認できます。

4.1. Private Automation Hub でのコンテンツ署名の設定

Ansible 認定コンテンツコレクションを正常に署名して公開するには、署名する Private Automation Hub を設定する必要があります。

前提条件

  • GnuPG キーペアがセキュアに設定され、組織で管理されている。
  • 公開鍵と秘密鍵のペアには、Private Automation Hub でコンテンツ署名を設定するのに適切なアクセスがある。

手順

  1. ファイル名のみを受け入れる署名スクリプトを作成します。

    注記

    このスクリプトは署名サービスとして機能し、PULP_SIGNING_KEY_FINGERPRINT 環境変数で指定されたキーを使用して、そのファイルの ascii-armored 分離 gpg 署名を生成する必要があります。

    次に、スクリプトは、以下の形式で JSON 構造を出力します。

    {"file": "filename", "signature": "filename.asc"}

    すべてのファイル名は、現在の作業ディレクトリー内の相対パスです。ファイル名は、以下に示すようにデタッチされた署名と同じである必要があります。

    以下の例は、コンテンツの署名を生成するスクリプトを示しています。

    #!/usr/bin/env bash
    
    FILE_PATH=$1
    SIGNATURE_PATH="$1.asc"
    
    ADMIN_ID="$PULP_SIGNING_KEY_FINGERPRINT"
    PASSWORD="password"
    
    # Create a detached signature
    gpg --quiet --batch --pinentry-mode loopback --yes --passphrase \
       $PASSWORD --homedir ~/.gnupg/ --detach-sign --default-key $ADMIN_ID \
       --armor --output $SIGNATURE_PATH $FILE_PATH
    
    # Check the exit status
    STATUS=$?
    if [ $STATUS -eq 0 ]; then
       echo {\"file\": \"$FILE_PATH\", \"signature\": \"$SIGNATURE_PATH\"}
    else
       exit $STATUS
    fi

    署名が有効なプライベート Automation Hub を Ansible Automation Platform クラスターにデプロイした後、コレクションを操作すると、新しい UI が追加されたことが表示されます。

  2. automationhub_* で始まるオプションについては、Ansible Automation Platform インストーラーのインベントリーファイルを確認してください。

    [all:vars]
    .
    .
    .
    automationhub_create_default_collection_signing_service = True
    automationhub_auto_sign_collections = True
    automationhub_require_content_approval = True
    automationhub_collection_signing_service_key = /abs/path/to/galaxy_signing_service.gpg
    automationhub_collection_signing_service_script = /abs/path/to/collection_signing.sh

    2 つの新しいキー (automationhub_auto_sign_collections および automationhub_require_content_approval) は、コレクションに署名する必要があり、Private Automation Hub へのアップロード後に承認が必要であることを示しています。

4.2. Private Automation Hub でのコンテンツ署名サービスの使用

Private Automation Hub でコンテンツ署名を設定したら、新しいコレクションに手動で署名するか、既存の署名を新しい署名に置き換えることができ、特定のコレクションをダウンロードする場合に、確実にそのコレクションが自分のものであることが、認定後に変更されていないことが分かります。

Private Automation Hub のコンテンツ署名は、以下のシナリオのソリューションを提供します。

  • システムに自動署名が設定されていないため、手動署名プロセスを使用してコレクションに署名する必要がある場合。
  • 自動設定されたコレクションの現在の署名が破損しているため、新規署名に置き換える必要がある場合。
  • 以前に署名されたコンテンツに追加の署名が必要な場合。
  • コレクションで署名をローテーションする必要がある場合。

手順

  1. Automation Hub UI でPrivate Automation Hub インスタンスにログインします。
  2. 左側のナビゲーションで、コレクション承認 をクリックします。Approval ダッシュボードがコレクションのリストと共に表示されます。
  3. 署名するコレクションごとに、Sign and approve をクリックします。
  4. 署名および手動で承認されたコレクションが Collections タブに表示されていることを確認します。

4.3. 署名公開鍵のダウンロード

コレクションに署名して承認したら、Automation HubUI から署名公開キーをダウンロードします。公開鍵は、ローカルシステムのキーリングに追加する前にダウンロードする必要があります。

手順

  1. Automation Hub UI でPrivate Automation Hub インスタンスにログインします。
  2. ナビゲーションペインで、Signature Keys を選択します。署名キーダッシュボードには、複数のキー (コレクションとコンテナーイメージ) のリストが表示されます。

    • コレクションを確認するには、collections- で始まるキーをダウンロードします。
    • コンテナーイメージを確認するには、container- で始まるキーをダウンロードします。
  3. 次のいずれかの方法を選択して、公開鍵をダウンロードします。

    • メニューアイコンを選択し、Download Key をクリックして公開キーをダウンロードします。
    • リストから公開鍵を選択し、Copy to clipboard アイコンをクリックします。
    • Public Key タブの下のドロップダウンメニューをクリックし、公開鍵ブロック全体をコピーします。

コピーした公開鍵を使用して、インストールするコンテンツコレクションを確認します。

4.4. コレクションを検証するための Ansible-Galaxy CLI の設定

Ansible-Galaxy CLI を設定して、コレクションを検証することができます。これにより、ダウンロードしたコレクションは組織によって承認され、Automation Hub にアップロードされた後に変更されません。

コレクションが Automation Hub によって署名されている場合に、サーバーは ASCII 版の GPG 割り当て解除署名を提供して、コレクションのコンテンツを検証する前に MANIFEST.json の信頼性を検証します。ansible-galaxyキーリングを設定する か、--keyring オプションでパスを指定して、署名検証をオプトインする必要があります。

前提条件

  • 署名付きコレクションが Automation Hub で署名を検証するために利用できる。
  • 認定コレクションが組織内の承認済みのロールによって署名できる。
  • 検証用の公開鍵がローカルシステムキーリングに追加されている。

手順

  1. ansible-galaxy で使用するデフォルト以外のキーリングに公開鍵をインポートするには、以下のコマンドを実行します。

    gpg --import --no-default-keyring --keyring ~/.ansible/pubring.kbx my-public-key.asc
    注記

    Automation Hub が提供する署名のほかに、署名ソースは要件ファイルとコマンドラインで指定することもできます。署名ソースは URI である必要があります。

  2. --signature オプションを使用して、CLI で提供されたコレクション名を追加の署名で検証します。

    ansible-galaxy collection install namespace.collection
    --signature https://examplehost.com/detached_signature.asc
    --signature file:///path/to/local/detached_signature.asc --keyring ~/.ansible/pubring.kbx

    このオプションを複数回使用して、複数の署名を指定できます。

  3. 以下の例のように、要件ファイルのコレクションに、コレクションの署名キーの後に追加の署名ソースが表示されていることを確認します。

    # requirements.yml
    collections:
      - name: ns.coll
        version: 1.0.0
        signatures:
          - https://examplehost.com/detached_signature.asc
          - file:///path/to/local/detached_signature.asc
    
    ansible-galaxy collection verify -r requirements.yml --keyring ~/.ansible/pubring.kbx

    Automation Hub からコレクションをインストールすると、サーバーが提供する署名はインストールされたコレクションと共に保存され、コレクションの信頼性を検証します。

  4. (オプション) Ansible Galaxy サーバーにクエリーを実行せずにコレクションの内部整合性を再度確認する必要がある場合は、--offline オプションを使用して、以前に使用したのと同じコマンドを実行します。

第5章 Red Hat Ansible Certified Content に関するよくある質問

以下は、Red Hat Ansible Automation Platform 認定プログラムに関するよくある質問のリストです。以下の項目について質問がある場合は、ansiblepartners@redhat.com に電子メールを送信してください。

5.1. Ansible コレクションを認定する理由

Ansible 認定プログラムにより、Red Hat とエコシステムパートナーの間で Red Hat Ansible Certified Content のサポートについて共同で対応できるようになりました。Ansible および認定パートナーのコンテンツで問題が発生しているエンドカスタマーは、情報のリクエストや Red Hat の問題などのサポートチケットを作成し、Red Hat およびエコシステムパートナーによってチケットが解決されることを期待できます。

Red Hat は、認定パートナー企業が市場の認知度を高め、需要を創出し、共同販売を行えるような市場参入の利益を提供します。

Red Hat Ansible Certified Content Collections は、Ansible Automation Hub (サブスクリプションが必要) を通じて配布されます。これは、共同でサポートされる Ansible コンテンツの集中型リポジトリーです。認定パートナーとして、コレクションを Ansible automation hub にパブリッシュすることで、エンドユーザーは、信頼できるオートメーションコンテンツが、周知されているサポートライフサイクルで、実稼働環境で使用される方法を管理できます。

ソリューションの認定を開始する方法の詳細は、Red Hat Partner Connect を参照してください。

5.2. コレクションの認定を受ける方法

コレクションを認定する方法については、Red Hat Partner Connect の Ansible 認定ポリシーガイドを参照してください。

5.3. Ansible Galaxy と Ansible automation hub の相違点

Ansible Galaxy に公開されたコレクションは、Ansible コミュニティーにより公開された最新のコンテンツであり、関連する共同サポートの要求はありません。Ansible Galaxy は、すべてのコンテンツにアクセスする Ansible コミュニティーで推奨されるフロントエンドディレクトリーです。

Ansible automation hub にパブリッシュされたコレクションは、Red Hat と厳選されたパートナーの共同顧客を対象としています。Ansible Automation Hub のコレクションにアクセスしてダウンロードするには、Ansible サブスクリプションが必要です。認定コレクションとは、Red Hat とパートナーが適所に戦略的関係を築いており、共同してお客様をサポートする準備ができており、そのために追加のテストと検証が行われた可能性があることを意味します。

5.4. Ansible Galaxy で名前空間をリクエストする方法

Ansible Galaxy GitHub の問題を通じて名前空間をリクエストした後、ansiblepartners@redhat.com に電子メールを送信します。Ansible Galaxy にサインアップするために使用した GitHub ユーザー名を提供する必要があります。また、検証するシステムに少なくとも一度はログインしていることが必要です。ユーザーが名前空間の管理者として追加されると、セルフサービスプロセスによって追加の管理者を追加できます。

5.5. Ansible Galaxy 名前空間の命名制限

コレクションの名前空間は、Python モジュール名の規則に従う必要があります。つまり、コレクションにはすべて小文字の短い名前を付ける必要があります。読みやすさが向上する場合は、コレクション名にアンダースコアを使用できます。

5.6. コレクションの命名に関する推奨事項

一般的な提案は、company_name.product 形式でコレクションを作成することです。このようにして、複数の製品が会社の名前空間の下で異なるコレクションを持つ場合があります。

5.7. Ansible Automation Hub で名前空間を取得する方法

デフォルトでは、Ansible Galaxy で使用される名前空間は、Ansible パートナーチームによって Ansible Automation Hub でも使用されます。質問や説明については、ansiblepartners@redhat.com までお問い合わせください。

5.8. コレクションで健全性テストを実行する方法

Ansible 健全性テストは、静的なコード分析の実行に使用されるスクリプトとツールで設定されています。これらのテストの主な目的は、Ansible コーディングの仕様および要件を適用することです。Ansible コレクションは、次の例のように特定のパスにある必要があります。

{...}/ansible_collections/{namespace}/{collection}/

コレクションがその特定のパスにあり、3 つのディレクトリーがあることを確認します。

  • ansible_collections という名前の空のディレクトリー
  • 名前空間のディレクトリー
  • コレクション自体のディレクトリー

5.9. Ansible Galaxy にはコレクションのソースコードが格納されているか

いいえ、Ansible Galaxy にはコレクションのソースはありません。実際のコレクションソースは、GitHub などの Ansible Galaxy の外部に置く必要があります。Ansible Galaxy には、コレクションをパブリッシュするためのコレクションビルド tarball が含まれています。コレクションに含まれる galaxy.yml ファイルに、コミュニティーユーザーのソースへのリンクを含めることができます。これは、ユーザーがコレクションに貢献したり、それに対する問題をファイルしたりしたい場合にどこに行くべきかを示しています。

5.10. Red Hat は Ansible Galaxy からダウンロードおよびインストールされたコレクションを正式にサポートしているか

いいえ。Galaxy からダウンロードしたコレクションにはサポート対応しておらず、コミュニティーが 100% サポートしています。このようなコレクションのユーザーおよび貢献者は、コレクションの開発者に直接連絡する必要があります。

5.11. 認定コレクションに関する共同サポート契約はどのような仕組みか

お客様が認定コレクションに関して Red Hat サポートチームに問題を提起した場合は、Red Hat サポートが問題を評価し、問題が Ansible または Ansible の使用に存在するかどうかを確認します。また、問題が認定コレクションにあるかどうかも確認します。認定コレクションに問題がある場合は、サポートチームが、TSANet などの合意されたツールを通じて、認定コレクションのベンダー企業側所有者に問題を転送します。

5.12. Ansible ロールのみを含むコレクションを作成して認定できるか

ロールのみを含むコレクションを作成および認定できます。現在のテスト要件は、モジュールを含むコレクションに集中しており、ロールのみを含むコレクションをテストするための追加のリソースが現在進行中です。詳細は、ansiblepartners@redhat.com までお問い合わせください。

第6章 Ansible 検証済みコンテンツ

Red Hat Ansible Automation Platform には、既存の Red Hat Ansible Certified Content を補完する Ansible 検証済みコンテンツが含まれています。

Ansible の検証済みコンテンツは、Red Hat と信頼できるパートナーの両方を含むさまざまなプラットフォームで運用タスクを実行するためのエキスパート主導のパスを提供します。

6.1. インストーラーを使用した検証済みコレクションの設定

バンドルインストーラーをダウンロードして実行すると、認定および検証済みのコレクションが自動的にアップロードされます。認定コレクションは、rh-certified リポジトリーにアップロードされます。検証済みのコレクションは、validated のリポジトリーにアップロードされます。

次の 2 つの変数を使用して、既定の設定に変更できます。

Name説明

automationhub_seed_collections

プリロードを有効にするかどうかを定義するブール値。

automationhub_collection_seed_repository

automationhub_seed_collectionstrue に設定されている場合は、この変数を使用して、アップロードするコンテンツのタイプを指定できます。指定できる値は certified または validated です。両方のコンテンツセットが欠落している場合は、アップロードされます。

6.2. tarball を使用した検証済みコンテンツのインストール

バンドルインストーラーを使用していない場合は、代わりにスタンドアロンの tarball ansible-validated-content-bundle-1.tar.gz を使用できます。スタンドアロンの tarball は、新しい tarball が利用可能になったときに、バンドルインストーラーを再実行することなく、後で任意の環境で検証済みのコンテンツを更新するために使用することもできます。

tarball を取得するには、Red Hat Ansible Automation Platform のダウンロード ページに移動し、Ansible Validated Content を選択します。

Playbook を実行するには次の変数が必要です。

Name説明

automationhub_admin_password

管理者のパスワード。

automationhub_api_token

Automation Hub 用に生成された API トークン。

automationhub_main_url

例: https://automationhub.example.com

automationhub_require_content_approval

ブール値 (true または false)

これは、Automation Hub のデプロイメント中に使用される値と一致する必要があります。

この変数はインストーラーによって true に設定されます。

注記

automationhub_admin_password または automationhub_api_token の両方ではなく、いずれかを使用します。

コンテンツをアップロードし、変数を定義します (この例では automationhub_api_token を使用します)。

ansible-playbook collection_seed.yml
-e automationhub_api_token=<api_token>
-e automationhub_main_url=https://automationhub.example.com
-e automationhub_require_content_approval=true

ansible Playbook の実行の詳細は、ansible-playbook を参照してください。

完了すると、コレクションは Private Automation Hub の検証済みコレクションセクションに表示されます。

第7章 まとめ

前の手順をすべて完了すると、次のようになります。

  • Red Hat Ansible Certified Content コンテンツの同期リストを作成した。
  • そのコンテンツを Private Automation Hub に同期した。
  • ユーザーに配布する Ansible Galaxy からコミュニティーコレクションを指定した。
  • Private Automation Hub でコンテンツ署名を設定した。
  • 組織の固有のニーズにあったコレクションを署名して承認した。
  • Ansible-Galaxy CLI を設定して、コレクションに署名する前に検証した。

ユーザーは、プライベート自動化ハブのコレクションコンテンツを表示し、ダウンロードできるようになりました。

法律上の通知

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.