Automation Hub でのリポジトリーの管理
Automation Hub でカスタムリポジトリーを作成および管理する
概要
はじめに
リポジトリー管理は Red Hat Automation Hub に含まれています。リポジトリーを作成、編集、変更、削除できます。
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
Red Hat ドキュメントへのフィードバック (英語のみ)
技術的な内容に関するフィードバックをお寄せいただきありがとうございます。皆様のご意見をお待ちしています。コメントの追加、Insights の提供、誤字の修正、および質問を行う必要がある場合は、ドキュメントで直接行うこともできます。
Red Hat アカウントがあり、カスタマーポータルにログインしている必要があります。
カスタマーポータルからドキュメントのフィードバックを送信するには、以下の手順を実施します。
- Multi-page HTML 形式を選択します。
- ドキュメントの右上にある Feedback ボタンをクリックします。
- フィードバックを提供するテキストのセクションを強調表示します。
- 強調表示されたテキストの横にある Add Feedback ダイアログをクリックします。
- ページの右側のテキストボックスにフィードバックを入力し、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. リポジトリーの作成
この手順を使用してリポジトリーを作成します。
手順
- Red Hat Ansible Automation Platform にログインします。
- Automation Hub → Repositories に移動します。
- Add repository をクリックします。
- Repository name を入力します。
- リポジトリーの目的を示す Description を入力します。
変更を加えるたびにリポジトリーの以前のバージョンを保持するには、Retained number of versions を選択します。保持されるバージョンの数は、0 から無制限までの範囲で指定できます。すべてのバージョンを保存するには、これを null に設定したままにします。
注記カスタムリポジトリーへの変更で問題が発生した場合は、保持されたバージョンを使用して、別のリポジトリーバージョンに戻す ことができます。
リポジトリーの Pipeline を選択します。使用可能なオプションには次のものがあります。
- ステージング環境
- 誰でもコンテンツをリポジトリーに公開できます。
- 承認済
- このリポジトリーに追加されるものはすべて、ステージングリポジトリーを介して承認プロセスを通過する必要があります。自動承認が有効になっていると、ステージングリポジトリーにアップロードされたコレクションは、承認されたすべてのリポジトリーに自動的にプロモートされます。
- なし
- リポジトリーに対する権限を持つユーザーは誰でもリポジトリーに直接公開できますが、これは承認パイプラインの一部ではありません。
- 検索結果からリポジトリーを非表示にするには、Hide from search を選択します。これはデフォルトで選択されています。
- リポジトリーをプライベートにするには、Make private を選択します。これにより、リポジトリーを表示する権限を持たない人に対してリポジトリーが非表示になります。
- リモートからこのリポジトリーにコンテンツを同期するには、Remote を選択し、カスタムリポジトリーに含めるコンテンツを含むリモートを選択します。詳細は、リポジトリーの同期 を参照してください。
Save をクリックします。
リポジトリーが作成されると、詳細ページが表示されます。
ここから、リポジトリーへのアクセスを提供したり、コレクションを確認または追加したり、カスタムリポジトリーの保存されたバージョンを操作したりできます。
1.3.2. リポジトリーへのアクセスを提供する
デフォルトでは、プライベートリポジトリーとコンテンツはシステム内のすべてのユーザーに対して非表示になります。パブリックリポジトリーはすべてのユーザーが表示できますが、変更することはできません。この手順を使用して、カスタムリポジトリーへのアクセスを提供します。
手順
- Red Hat Ansible Automation Platform にログインします。
- Automation Hub → Repositories に移動します。
-
リスト内でリポジトリーを見つけて、
をクリックし、Edit を選択します。
- Access タブを選択します。
Repository owners のグループを選択します。
ユーザーアクセスの実装に関する詳細は、ローカル Automation Hub のユーザーアクセスの設定 を参照してください。
- 選択したグループに割り当てるロールを選択します。
- Save をクリックします。
1.3.3. リポジトリーへのコレクションの追加
リポジトリーが作成されたら、リポジトリーへのコレクションの追加を開始できます。
手順
- Red Hat Ansible Automation Platform にログインします。
- Automation Hub → Repositories に移動します。
-
リスト内でリポジトリーを見つけて、
をクリックし、Edit を選択します。
- Collections version タブを選択します。
- Add Collection をクリックし、リポジトリーに追加するコレクションを選択します。
- Select をクリックします。
1.3.4. 別のリポジトリーバージョンに戻す
コンテンツがリポジトリーに追加またはリポジトリーから削除されると、その新しいバージョンが作成されます。カスタムリポジトリーへの変更で問題が発生した場合は、以前のバージョンに戻すことができます。元に戻すことは安全な操作であり、システムからコンテンツを削除するのではなく、リポジトリーに関連付けられたコンテンツを変更します。保存されるバージョンの数は 、リポジトリーの作成 時に 保持されるバージョンの数 設定で定義されます。
手順
- Red Hat Ansible Automation Platform にログインします。
- Automation Hub → Repositories に移動します。
-
リスト内でリポジトリーを見つけて、
をクリックし、Edit を選択します。
-
ロールバックしたいバージョンを見つけて、
をクリックし、Revert to this version を選択します。
- Revert をクリックします。
第2章 リモート管理
Automation Hub を実行している任意のサーバーにリモート設定をセットアップできます。リモート設定を使用すると、外部コレクションソースからカスタムリポジトリーにコンテンツを同期できます。
2.1. 基本的なリモート管理
基本的なリモート管理を使用すると、外部コレクションソースへのリモート設定を作成し、それらのコレクションのコンテンツをカスタムリポジトリーに同期できます。
2.1.1. リモートを作成する
この手順を使用して、外部コレクションへのリモート設定を作成します。
手順
- Red Hat Ansible Automation Platform にログインします。
- Automation Hub → Remotes に移動します。
- Add Remote をクリックします。
- リモート設定の Name を入力します。
特定のリポジトリーのパスを含む、リモートサーバーの URL を入力します。
注記この情報を取得するには、Automation Hub → Repositories に移動し、リポジトリーを選択して、Copy CLI configuration をクリックします。
外部コレクションへのアクセスに必要な Token または Username と Password を入力して、リモートサーバーへの認証情報を設定します。
注記トークンは、Automation Hub → API token に移動し、Load token をクリックして、ロードされたトークンをコピーすることで生成できます。
- console.redhat.com からコレクションにアクセスするには、SSO URL を入力してアイデンティティプロバイダー (IdP) にサインインします。
YAML 要件 ファイルを選択または作成して、カスタムリポジトリーと同期するコレクションとバージョン範囲を特定します。たとえば、kubernetes と AWS コレクションのバージョン 5.0.0 以降のみをダウンロードする場合、要件ファイルは次のようになります。
Collections: - name: community.kubernetes - name: community.aws version:”>=5.0.0”
注記すべてのコレクションの依存関係は、同期プロセス中に自動的にダウンロードされます。
リモコンをさらに設定するには、Advanced configuration で利用可能なオプションを使用します。
- 組織に企業プロキシーが設定されている場合は、Proxy URL、Proxy Username、および Proxy Password を入力します。
- TLS validation チェックボックスを使用して、トランスポート層セキュリティーを有効または無効にします。
- 認証にデジタル証明書が必要な場合は、Client key と Client certificate を入力します。
- サーバーに自己署名 SSL 証明書を使用している場合は、認証に使用される PEM エンコードされたクライアント証明書を CA certificate フィールドに入力します。
- このリモートのコレクションをダウンロードできる速度を高速化するには、Download concurrency フィールドで同時にダウンロードできるコレクションの数を指定します。
このリモートで 1 秒あたりのクエリー数を制限するには、Rate Limit を指定します。
注記一部のサーバーには特定のレート制限が設定されており、それを超えると同期が失敗します。
2.1.2. リモートへのアクセスを提供する
リモートを作成した後、次の手順を実行してリモートへのアクセスを提供できます。
手順
- Red Hat Ansible Automation Platform にログインします。
- Automation Hub → Remotes に移動します。
-
リスト内でリポジトリーを見つけて、
をクリックし、Edit を選択します。
- Access タブを選択します。
- Repository owners のグループを選択します。ユーザーアクセスの実装に関する詳細は、ローカル Automation Hub のユーザーアクセスの設定 を参照してください。
- 選択したグループに適切なロールを選択します。
- Save をクリックします。
第3章 リポジトリーの同期
ある Automation Hub から別のオートメーションハブにリポジトリーを同期することで、関連するコレクションコンテンツをユーザーに配布できます。最新のコレクション更新を確実に入手するには、カスタムリポジトリーをリモートと同期する必要があります。
3.1. 基本的なリポジトリー同期
この手順を使用して、ある Automation Hub インスタンスから別のオートメーションハブインスタンスにリポジトリーを同期します。
手順
- Red Hat Ansible Automation Platform にログインします。
- Automation Hub → Repositories に移動します。
リスト内でリポジトリーを見つけて、Sync をクリックします。
設定されたリモート内のすべてのコレクションがカスタムリポジトリーにダウンロードされます。コレクションの同期のステータスを確認するには、ナビゲーションパネルから Task Management を選択します。
注記リポジトリーの同期をリモート内の特定のコレクションに制限するには、requirements.yml ファイルを使用してプルする特定のコレクションを指定します。詳細は、リモートの作成 を参照してください。
関連情報
要件ファイルの使用の詳細は、Galaxy ユーザーガイドの 要件ファイルを使用した複数のコレクションのインストール を参照してください。
第4章 コレクションのエクスポートとインポート
Ansible Automation Hub は、コレクションをリポジトリー内に保存します。これらのコレクションは Curator によってバージョン管理されるため、同じコレクションの多くのバージョンが同じまたは異なるリポジトリーに同時に存在することができます。
コレクションは、インポートおよびエクスポートできる tar ファイルとして保存されます。これにより、新しいリポジトリーにインポートするコレクションが、最初に作成されエクスポートされたものと同じであることが保証されます。
4.1. コレクションをエクスポートする
コレクションが完成したら、新しい宛先に配信したり、組織内の他のユーザーに配布したりできます。コレクションをエクスポートするには、次の手順を使用します。
手順
- Red Hat Ansible Automation Platform にログインします。
- Automation Hub → Collections に移動します。コレクションページには、すべてのリポジトリーのすべてのコレクションが表示され、特定のコレクションを検索できます。
- エクスポートするコレクションを選択します。コレクションの詳細ページが表示されます。
- Installation タブから、Download tarball を選択します。tar ファイルはデフォルトのブラウザーのダウンロードフォルダーにダウンロードされ、選択した場所にインポートできるようになります。
4.2. コレクションをインポートする
カスタムリポジトリーで使用するためにコレクションをインポートするには、コレクションを名前空間にインポートして承認する必要があります。コレクションが承認されていない場合は、コレクションが公開リポジトリーに表示されません。
手順
- Red Hat Ansible Automation Platform にログインします。
- Automation Hub → Namespaces に移動します。名前空間ページには、使用可能なすべての名前空間が表示されます。
- View Collections をクリックします。
- Upload Collection をクリックします。
- コレクションの tarball ファイルに移動し、ファイルを選択して、Open をクリックします。
Upload をクリックします。
My Imports 画面には、テストの概要が表示され、コレクションが正常にアップロードされたか失敗したかを通知します。
注記コレクションをリポジトリーに追加するには、事前に承認を受ける必要があります。コレクションとリポジトリーの承認の詳細は、承認パイプライン を参照してください。