Automation Hub でのリポジトリーの管理

Red Hat Ansible Automation Platform 2.4

Automation Hub でカスタムリポジトリーを作成および管理する

Red Hat Customer Content Services

概要

このガイドでは、Automation Hub のカスタムリポジトリー間でコンテンツを作成、編集、削除、および移動する方法を説明します。

はじめに

リポジトリー管理は Red Hat Automation Hub に含まれています。リポジトリーを作成、編集、変更、削除できます。

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

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 には、コンテンツを公開できる 2 種類のリポジトリーが含まれています。

ステージングリポジトリー
名前空間のアップロード権限を持つユーザーは、これらのリポジトリーにコンテンツを公開できます。これらのリポジトリー内のコンテンツは検索ページでは利用できませんが、管理者が確認できるように承認ダッシュボードに表示されます。
カスタムリポジトリー
リポジトリーに対する書き込み権限を持つユーザーは、これらのリポジトリーにコンテンツを公開できます。これらのリポジトリーは承認ダッシュボードには表示されません。これらは、リポジトリーの所有者によって検索が有効になっているかどうかに応じて、検索ページに表示されます。カスタムリポジトリーは、表示権限を持つユーザーのみが表示できるプライベートリポジトリーにすることも、すべてのユーザーが表示できるパブリックリポジトリーにすることもできます。

ステージングリポジトリーは、pipeline=staging ラベルでマークされます。デフォルトでは、Automation Hub には 1 つのステージングリポジトリーが付属しており、コレクションのアップロードにリポジトリーが指定されていない場合に自動的に使用されます。ただし、ユーザーは リポジトリーの作成 時に新しいステージングリポジトリーを作成できます。

1.1. 承認パイプライン

Automation Hub を使用すると、pipeline=approved ラベルが付いている任意のリポジトリーへのコレクションを承認できます。デフォルトでは、Automation Hub には承認されたコンテンツ用のリポジトリーが 1 つ付属していますが、リポジトリー作成画面からさらにリポジトリーを追加するオプションもあります。このラベルが付いているリポジトリーは直接公開できず、コレクションはステージングリポジトリーの 1 つから取得する必要があります。

自動承認
自動承認が有効になっている場合は、ステージングリポジトリーにアップロードされたコレクションが pipeline=approved としてマークされたすべてのリポジトリーに自動的にプロモートされます。
必須承認

管理者が承認ダッシュボードに移動すると、ステージングリポジトリーのいずれかにアップロードされたコレクションを確認できます。ここから、承認ボタンが表示されます。Approve をクリックすると、承認されたリポジトリーのリストが表示されます。管理者は、このリストから、コンテンツをプロモートする先の 1 つ以上のリポジトリーを選択できます。

承認されたリポジトリーが 1 つだけ存在する場合は、コレクションが自動的にそのリポジトリーに移動し、管理者はリポジトリーを選択するように求められません。

拒否
拒否されたコレクションは、事前にインストールされた拒否されたリポジトリーに自動的に配置されます。

1.2. ロールベースのアクセス制御

ロールベースのアクセス制御 (RBAC) は、定義されたロールに基づいてカスタムリポジトリーへのユーザーアクセスを制限します。デフォルトでは、ユーザーは Automation Hub 内のすべてのパブリックリポジトリーを表示できますが、明示的な権限がない限り変更することはできません。これはリポジトリー上の他の操作でも同様です。たとえば、ユーザーの権限を削除すると、ユーザーはカスタムリポジトリーからコンテンツをダウンロードできなくなります。Automation Hub でのユーザーアクセスの管理に関する詳細は、ローカル Automation Hub のユーザーアクセスの設定 を参照してください。

1.3. 基本的なリポジトリー管理

基本的なリポジトリー管理を使用すると、リポジトリー間でコンテンツを作成、編集、削除、移動できます。

1.3.1. リポジトリーの作成

この手順を使用してリポジトリーを作成します。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. Automation HubRepositories に移動します。
  3. Add repository をクリックします。
  4. Repository name を入力します。
  5. リポジトリーの目的を示す Description を入力します。
  6. 変更を加えるたびにリポジトリーの以前のバージョンを保持するには、Retained number of versions を選択します。保持されるバージョンの数は、0 から無制限までの範囲で指定できます。すべてのバージョンを保存するには、これを null に設定したままにします。

    注記

    カスタムリポジトリーへの変更で問題が発生した場合は、保持されたバージョンを使用して、別のリポジトリーバージョンに戻す ことができます。

  7. リポジトリーの Pipeline を選択します。使用可能なオプションには次のものがあります。

    ステージング環境
    誰でもコンテンツをリポジトリーに公開できます。
    承認済
    このリポジトリーに追加されるものはすべて、ステージングリポジトリーを介して承認プロセスを通過する必要があります。自動承認が有効になっていると、ステージングリポジトリーにアップロードされたコレクションは、承認されたすべてのリポジトリーに自動的にプロモートされます。
    なし
    リポジトリーに対する権限を持つユーザーは誰でもリポジトリーに直接公開できますが、これは承認パイプラインの一部ではありません。
  8. 検索結果からリポジトリーを非表示にするには、Hide from search を選択します。これはデフォルトで選択されています。
  9. リポジトリーをプライベートにするには、Make private を選択します。これにより、リポジトリーを表示する権限を持たない人に対してリポジトリーが非表示になります。
  10. リモートからこのリポジトリーにコンテンツを同期するには、Remote を選択し、カスタムリポジトリーに含めるコンテンツを含むリモートを選択します。詳細は、リポジトリーの同期 を参照してください。
  11. Save をクリックします。

    リポジトリーが作成されると、詳細ページが表示されます。

    ここから、リポジトリーへのアクセスを提供したり、コレクションを確認または追加したり、カスタムリポジトリーの保存されたバージョンを操作したりできます。

1.3.2. リポジトリーへのアクセスを提供する

デフォルトでは、プライベートリポジトリーとコンテンツはシステム内のすべてのユーザーに対して非表示になります。パブリックリポジトリーはすべてのユーザーが表示できますが、変更することはできません。この手順を使用して、カスタムリポジトリーへのアクセスを提供します。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. Automation HubRepositories に移動します。
  3. リスト内でリポジトリーを見つけて、 more actions をクリックし、Edit を選択します。
  4. Access タブを選択します。
  5. Repository owners のグループを選択します。

    ユーザーアクセスの実装に関する詳細は、ローカル Automation Hub のユーザーアクセスの設定 を参照してください。

  6. 選択したグループに割り当てるロールを選択します。
  7. Save をクリックします。

1.3.3. リポジトリーへのコレクションの追加

リポジトリーが作成されたら、リポジトリーへのコレクションの追加を開始できます。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. Automation HubRepositories に移動します。
  3. リスト内でリポジトリーを見つけて、 more actions をクリックし、Edit を選択します。
  4. Collections version タブを選択します。
  5. Add Collection をクリックし、リポジトリーに追加するコレクションを選択します。
  6. Select をクリックします。

1.3.4. 別のリポジトリーバージョンに戻す

コンテンツがリポジトリーに追加またはリポジトリーから削除されると、その新しいバージョンが作成されます。カスタムリポジトリーへの変更で問題が発生した場合は、以前のバージョンに戻すことができます。元に戻すことは安全な操作であり、システムからコンテンツを削除するのではなく、リポジトリーに関連付けられたコンテンツを変更します。保存されるバージョンの数は 、リポジトリーの作成 時に 保持されるバージョンの数 設定で定義されます。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. Automation HubRepositories に移動します。
  3. リスト内でリポジトリーを見つけて、 more actions をクリックし、Edit を選択します。
  4. ロールバックしたいバージョンを見つけて、 more actions をクリックし、Revert to this version を選択します。
  5. Revert をクリックします。

第2章 リモート管理

Automation Hub を実行している任意のサーバーにリモート設定をセットアップできます。リモート設定を使用すると、外部コレクションソースからカスタムリポジトリーにコンテンツを同期できます。

2.1. 基本的なリモート管理

基本的なリモート管理を使用すると、外部コレクションソースへのリモート設定を作成し、それらのコレクションのコンテンツをカスタムリポジトリーに同期できます。

2.1.1. リモートを作成する

この手順を使用して、外部コレクションへのリモート設定を作成します。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. Automation HubRemotes に移動します。
  3. Add Remote をクリックします。
  4. リモート設定の Name を入力します。
  5. 特定のリポジトリーのパスを含む、リモートサーバーの URL を入力します。

    注記

    この情報を取得するには、Automation HubRepositories に移動し、リポジトリーを選択して、Copy CLI configuration をクリックします。

  6. 外部コレクションへのアクセスに必要な Token または UsernamePassword を入力して、リモートサーバーへの認証情報を設定します。

    注記

    トークンは、Automation HubAPI token に移動し、Load token をクリックして、ロードされたトークンをコピーすることで生成できます。

  7. console.redhat.com からコレクションにアクセスするには、SSO URL を入力してアイデンティティプロバイダー (IdP) にサインインします。
  8. YAML 要件 ファイルを選択または作成して、カスタムリポジトリーと同期するコレクションとバージョン範囲を特定します。たとえば、kubernetes と AWS コレクションのバージョン 5.0.0 以降のみをダウンロードする場合、要件ファイルは次のようになります。

    Collections:
     	  - name: community.kubernetes
    	  - name: community.aws
     		version:”>=5.0.0”
    注記

    すべてのコレクションの依存関係は、同期プロセス中に自動的にダウンロードされます。

  9. リモコンをさらに設定するには、Advanced configuration で利用可能なオプションを使用します。

    1. 組織に企業プロキシーが設定されている場合は、Proxy URLProxy Username、および Proxy Password を入力します。
    2. TLS validation チェックボックスを使用して、トランスポート層セキュリティーを有効または無効にします。
    3. 認証にデジタル証明書が必要な場合は、Client keyClient certificate を入力します。
    4. サーバーに自己署名 SSL 証明書を使用している場合は、認証に使用される PEM エンコードされたクライアント証明書を CA certificate フィールドに入力します。
    5. このリモートのコレクションをダウンロードできる速度を高速化するには、Download concurrency フィールドで同時にダウンロードできるコレクションの数を指定します。
    6. このリモートで 1 秒あたりのクエリー数を制限するには、Rate Limit を指定します。

      注記

      一部のサーバーには特定のレート制限が設定されており、それを超えると同期が失敗します。

2.1.2. リモートへのアクセスを提供する

リモートを作成した後、次の手順を実行してリモートへのアクセスを提供できます。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. Automation HubRemotes に移動します。
  3. リスト内でリポジトリーを見つけて、 more actions をクリックし、Edit を選択します。
  4. Access タブを選択します。
  5. Repository owners のグループを選択します。ユーザーアクセスの実装に関する詳細は、ローカル Automation Hub のユーザーアクセスの設定 を参照してください。
  6. 選択したグループに適切なロールを選択します。
  7. Save をクリックします。

第3章 リポジトリーの同期

ある Automation Hub から別のオートメーションハブにリポジトリーを同期することで、関連するコレクションコンテンツをユーザーに配布できます。最新のコレクション更新を確実に入手するには、カスタムリポジトリーをリモートと同期する必要があります。

3.1. 基本的なリポジトリー同期

この手順を使用して、ある Automation Hub インスタンスから別のオートメーションハブインスタンスにリポジトリーを同期します。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. Automation HubRepositories に移動します。
  3. リスト内でリポジトリーを見つけて、Sync をクリックします。

    設定されたリモート内のすべてのコレクションがカスタムリポジトリーにダウンロードされます。コレクションの同期のステータスを確認するには、ナビゲーションパネルから Task Management を選択します。

    注記

    リポジトリーの同期をリモート内の特定のコレクションに制限するには、requirements.yml ファイルを使用してプルする特定のコレクションを指定します。詳細は、リモートの作成 を参照してください。

関連情報

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

第4章 コレクションのエクスポートとインポート

Ansible Automation Hub は、コレクションをリポジトリー内に保存します。これらのコレクションは Curator によってバージョン管理されるため、同じコレクションの多くのバージョンが同じまたは異なるリポジトリーに同時に存在することができます。

コレクションは、インポートおよびエクスポートできる tar ファイルとして保存されます。これにより、新しいリポジトリーにインポートするコレクションが、最初に作成されエクスポートされたものと同じであることが保証されます。

4.1. コレクションをエクスポートする

コレクションが完成したら、新しい宛先に配信したり、組織内の他のユーザーに配布したりできます。コレクションをエクスポートするには、次の手順を使用します。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. Automation HubCollections に移動します。コレクションページには、すべてのリポジトリーのすべてのコレクションが表示され、特定のコレクションを検索できます。
  3. エクスポートするコレクションを選択します。コレクションの詳細ページが表示されます。
  4. Installation タブから、Download tarball を選択します。tar ファイルはデフォルトのブラウザーのダウンロードフォルダーにダウンロードされ、選択した場所にインポートできるようになります。

4.2. コレクションをインポートする

カスタムリポジトリーで使用するためにコレクションをインポートするには、コレクションを名前空間にインポートして承認する必要があります。コレクションが承認されていない場合は、コレクションが公開リポジトリーに表示されません。

手順

  1. Red Hat Ansible Automation Platform にログインします。
  2. Automation HubNamespaces に移動します。名前空間ページには、使用可能なすべての名前空間が表示されます。
  3. View Collections をクリックします。
  4. Upload Collection をクリックします。
  5. コレクションの tarball ファイルに移動し、ファイルを選択して、Open をクリックします。
  6. Upload をクリックします。

    My Imports 画面には、テストの概要が表示され、コレクションが正常にアップロードされたか失敗したかを通知します。

    注記

    コレクションをリポジトリーに追加するには、事前に承認を受ける必要があります。コレクションとリポジトリーの承認の詳細は、承認パイプライン を参照してください。

法律上の通知

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.