Ansible plug-ins for Red Hat Developer Hub のインストール


Red Hat Ansible Automation Platform 2.4

Ansible plug-ins for Red Hat Developer Hub のインストールと設定

Red Hat Customer Content Services

概要

このガイドでは、ユーザーが Ansible を学習し、キュレートされたコレクションの詳細を理解して、自動化プロジェクトを開発できるように、Ansible plug-ins for Red Hat Developer Hub をインストールして設定する方法を説明します。

はじめに

Red Hat Ansible Automation Platform に興味をお持ちいただきありがとうございます。Ansible Automation Platform は、Ansible を装備した環境に、制御、ナレッジ、委譲の機能を追加して、チームが複雑かつ複数層のデプロイメントを管理できるように支援する商用サービスです。

このガイドでは、Ansible plug-ins for Red Hat Developer Hub をインストールする方法を説明します。このガイドの更新により、Ansible Automation Platform の最新リリースの情報が追加されました。

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

このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com からテクニカルサポートに連絡してリクエストを送信してください。

第1章 Ansible plug-ins for Red Hat Developer Hub

1.1. Red Hat Developer Hub

Red Hat Developer Hub (RHDH) は、開発者ポータルをビルドするために設計されたオープンな開発者プラットフォームです。

1.2. Ansible plug-ins for Red Hat Developer Hub

Ansible plug-ins for Red Hat Developer Hub は、Ansible ファーストの Red Hat Developer Hub のユーザーエクスペリエンスを提供し、すべてのスキルレベルの Ansible ユーザーの自動化エクスペリエンスを簡素化します。Ansible プラグインは、Ansible 学習者のオンボーディングを加速し、組織全体で Ansible ユースケースの導入を効率化するためのキュレートされたコンテンツと機能を提供します。

Ansible プラグインは以下を提供します。

  • Ansible ユーザー向けにカスタマイズされたホームページとナビゲーション。
  • Ansible を初めて使用するユーザーを支援するために、キュレートされた Ansible ラーニングパス。
  • ベストプラクティスに従う Ansible Playbook およびコレクションプロジェクトを作成するためのソフトウェアテンプレート。
  • 独自の設定を持つ、サポートされている開発環境とツールへのリンク。

1.3. アーキテクチャー

第2章 Helm チャートを使用した OpenShift Container Platform への Ansible プラグインのインストール

以下の手順では、Helm チャートを使用して Red Hat OpenShift Container Platform 上の Red Hat Developer Hub インスタンスに Ansible プラグインをインストールする方法を説明します。

ワークフローは次のとおりです。

  1. Ansible プラグインファイルをダウンロードします。
  2. Ansible プラグインをホストするために、OpenShift クラスターにプラグインレジストリーを作成します。
  3. プラグインを Helm チャートに追加します。
  4. カスタム ConfigMap を作成します。
  5. カスタム ConfigMap を Helm チャートに追加します。
  6. 必須設定および任意設定の手順に従って、カスタム ConfigMap と Helm チャートを編集します。

    注記

    設定を更新するたびに、Helm と ConfigMap への変更を保存できます。これらのファイルに対するすべての変更を 1 回のセッションで行う必要はありません。

2.1. 前提条件

  • Red Hat OpenShift Container Platform にインストールされた Red Hat Developer Hub。

  • Red Hat Ansible Automation Platform への有効なサブスクリプション。
  • アプリケーションを作成するための適切な権限がプロジェクト内で設定されている OpenShift Container Platform インスタンス。
  • Red Hat Developer Hub インスタンスが Automation Controller API をクエリーできる。
  • オプション: 統合されたラーニングパスを使用するには、developers.redhat.com への発信アクセスが必要です。

2.3. Ansible プラグインファイルのダウンロード

  1. Red Hat Ansible Automation Platform 製品ソフトウェアのダウンロードページ から、プラグインの最新の .tar ファイルをダウンロードします。ファイル名の形式は ansible-backstage-rhaap-bundle-x.y.z.tar.gz です。Ansible プラグインリリースバージョン (1.0.0 など) を、x.y.z に置き換えます。
  2. .tar ファイルを保存するディレクトリーをローカルマシンに作成します。

    $ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
    Copy to Clipboard Toggle word wrap
  3. ディレクトリーパスを表す環境変数 ($DYNAMIC_PLUGIN_ROOT_DIR) を設定します。

    $ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
    Copy to Clipboard Toggle word wrap
  4. ansible-backstage-rhaap-bundle-<version-number>.tar.gz の内容を $DYNAMIC_PLUGIN_ROOT_DIR に展開します。

    $ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR
    Copy to Clipboard Toggle word wrap

    Ansible プラグインリリースバージョン (1.0.0 など) を、x.y.z に置き換えます。

検証

ls を実行して、展開されたファイルが $DYNAMIC_PLUGIN_ROOT_DIR ディレクトリーにあることを確認します。

$ ls $DYNAMIC_PLUGIN_ROOT_DIR
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity
Copy to Clipboard Toggle word wrap

.integrity ファイルタイプのファイルには、プラグインの SHA 値が含まれています。SHA 値は、プラグインの設定時に使用されます。

2.4. Ansible プラグインのレジストリーの作成

OpenShift クラスターにレジストリーを設定して Ansible プラグインをホストし、プラグインを Red Hat Developer Hub (RHDH) にインストールできるようにします。

手順

  1. 認証情報を使用して OpenShift Container Platform インスタンスにログインし、新しいアプリケーションを作成します。
  2. Red Hat Developer Hub OpenShift プロジェクトを開きます。

    $ oc project <YOUR_DEVELOPER_HUB_PROJECT>
    Copy to Clipboard Toggle word wrap
  3. 以下のコマンドを実行して、OpenShift クラスターにプラグインレジストリービルドを作成します。

    $ oc new-build httpd --name=plugin-registry --binary
    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
    $ oc new-app --image-stream=plugin-registry
    Copy to Clipboard Toggle word wrap

検証

プラグインレジストリーが正常にデプロイされたことを確認するには、OpenShift Web コンソールの Red Hat Developer Hub アプリケーションの Developer パースペクティブで Topology ビューを開きます。

  1. プラグインレジストリーをクリックしてログを表示します。

    (1) Developer Hub インスタンス

    (2) プラグインレジストリー

  2. ターミナルのタブをクリックし、コンテナーにログインします。
  3. ターミナルで ls を実行して、.tar ファイルがプラグインレジストリーにあることを確認します。

    ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
    ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
    ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
    Copy to Clipboard Toggle word wrap

    バージョン番号とファイル名は異なる場合があります。

2.5. 必須設定

2.5.1. Ansible プラグイン設定の追加

  1. OpenShift Developer UI で、Helmdeveloper-hubActionsUpgradeYaml view に移動します。
  2. Helm チャート設定を更新して、Red Hat Developer Hub インスタンスに動的プラグインを追加します。YAML ファイルの plugins セクションで、有効にする動的プラグインを追加します。

    global:
      ...
        plugins:
          - disabled: false
            integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap-dynamic plugin>
            package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
            pluginConfig:
              dynamicPlugins:
                frontend:
                  ansible.plugin-backstage-rhaap:
                    appIcons:
                      - importName: AnsibleLogo
                        name: AnsibleLogo
                    dynamicRoutes:
                      - importName: AnsiblePage
                        menuItem:
                          icon: AnsibleLogo
                          text: Ansible
                        path: /ansible
          - disabled: false
            integrity: <SHA512 Integrity key for ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic plugin>
            package: >-
              http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
          - disabled: false
            integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap-backend-dynamic plugin>
            package: >-
              http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-backstage-rhaap-backend: null
    Copy to Clipboard Toggle word wrap
  3. パッケージ セクションで、プラグインファイル名の x.y.z を、Ansible プラグインの正しいバージョン番号に置き換えます。
  4. 各 Ansible プラグインの対応する .integrity ファイルの内容を使用して、インテグリティーの値を更新します。
  5. Upgrade をクリックします。

    開発者ハブ Pod が再起動し、プラグインがインストールされます。

検証

プラグインがインストールされたことを確認するには、install-dynamic-plugin コンテナーのログを開き、Ansible プラグインが Red Hat Developer Hub に表示されることを確認します。

  1. OpenShift Web コンソールで Red Hat Developer Hub アプリケーションの Developer パースペクティブを開きます。
  2. Topology ビューを選択します。
  3. Red Hat Developer Hub のデプロイメント Pod を選択して、情報ペインを開きます。
  4. 情報ペインの Resources タブを選択します。
  5. Pod セクションで、View logs をクリックして Pod details ページを開きます。
  6. Pod details ページで、Logs タブを選択します。
  7. コンテナーのドロップダウンリストから install-dynamic-plugins を選択して、コンテナーログを表示します。
  8. install-dynamic-plugin コンテナーログで、Ansible プラグインを検索します。

    ログから抜粋した次の例は、プラグインの 1 つが正常にインストールされたことを示しています。

    => Successfully installed dynamic plugin http://plugin-registry-1:8080/ansible-plugin-backstage-rhaap-dynamic-1.1.0.tgz
    Copy to Clipboard Toggle word wrap

    次の画像は、Pod details ページのコンテナーログを示しています。バージョン番号とファイル名は異なる場合があります。

2.5.2. Ansible Development Tools サイドカーコンテナーの追加

プラグインがロードされたら、Red Hat Developer Hub Pod に Ansible Development Container (ansible-devtools-server) をサイドカーコンテナーとして追加します。

2.5.2.1. Red Hat Developer Hub Helm 設定へのプルシークレットの追加

前提条件

Ansible Development Container のダウンロードには、Red Hat カスタマーポータルアカウントおよび Red Hat Service Registry アカウントが必要です。

手順

  1. 必要に応じて、新しい Red Hat Registry Service アカウント を作成します。
  2. Account name 列の下にあるトークン名をクリックします。
  3. OpenShift Secret タブを選択し、指示に従ってプルシークレットを Red Hat Developer Hub OpenShift プロジェクトに追加します。
  4. 新しいシークレットを Red Hat Developer Hub の Helm 設定に追加し、<your-redhat-registry-pull-secret> を Red Hat Registry Service Account の Web サイトで生成したシークレットの名前に置き換えます。

    upstream:
      backstage:
        ...
        image:
          ...
          pullSecrets:
            - <your-redhat-registry-pull-secret>
        ...
    Copy to Clipboard Toggle word wrap

詳細は、Red Hat Container Registry のドキュメント を参照してください。

2.5.2.2. Ansible Developer Tools コンテナーの追加

コンテナーを追加するには、Helm チャート設定を更新する必要があります。

手順

  1. OpenShift UI にログインします。
  2. Helmdeveloper-hubActionsupgradeYaml view に移動し、Helm チャートを開きます。
  3. YAML ファイルの extraContainers セクションを更新します。

    次のコードを追加します。

    upstream:
      backstage:
        ...
        extraContainers:
          - command:
              - adt
              - server
            image: >-
              registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest
            imagePullPolicy: IfNotPresent
            name: ansible-devtools-server
            ports:
              - containerPort: 8000
        ...
    Copy to Clipboard Toggle word wrap
    注記

    イメージプルポリシーは imagePullPolicy: IfNotPresent です。イメージは、そのイメージがノード上にない場合にのみプルされます。常に最新のイメージを使用する場合は、imagePullPolicy: Always に更新してください。

  4. Upgrade をクリックします。

検証

コンテナーが実行中であることを確認するには、コンテナーログを確認します。

2.5.3. カスタム ConfigMap の追加

OpenShift Container Platform ノード ガイドの config map の作成および使用 セクションの手順に従って、Red Hat Developer Hub ConfigMap を作成します。次の例では、app-config-rhdh という名前のカスタム ConfigMap を使用します。

カスタム ConfigMap を編集するには、OpenShift UI にログインし、Select Project ( developerHubProj )ConfigMaps{developer-hub}-app-configEditConfigMapsapp-config-rhdh に移動します。

2.5.4. Ansible Dev Tools Server の設定

Ansible プラグインが提供されるソフトウェアテンプレートを使用して新しいプロジェクトをプロビジョニングするには、creatorService URL が必要です。

手順

  1. カスタム ConfigMap の追加 で作成したカスタム Red Hat Developer Hub の config map app-config-rhdh を編集します。
  2. 以下のコードを Red Hat Developer Hub の app-config-rhdh.yaml ファイルに追加します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    ...
    data:
      app-config-rhdh.yaml: |-
        ansible:
          creatorService:
            baseUrl: 127.0.0.1
            port: '8000'
    ...
    Copy to Clipboard Toggle word wrap

2.5.5. Ansible Automation Platform の詳細の設定

Ansible プラグインはトークンを使用して、コントローラー API で Ansible Automation Platform サブスクリプションステータスをクエリーします。

注記

Ansible プラグインは、Ansible Automation Platform のサブスクリプションステータスに関係なく引き続き機能します。

手順

  1. Automation Controller ユーザーガイドアプリケーション セクションに従って、Automation Controller で「読み取り」スコープを持つ Personal Access Token (PAT) を作成します。
  2. カスタム Red Hat Developer Hub config map (例: app-config-rhdh) を編集します。
  3. Ansible Automation Platform の詳細を app-config-rhdh.yaml に追加します。

    1. Automation Controller URL で baseURL キーを設定します。
    2. 手順 1 で作成したトークン値を使用して token キーを設定します。
    3. checkSSL キーを true または false に設定します。

      checkSSLtrue に設定されている場合、Ansible プラグインは SSL 証明書が有効であるかどうかを確認します。

      data:
        app-config-rhdh.yaml: |
          ...
          ansible:
          ...
            rhaap:
              baseUrl: '<https://MyControllerUrl>'
              token: '<AAP Personal Access Token>'
              checkSSL: true
      Copy to Clipboard Toggle word wrap
注記

Red Hat Developer Hub インストールは、ユーザー自身で外部および不正アクセスから保護する必要があります。バックエンド認証キーを他のシークレットと同様に管理します。強力なパスワード要件を満たし、パスワードを設定ファイルで公開せず、環境変数としてのみ設定ファイルに挿入します。

2.5.6. showCaseLocation の設定

カスタム config map で showCaseLocation を設定する必要があります。

手順

  1. カスタム ConfigMap の追加 で作成したカスタム Red Hat Developer Hub の config map app-config-rhdh を編集します。
  2. 以下のコードを Red Hat Developer Hub の app-config-rhdh.yaml ファイルに追加します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    ...
    data:
      app-config-rhdh.yaml: |-
        ansible:
          rhaap:
          ...
            showCaseLocation:
              type: file
              target: '/tmp/aap-showcases/'
    ...
    Copy to Clipboard Toggle word wrap

2.5.7. Ansible プラグインソフトウェアテンプレートの追加

Red Hat Ansible は、Ansible のベストプラクティスに基づいて新しい Playbook とコレクションプロジェクトをプロビジョニングする Red Hat Developer Hub のソフトウェアテンプレートを提供します。

手順

  1. カスタム Red Hat Developer Hub config map (例: app-config-rhdh) を編集します。
  2. 以下のコードを Red Hat Developer Hub の app-config-rhdh.yaml ファイルに追加します。
data:
  app-config-rhdh.yaml: |
    catalog:
      ...
      locations:
        ...
        - type: url
          target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
          rules:
            - allow: [Template]
Copy to Clipboard Toggle word wrap

詳細は、Red Hat Developer Hub の管理ガイドテンプレートの管理 セクションを参照してください。

2.5.8. ロールベースアクセス制御の設定

Red Hat Developer Hub は、ロールベースアクセス制御 (RBAC) 機能を提供します。その後、RBAC を Ansible プラグインコンテンツに適用できます。

次のロールを割り当てます。

  • admin:superUsers グループのメンバーは、Ansible プラグインの Create タブでテンプレートを選択して、Playbook およびコレクションプロジェクトを作成できます。
  • admin:users グループのメンバーは、Ansible プラグインの Create タブでテンプレートを表示できます。

次の例では、Red Hat Developer Hub に RBAC を追加します。

data:
  app-config-rhdh.yaml: |
    plugins:
    ...
    permission:
      enabled: true
      rbac:
        admin:
          users:
            - name: user:default/<user-scm-ida>
          superUsers:
            - name: user:default/<user-admin-idb>
Copy to Clipboard Toggle word wrap

権限ポリシーと RBAC の管理の詳細は、Red Hat Developer Hub の 認可 ガイドを参照してください。

2.6. Ansible プラグインの任意設定

2.6.1. Red Hat Developer Hub 認証の有効化

Red Hat Developer Hub (RHDH) は、複数のソースコントロール管理 (SCM) システムのインテグレーションを提供します。これは、プラグインがリポジトリーを作成するために必要です。

Red Hat Developer Hub の管理ガイドRed Hat Developer Hub での認証の有効化 の章を参照してください。

2.6.2. Ansible プラグインのオプションのインテグレーションの設定

Ansible プラグインは、Ansible Automation Platform およびその他のオプションの Red Hat 製品とのインテグレーションを提供します。

カスタム ConfigMap を編集するには、OpenShift UI にログインし、Select Project ( developerHubProj )ConfigMaps{developer-hub}-app-config-rhdhapp-config-rhdh に移動します。

2.6.2.1. OpenShift Dev Spaces の設定

OpenShift Dev Spaces が Ansible プラグイン用に設定されている場合、ユーザーは Red Hat Developer Hub のカタログ項目ビューからリンクをクリックし、Dev Spaces を使用してプロビジョニングされた Ansible Git プロジェクトを編集できます。

注記

OpenShift Dev Spaces は別の製品であり、オプションです。プラグインはこれがなくても機能します。

これは別の Red Hat 製品であり、Ansible Automation Platform または Red Hat Developer Hub サブスクリプションには含まれていません。

Ansible プラグインで OpenShift Dev Spaces リンクが設定されていない場合、Ansible プラグインランディングページの DEVELOP セクションにある Go to OpenShift Dev Spaces dashboard リンクをクリックすると、Ansible 開発ツールのホームページ にリダイレクトされます。

前提条件

  • Dev Spaces のインストール。Red Hat OpenShift Dev Spaces 管理ガイドDev Spaces のインストール セクションを参照してください。

手順

  1. カスタム Red Hat Developer Hub config map (例: app-config-rhdh) を編集します。
  2. 以下のコードを Red Hat Developer Hub の app-config-rhdh.yaml ファイルに追加します。

    data:
      app-config-rhdh.yaml: |-
        ansible:
          devSpaces:
            baseUrl: >-
              https://<Your OpenShift Dev Spaces URL>
    Copy to Clipboard Toggle word wrap
  3. <Your OpenShft Dev Spaces URL> を OpenShift Dev Spaces URL に置き換えます。
  4. OpenShift Developer UI で、Red Hat Developer Hub Pod を選択します。
  5. Actions を開きます。
  6. Restart rollout をクリックします。
2.6.2.2. Private Automation Hub URL の設定

Private Automation Hub は、認定された Ansible コレクション、実行環境、および組織によって提供される追加の検証済みコンテンツ用の集中型オンプレミスリポジトリーを提供します。

Ansible プラグインで Private Automation Hub の URL が設定されていない場合、ユーザーは Red Hat Hybrid Cloud Console Automation Hub にリダイレクトされます。

注記

Private Automation Hub 設定はオプションですが、推奨されます。Ansible プラグインはこれがなくても機能します。

前提条件:

  • Private Automation Hub インスタンス。

    Private Automation Hub のインストールに関する詳細は、Ansible Automation Platform ドキュメントの インストールとアップグレード ガイドを参照してください。

手順:

  1. カスタム Red Hat Developer Hub config map (例: app-config-rhdh) を編集します。
  2. 以下のコードを Red Hat Developer Hub の app-config-rhdh.yaml ファイルに追加します。

    data:
      app-config-rhdh.yaml: |-
        ansible:
        ...
          automationHub:
            baseUrl: '<https://MyOwnPAHUrl>'
        ...
    Copy to Clipboard Toggle word wrap
  3. <https://MyOwnPAHUrl/> を Private Automation Hub URL に置き換えます。
  4. OpenShift Developer UI で、Red Hat Developer Hub Pod を選択します。
  5. Actions を開きます。
  6. Restart rollout をクリックします。

2.7. 完全な例

2.7.1. Ansible プラグインエントリーの完全な app-config-rhdh ConfigMap の例

kind: ConfigMap
...
metadata:
  name: app-config-rhdh
  ...
data:
  app-config-rhdh.yaml: |-
    ansible:
      creatorService:
        baseUrl: 127.0.0.1
        port: '8000'
      rhaap:
        baseUrl: '<https://MyControllerUrl>'
        token: '<AAP Personal Access Token>'
        checkSSL: <true or false>
        showCaseLocation:
          type: file
          target: '/tmp/aap-showcases/'
      # Optional integrations
      devSpaces:
        baseUrl: '<https://MyDevSpacesURL>'
      automationHub:
        baseUrl: '<https://MyPrivateAutomationHubURL>'

    ...
    catalog:
      locations:
        - type: url
          target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
          rules:
            - allow: [Template]
    ...
Copy to Clipboard Toggle word wrap

2.7.2. Ansible プラグインの完全な Helm チャート設定例

global:
  ...
  dynamic:
    ...
    plugins:
      - disabled: false
        integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap plugin>
        package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
        pluginConfig:
          dynamicPlugins:
            frontend:
              ansible.plugin-backstage-rhaap:
                appIcons:
                  - importName: AnsibleLogo
                    name: AnsibleLogo
                dynamicRoutes:
                  - importName: AnsiblePage
                    menuItem:
                      icon: AnsibleLogo
                      text: Ansible
                    path: /ansible
      - disabled: false
        integrity: <SHA512 Integrity key for ansible-plugin-scaffolder-backend-module-backstage-rhaap plugin>
        package: >-
          http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
        pluginConfig:
          dynamicPlugins:
            backend:
              ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
      - disabled: false
        integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap-backend plugin>
        package: >-
          http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
        pluginConfig:
          dynamicPlugins:
            backend:
              ansible.plugin-backstage-rhaap-backend: null
...
upstream:
  backstage:
    ...
    extraAppConfig:
      - configMapRef: app-config-rhdh
        filename: app-config-rhdh.yaml
    extraContainers:
      - command:
          - adt
          - server
        image: >-
          registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest
        imagePullPolicy: IfNotPresent
        name: ansible-devtools-server
        ports:
          - containerPort: 8000
...
Copy to Clipboard Toggle word wrap

第3章 Operator を使用した OpenShift Container Platform への Ansible プラグインのインストール

以下の手順では、Operator を使用して Red Hat OpenShift Container Platform 上の Red Hat Developer Hub インスタンスに Ansible プラグインをインストールする方法を説明します。

3.1. 前提条件

  • Red Hat OpenShift Container Platform にインストールされた Red Hat Developer Hub。

  • Red Hat Ansible Automation Platform への有効なサブスクリプション。
  • アプリケーションを作成するための適切な権限がプロジェクト内で設定されている OpenShift Container Platform インスタンス。
  • Red Hat Developer Hub インスタンスが Automation Controller API をクエリーできる。
  • オプション: 統合されたラーニングパスを使用するには、developers.redhat.com への発信アクセスが必要です。

3.3. Ansible 開発ツール用のサイドカーコンテナーを RHDH Operator カスタムリソースに追加する

Ansible 開発ツール用のサイドカーコンテナーを Developer Hub Pod に追加します。これを行うには、Red Hat Developer Hub デプロイメントのベース ConfigMap を変更する必要があります。

  1. OpenShift コンソールで、Topology ビューを選択します。
  2. developer-hub のインスタンスで、More actions ⋮ をクリックし、Edit backstage を選択して、Backstage details ページを開きます。
  3. YAML タブを選択します。
  4. 編集ペインで、spec.deployment.patch.spec.template.spec ブロックに containers ブロックを追加します。

    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    metadata:
      name: developer-hub
    spec:
      deployment:
        patch:
          spec:
            template:
              spec:
                containers:
                  - command:
                      - adt
                      - server
                    image: registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest
                    imagePullPolicy: always
                    ports:
                      - containerPort: 8000
                        protocol: TCP
                    terminationMessagePolicy: file
    Copy to Clipboard Toggle word wrap
  5. Save をクリックします。
注記

デプロイメントに環境変数をさらに追加する場合は、spec.application.extraEnvs ブロックにその環境変数を追加できます。

spec:
  application:
    ...
    extraEnvs:
      envs:
        - name: <env_variable_name>
          value: <env_variable_value>
Copy to Clipboard Toggle word wrap

3.4. Ansible プラグインファイルのダウンロード

  1. Red Hat Ansible Automation Platform 製品ソフトウェアのダウンロードページ から、プラグインの最新の .tar ファイルをダウンロードします。ファイル名の形式は ansible-backstage-rhaap-bundle-x.y.z.tar.gz です。Ansible プラグインリリースバージョン (1.0.0 など) を、x.y.z に置き換えます。
  2. .tar ファイルを保存するディレクトリーをローカルマシンに作成します。

    $ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
    Copy to Clipboard Toggle word wrap
  3. ディレクトリーパスを表す環境変数 ($DYNAMIC_PLUGIN_ROOT_DIR) を設定します。

    $ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
    Copy to Clipboard Toggle word wrap
  4. ansible-backstage-rhaap-bundle-<version-number>.tar.gz の内容を $DYNAMIC_PLUGIN_ROOT_DIR に展開します。

    $ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR
    Copy to Clipboard Toggle word wrap

    Ansible プラグインリリースバージョン (1.0.0 など) を、x.y.z に置き換えます。

検証

ls を実行して、展開されたファイルが $DYNAMIC_PLUGIN_ROOT_DIR ディレクトリーにあることを確認します。

$ ls $DYNAMIC_PLUGIN_ROOT_DIR
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity
Copy to Clipboard Toggle word wrap

.integrity ファイルタイプのファイルには、プラグインの SHA 値が含まれています。SHA 値は、プラグインの設定時に使用されます。

3.5. Ansible プラグインのレジストリーの作成

OpenShift クラスターにレジストリーを設定して Ansible プラグインをホストし、プラグインを Red Hat Developer Hub (RHDH) にインストールできるようにします。

手順

  1. 認証情報を使用して OpenShift Container Platform インスタンスにログインし、新しいアプリケーションを作成します。
  2. Red Hat Developer Hub OpenShift プロジェクトを開きます。

    $ oc project <YOUR_DEVELOPER_HUB_PROJECT>
    Copy to Clipboard Toggle word wrap
  3. 以下のコマンドを実行して、OpenShift クラスターにプラグインレジストリービルドを作成します。

    $ oc new-build httpd --name=plugin-registry --binary
    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
    $ oc new-app --image-stream=plugin-registry
    Copy to Clipboard Toggle word wrap

検証

プラグインレジストリーが正常にデプロイされたことを確認するには、OpenShift Web コンソールの Red Hat Developer Hub アプリケーションの Developer パースペクティブで Topology ビューを開きます。

  1. プラグインレジストリーをクリックしてログを表示します。

    (1) Developer Hub インスタンス

    (2) プラグインレジストリー

  2. ターミナルのタブをクリックし、コンテナーにログインします。
  3. ターミナルで ls を実行して、.tar ファイルがプラグインレジストリーにあることを確認します。

    ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
    ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
    ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
    Copy to Clipboard Toggle word wrap

    バージョン番号とファイル名は異なる場合があります。

3.6. 動的プラグインのインストール

動的プラグインをインストールするには、RHDH プラグイン設定の ConfigMap にプラグインを追加します (例: rhaap-dynamic-plugins-config)。

RHDH プラグイン設定用の ConfigMap ファイルをまだ作成していない場合は、OpenShift Container Platform ノード ガイドの config map の作成および使用 セクションの手順に従って作成してください。

次の手順で使用する ConfigMap の例は、rhaap-dynamic-plugins-config という名前です。

手順

  1. OpenShift コンソールのナビゲーションペインで ConfigMaps を選択します。
  2. リストから rhaap-dynamic-plugins-config ConfigMap を選択します。
  3. YAML タブを選択して、rhaap-dynamic-plugins-config ConfigMap を編集します。
  4. data.dynamic-plugins.yaml.plugins ブロックに、プラグインレジストリーからの 3 つの動的プラグインを追加します。

    • integrity のハッシュ値には、各プラグインに対応する $DYNAMIC_PLUGIN_ROOT_DIR ディレクトリー内の .integrity ファイルを使用します。たとえば、ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz プラグインの場合は、ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity を使用します。
    • xyz は、プラグインの正しいバージョンに置き換えます。

      kind: ConfigMap
      apiVersion: v1
      metadata:
       name: rhaap-dynamic-plugins-config
      data:
       dynamic-plugins.yaml: |
         ...
         plugins:
           - disabled: false
             package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
             integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
             pluginConfig:
               dynamicPlugins:
                 frontend:
                   ansible.plugin-backstage-rhaap:
                     appIcons:
                       - importName: AnsibleLogo
                         name: AnsibleLogo
                     dynamicRoutes:
                       - importName: AnsiblePage
                         menuItem:
                           icon: AnsibleLogo
                           text: Ansible
                         path: /ansible
           - disabled: false
             package: >-
               http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
             integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
             pluginConfig:
               dynamicPlugins:
                 backend:
                   ansible.plugin-backstage-rhaap-backend: null
           - disabled: false
             package: >-
               http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
             integrity: <SHA512 value> # Use hash in ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity
             pluginConfig:
               dynamicPlugins:
                 backend:
                   ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
           - ...<REDACTED>
      Copy to Clipboard Toggle word wrap
  5. Save をクリックします。
  6. ローリング再起動の進捗を表示するには、次の手順を実行します。

    1. Topology ビューで、デプロイメント Pod を選択し、View logs をクリックします。
    2. コンテナーのリストから install-dynamic-plugins を選択します。

検証

  1. OpenShift コンソールで、Topology ビューを選択します。
  2. デプロイメント Pod の Open URL アイコンをクリックして、ブラウザーウィンドウで Red Hat Developer Hub インスタンスを開きます。

Ansible プラグインがナビゲーションペインに表示されます。Administration を選択すると、インストールされているプラグインが Plugins タブにリスト表示されます。

3.7. カスタム ConfigMap の追加

OpenShift Container Platform ノード ガイドの config map の作成および使用 セクションの手順に従って、Red Hat Developer Hub ConfigMap を作成します。次の例では、app-config-rhdh という名前のカスタム ConfigMap を使用します。

カスタム ConfigMap を編集するには、OpenShift UI にログインし、Select Project ( developerHubProj )ConfigMaps{developer-hub}-app-configEditConfigMapsapp-config-rhdh に移動します。

3.8. Ansible Dev Tools Server の設定

Ansible プラグインが提供されるソフトウェアテンプレートを使用して新しいプロジェクトをプロビジョニングするには、creatorService URL が必要です。

手順

  1. カスタム ConfigMap の追加 で作成したカスタム Red Hat Developer Hub の config map app-config-rhdh を編集します。
  2. 以下のコードを Red Hat Developer Hub の app-config-rhdh.yaml ファイルに追加します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    ...
    data:
      app-config-rhdh.yaml: |-
        ansible:
          creatorService:
            baseUrl: 127.0.0.1
            port: '8000'
    ...
    Copy to Clipboard Toggle word wrap

3.9. Ansible Automation Platform の詳細の設定

Ansible プラグインはトークンを使用して、コントローラー API で Ansible Automation Platform サブスクリプションステータスをクエリーします。

注記

Ansible プラグインは、Ansible Automation Platform のサブスクリプションステータスに関係なく引き続き機能します。

手順

  1. Automation Controller ユーザーガイドアプリケーション セクションに従って、Automation Controller で「読み取り」スコープを持つ Personal Access Token (PAT) を作成します。
  2. カスタム Red Hat Developer Hub config map (例: app-config-rhdh) を編集します。
  3. Ansible Automation Platform の詳細を app-config-rhdh.yaml に追加します。

    1. Automation Controller URL で baseURL キーを設定します。
    2. 手順 1 で作成したトークン値を使用して token キーを設定します。
    3. checkSSL キーを true または false に設定します。

      checkSSLtrue に設定されている場合、Ansible プラグインは SSL 証明書が有効であるかどうかを確認します。

      data:
        app-config-rhdh.yaml: |
          ...
          ansible:
          ...
            rhaap:
              baseUrl: '<https://MyControllerUrl>'
              token: '<AAP Personal Access Token>'
              checkSSL: true
      Copy to Clipboard Toggle word wrap
注記

Red Hat Developer Hub インストールは、ユーザー自身で外部および不正アクセスから保護する必要があります。バックエンド認証キーを他のシークレットと同様に管理します。強力なパスワード要件を満たし、パスワードを設定ファイルで公開せず、環境変数としてのみ設定ファイルに挿入します。

3.10. Ansible プラグインソフトウェアテンプレートの追加

Red Hat Ansible は、Ansible のベストプラクティスに基づいて新しい Playbook とコレクションプロジェクトをプロビジョニングする Red Hat Developer Hub のソフトウェアテンプレートを提供します。

手順

  1. カスタム Red Hat Developer Hub config map (例: app-config-rhdh) を編集します。
  2. 以下のコードを Red Hat Developer Hub の app-config-rhdh.yaml ファイルに追加します。
data:
  app-config-rhdh.yaml: |
    catalog:
      ...
      locations:
        ...
        - type: url
          target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
          rules:
            - allow: [Template]
Copy to Clipboard Toggle word wrap

詳細は、Red Hat Developer Hub の管理ガイドテンプレートの管理 セクションを参照してください。

3.11. ロールベースアクセス制御の設定

Red Hat Developer Hub は、ロールベースアクセス制御 (RBAC) 機能を提供します。その後、RBAC を Ansible プラグインコンテンツに適用できます。

次のロールを割り当てます。

  • admin:superUsers グループのメンバーは、Ansible プラグインの Create タブでテンプレートを選択して、Playbook およびコレクションプロジェクトを作成できます。
  • admin:users グループのメンバーは、Ansible プラグインの Create タブでテンプレートを表示できます。

次の例では、Red Hat Developer Hub に RBAC を追加します。

data:
  app-config-rhdh.yaml: |
    plugins:
    ...
    permission:
      enabled: true
      rbac:
        admin:
          users:
            - name: user:default/<user-scm-ida>
          superUsers:
            - name: user:default/<user-admin-idb>
Copy to Clipboard Toggle word wrap

権限ポリシーと RBAC の管理の詳細は、Red Hat Developer Hub の 認可 ガイドを参照してください。

3.12. Ansible プラグインの任意設定

3.12.1. Red Hat Developer Hub 認証の有効化

Red Hat Developer Hub (RHDH) は、複数のソースコントロール管理 (SCM) システムのインテグレーションを提供します。これは、プラグインがリポジトリーを作成するために必要です。

Red Hat Developer Hub の管理ガイドRed Hat Developer Hub での認証の有効化 の章を参照してください。

3.12.2. Ansible プラグインのオプションのインテグレーションの設定

Ansible プラグインは、Ansible Automation Platform およびその他のオプションの Red Hat 製品とのインテグレーションを提供します。

カスタム ConfigMap を編集するには、OpenShift UI にログインし、Select Project ( developerHubProj )ConfigMaps{developer-hub}-app-config-rhdhapp-config-rhdh に移動します。

3.12.2.1. OpenShift Dev Spaces の設定

OpenShift Dev Spaces が Ansible プラグイン用に設定されている場合、ユーザーは Red Hat Developer Hub のカタログ項目ビューからリンクをクリックし、Dev Spaces を使用してプロビジョニングされた Ansible Git プロジェクトを編集できます。

注記

OpenShift Dev Spaces は別の製品であり、オプションです。プラグインはこれがなくても機能します。

これは別の Red Hat 製品であり、Ansible Automation Platform または Red Hat Developer Hub サブスクリプションには含まれていません。

Ansible プラグインで OpenShift Dev Spaces リンクが設定されていない場合、Ansible プラグインランディングページの DEVELOP セクションにある Go to OpenShift Dev Spaces dashboard リンクをクリックすると、Ansible 開発ツールのホームページ にリダイレクトされます。

前提条件

  • Dev Spaces のインストール。Red Hat OpenShift Dev Spaces 管理ガイドDev Spaces のインストール セクションを参照してください。

手順

  1. カスタム Red Hat Developer Hub config map (例: app-config-rhdh) を編集します。
  2. 以下のコードを Red Hat Developer Hub の app-config-rhdh.yaml ファイルに追加します。

    data:
      app-config-rhdh.yaml: |-
        ansible:
          devSpaces:
            baseUrl: >-
              https://<Your OpenShift Dev Spaces URL>
    Copy to Clipboard Toggle word wrap
  3. <Your OpenShft Dev Spaces URL> を OpenShift Dev Spaces URL に置き換えます。
  4. OpenShift Developer UI で、Red Hat Developer Hub Pod を選択します。
  5. Actions を開きます。
  6. Restart rollout をクリックします。
3.12.2.2. Private Automation Hub URL の設定

Private Automation Hub は、認定された Ansible コレクション、実行環境、および組織によって提供される追加の検証済みコンテンツ用の集中型オンプレミスリポジトリーを提供します。

Ansible プラグインで Private Automation Hub の URL が設定されていない場合、ユーザーは Red Hat Hybrid Cloud Console Automation Hub にリダイレクトされます。

注記

Private Automation Hub 設定はオプションですが、推奨されます。Ansible プラグインはこれがなくても機能します。

前提条件:

  • Private Automation Hub インスタンス。

    Private Automation Hub のインストールに関する詳細は、Ansible Automation Platform ドキュメントの インストールとアップグレード ガイドを参照してください。

手順:

  1. カスタム Red Hat Developer Hub config map (例: app-config-rhdh) を編集します。
  2. 以下のコードを Red Hat Developer Hub の app-config-rhdh.yaml ファイルに追加します。

    data:
      app-config-rhdh.yaml: |-
        ansible:
        ...
          automationHub:
            baseUrl: '<https://MyOwnPAHUrl>'
        ...
    Copy to Clipboard Toggle word wrap
  3. <https://MyOwnPAHUrl/> を Private Automation Hub URL に置き換えます。
  4. OpenShift Developer UI で、Red Hat Developer Hub Pod を選択します。
  5. Actions を開きます。
  6. Restart rollout をクリックします。

3.13. Ansible プラグインエントリーの完全な app-config-rhdh ConfigMap の例

kind: ConfigMap
...
metadata:
  name: app-config-rhdh
  ...
data:
  app-config-rhdh.yaml: |-
    ansible:
      creatorService:
        baseUrl: 127.0.0.1
        port: '8000'
      rhaap:
        baseUrl: '<https://MyControllerUrl>'
        token: '<AAP Personal Access Token>'
        checkSSL: <true or false>
        showCaseLocation:
          type: file
          target: '/tmp/aap-showcases/'
      # Optional integrations
      devSpaces:
        baseUrl: '<https://MyDevSpacesURL>'
      automationHub:
        baseUrl: '<https://MyPrivateAutomationHubURL>'

    ...
    catalog:
      locations:
        - type: url
          target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
          rules:
            - allow: [Template]
    ...
Copy to Clipboard Toggle word wrap

第4章 Ansible プラグインサブスクリプションの警告メッセージ

Ansible プラグインは、以下のシナリオのユーザーインターフェイスで、サブスクリプション警告バナーを表示します。

4.1. Ansible Automation Platform に接続できない

以下の警告は、Automation Controller の詳細が設定されていないか、コントローラーインスタンス API がサブスクリプションステータスをクエリーできないことを示しています。

Unable to connect to Ansible Automation Platform
Verify that Ansible Automation Platform is reachable and correctly configured in the Ansible plug-ins.
To get help, please refer to the Ansible plug-ins installation guide.
Copy to Clipboard Toggle word wrap
修復手順
  1. Ansible Automation Platform に到達可能で、ConfigMap の rhaap セクションで正しく設定されていることを確認します。
  2. ご使用の環境に対して checkSSL キーが正しく設定されていることを確認します。
  3. 設定の詳細を修正したら、Red Hat Developer Hub Pod を再起動してサブスクリプションクエリーを開始します。

4.2. Ansible Automation Platform に対して認証できない

以下の警告は、Ansible プラグインがサブスクリプションステータスをクエリーするために Ansible Automation Platform で認証できなかったことを示しています。

Unable to authenticate to Ansible Automation Platform
Verify that the authentication details for Ansible Automation Platform are correctly configured in the Ansible plug-ins.
For help, please refer to the Ansible plug-ins installation guide.
Copy to Clipboard Toggle word wrap
修復手順
  1. Ansible プラグインで設定された Automation Controller の Personal Access Token (PAT) が正しいことを確認します。詳細は、Automation Controller ユーザーガイドアプリケーション セクションを参照してください。
  2. 認証情報の修正後に、Red Hat Developer Hub Pod を再起動してサブスクリプションクエリーを開始します。

4.3. 無効な Ansible Automation Platform 設定

以下の警告は、Ansible Automation Platform 設定セクションが無効または不完全であることを示しています。

Invalid resource for Ansible Automation Platform
Verify that the resource url for Ansible Automation Platform are correctly configured in the Ansible plug-ins.
For help, please refer to the Ansible plug-ins installation guide.
Copy to Clipboard Toggle word wrap
修復手順
  1. Ansible プラグイン ConfigMap の rhaap セクションが正しく設定されており、必要なすべてのエントリーが含まれていることを確認します。詳細は、Ansible Automation Platform の詳細の設定 を参照してください。
  2. 設定の修正後に、Red Hat Developer Hub Pod を再起動してサブスクリプションクエリーを開始します。

4.4. Ansible Automation Platform サブスクリプションがコンプライアンス違反である

以下の警告は、Ansible プラグインが Ansible Automation Platform サブスクリプションステータスを正常に取得したことを示しています。ただし、このサブスクリプションはコンプライアンス違反になります。

Subscription non-compliant
The connected Ansible Automation Platform subscription is out of compliance.
Contact your Red Hat account team to obtain a new subscription entitlement.
Learn more about account compliance.
Copy to Clipboard Toggle word wrap
修復手順
  1. 新しいサブスクリプションエンタイトルメントを取得するには、Red Hat Account チームにお問い合わせください。
  2. アカウントコンプライアンス の詳細を確認してください。
  3. サブスクリプションがコンプライアンスに準拠している場合は、Red Hat Developer Hub Pod を再起動して、新しいサブスクリプションクエリーを開始します。

4.5. 無効な Ansible Automation Platform サブスクリプション

以下の警告は、Ansible プラグインが Ansible Automation Platform サブスクリプションステータスを正常に取得したことを示しています。ただし、Ansible Automation Platform ではサブスクリプションタイプが無効です。

Invalid subscription
The connected Ansible Automation Platform subscription is invalid.
Contact your Red Hat account team, or start an Ansible Automation Platform trial.
Copy to Clipboard Toggle word wrap
修復手順
  1. 新しいサブスクリプションエンタイトルメントを取得するか、Ansible Automation Platform のトライアルを開始する には、Red Hat Account チームにお問い合わせください。
  2. サブスクリプションを更新したら、Red Hat Developer Hub Pod を再起動して、新しいサブスクリプションクエリーを開始します。

Ansible プラグインをアップグレードするには、最新の Ansible プラグインファイルで plugin-registry アプリケーションを更新する必要があります。

5.1. Ansible プラグインファイルのダウンロード

  1. Red Hat Ansible Automation Platform 製品ソフトウェアのダウンロードページ から、プラグインの最新の .tar ファイルをダウンロードします。ファイル名の形式は ansible-backstage-rhaap-bundle-x.y.z.tar.gz です。Ansible プラグインリリースバージョン (1.0.0 など) を、x.y.z に置き換えます。
  2. .tar ファイルを保存するディレクトリーをローカルマシンに作成します。

    $ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
    Copy to Clipboard Toggle word wrap
  3. ディレクトリーパスを表す環境変数 ($DYNAMIC_PLUGIN_ROOT_DIR) を設定します。

    $ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
    Copy to Clipboard Toggle word wrap
  4. ansible-backstage-rhaap-bundle-<version-number>.tar.gz の内容を $DYNAMIC_PLUGIN_ROOT_DIR に展開します。

    $ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR
    Copy to Clipboard Toggle word wrap

    Ansible プラグインリリースバージョン (1.0.0 など) を、x.y.z に置き換えます。

検証

ls を実行して、展開されたファイルが $DYNAMIC_PLUGIN_ROOT_DIR ディレクトリーにあることを確認します。

$ ls $DYNAMIC_PLUGIN_ROOT_DIR
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity
Copy to Clipboard Toggle word wrap

.integrity ファイルタイプのファイルには、プラグインの SHA 値が含まれています。SHA 値は、プラグインの設定時に使用されます。

5.2. プラグインレジストリーの更新

最新の Ansible プラグインファイルを使用して、OpenShift クラスターでプラグインレジストリーアプリケーションを再ビルドします。

前提条件

  • Ansible プラグインファイルをダウンロードした。
  • .tar ファイルを保存したローカルディレクトリーへのパスを表す環境変数 (たとえば、$DYNAMIC_PLUGIN_ROOT_DIR) を設定した。

手順

  1. 認証情報を使用して OpenShift Container Platform インスタンスにログインし、新しいアプリケーションを作成します。
  2. Red Hat Developer Hub OpenShift プロジェクトを開きます。

    $ oc project <YOUR_DEVELOPER_HUB_PROJECT>
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、OpenShift クラスターのプラグインレジストリービルドを更新します。このコマンドは、$DYNAMIC_PLUGIN_ROOT_DIR.tar ファイルのディレクトリーを表すことを前提としています。別の環境変数名を選択した場合は、コマンド内の環境変数名を置き換えてください。

    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
    Copy to Clipboard Toggle word wrap
    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
    Copy to Clipboard Toggle word wrap
  4. レジストリーが起動すると、出力に次のメッセージが表示されます。

    Uploading directory "/path/to/dynamic_plugin_root" as binary input for the build …
    Uploading finished
    build.build.openshift.io/plugin-registry-1 started
    Copy to Clipboard Toggle word wrap

検証

plugin-registry が更新されたことを確認します。

  1. OpenShift UI で、Topology をクリックします。
  2. redhat-developer-hub アイコンをクリックして、プラグインレジストリーの Pod を表示します。
  3. プラグインレジストリー Pod の View logs をクリックします。
  4. Terminal タブを開き、ls を実行して plug-in registry 内の .tar ファイルを表示します。
  5. 新しい .tar ファイルがアップロードされていることを確認します。

5.3. Helm インストールにおける Ansible プラグインのバージョン番号の更新

手順

  1. OpenShift Container Platform インスタンスにログインします。
  2. OpenShift Developer UI で、Helmdeveloper-hubActionsUpgradeYaml view に移動します。
  3. Ansible プラグインのバージョン番号と関連する .integrity ファイル値を更新します。

    ...
    global:
    ...
        plugins:
          - disabled: false
            integrity: <SHA512 value>
            package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
            pluginConfig:
              dynamicPlugins:
                frontend:
                  ansible.plugin-backstage-rhaap:
                    appIcons:
                      - importName: AnsibleLogo
                        name: AnsibleLogo
                    dynamicRoutes:
                      - importName: AnsiblePage
                        menuItem:
                          icon: AnsibleLogo
                          text: Ansible
                        path: /ansible
          - disabled: false
            integrity: <SHA512 value>
            package: >-
              http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
          - disabled: false
            integrity: <SHA512 value>
            package: >-
              http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-backstage-rhaap-backend: null
    Copy to Clipboard Toggle word wrap
  4. Upgrade をクリックします。

    開発者ハブ Pod が再起動し、プラグインがインストールされます。

検証

  1. OpenShift UI で、Topology をクリックします。
  2. Red Hat Developer Hub インスタンスが利用可能であることを確認します。

Ansible プラグインをアップグレードするには、最新の Ansible プラグインファイルで plugin-registry アプリケーションを更新する必要があります。

6.1. Ansible プラグインファイルのダウンロード

  1. Red Hat Ansible Automation Platform 製品ソフトウェアのダウンロードページ から、プラグインの最新の .tar ファイルをダウンロードします。ファイル名の形式は ansible-backstage-rhaap-bundle-x.y.z.tar.gz です。Ansible プラグインリリースバージョン (1.0.0 など) を、x.y.z に置き換えます。
  2. .tar ファイルを保存するディレクトリーをローカルマシンに作成します。

    $ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
    Copy to Clipboard Toggle word wrap
  3. ディレクトリーパスを表す環境変数 ($DYNAMIC_PLUGIN_ROOT_DIR) を設定します。

    $ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
    Copy to Clipboard Toggle word wrap
  4. ansible-backstage-rhaap-bundle-<version-number>.tar.gz の内容を $DYNAMIC_PLUGIN_ROOT_DIR に展開します。

    $ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR
    Copy to Clipboard Toggle word wrap

    Ansible プラグインリリースバージョン (1.0.0 など) を、x.y.z に置き換えます。

検証

ls を実行して、展開されたファイルが $DYNAMIC_PLUGIN_ROOT_DIR ディレクトリーにあることを確認します。

$ ls $DYNAMIC_PLUGIN_ROOT_DIR
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity
Copy to Clipboard Toggle word wrap

.integrity ファイルタイプのファイルには、プラグインの SHA 値が含まれています。SHA 値は、プラグインの設定時に使用されます。

6.2. プラグインレジストリーの更新

最新の Ansible プラグインファイルを使用して、OpenShift クラスターでプラグインレジストリーアプリケーションを再ビルドします。

前提条件

  • Ansible プラグインファイルをダウンロードした。
  • .tar ファイルを保存したローカルディレクトリーへのパスを表す環境変数 (たとえば、$DYNAMIC_PLUGIN_ROOT_DIR) を設定した。

手順

  1. 認証情報を使用して OpenShift Container Platform インスタンスにログインし、新しいアプリケーションを作成します。
  2. Red Hat Developer Hub OpenShift プロジェクトを開きます。

    $ oc project <YOUR_DEVELOPER_HUB_PROJECT>
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、OpenShift クラスターのプラグインレジストリービルドを更新します。このコマンドは、$DYNAMIC_PLUGIN_ROOT_DIR.tar ファイルのディレクトリーを表すことを前提としています。別の環境変数名を選択した場合は、コマンド内の環境変数名を置き換えてください。

    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
    Copy to Clipboard Toggle word wrap
    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
    Copy to Clipboard Toggle word wrap
  4. レジストリーが起動すると、出力に次のメッセージが表示されます。

    Uploading directory "/path/to/dynamic_plugin_root" as binary input for the build …
    Uploading finished
    build.build.openshift.io/plugin-registry-1 started
    Copy to Clipboard Toggle word wrap

検証

plugin-registry が更新されたことを確認します。

  1. OpenShift UI で、Topology をクリックします。
  2. redhat-developer-hub アイコンをクリックして、プラグインレジストリーの Pod を表示します。
  3. プラグインレジストリー Pod の View logs をクリックします。
  4. Terminal タブを開き、ls を実行して plug-in registry 内の .tar ファイルを表示します。
  5. 新しい .tar ファイルがアップロードされていることを確認します。

6.3. Operator インストールにおける Ansible プラグインのバージョン番号の更新

手順

  1. OpenShift Container Platform インスタンスにログインします。
  2. OpenShift UI で、インストール時に Ansible プラグインを追加した ConfigMap を開きます。この例では、rhaap-dynamic-plugins-config という ConfigMap ファイルを使用します。
  3. xyz を、更新された Ansible プラグインのバージョン番号で更新します。
  4. 各プラグインの integrity 値を、対応する展開された Ansible プラグインの .tar ファイルの .integrity 値で更新します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
     name: rhaap-dynamic-plugins-config
    data:
     dynamic-plugins.yaml: |
       ...
       plugins: # Update the Ansible plug-in entries below with the updated plugin versions
         - disabled: false
           package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
           integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
    	 ...
         - disabled: false
           package: >-
             http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
           integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
           ...
         - disabled: false
           package: >-
             http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
           integrity: <SHA512 value> # Use hash in ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity
    	 ...
    Copy to Clipboard Toggle word wrap
  5. Save をクリックします。

    開発者ハブ Pod が再起動し、プラグインがインストールされます。

検証

  1. OpenShift UI で、Topology をクリックします。
  2. Red Hat Developer Hub インスタンスが利用可能であることを確認します。

Ansible プラグインをアンインストールするには、Red Hat Developer Hub から ansible:content:create アクションを使用するソフトウェアテンプレートをすべて削除し、OpenShift の Helm チャートからプラグイン設定を削除する必要があります。

7.1. Helm チャートインストールのアンインストール

手順

  1. Red Hat Developer Hub で、ansible:content:create アクションを使用するソフトウェアテンプレートを削除します。
  2. OpenShift Developer UI で、Helmdeveloper-hubActionsUpgradeYaml view に移動します。
  3. plugins セクションで Ansible プラグイン設定を削除します。

    ...
    global:
    ...
        plugins:
          - disabled: false
            integrity: <SHA512 value>
            package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
            pluginConfig:
              dynamicPlugins:
                frontend:
                  ansible.plugin-backstage-rhaap:
                    appIcons:
                      - importName: AnsibleLogo
                        name: AnsibleLogo
                    dynamicRoutes:
                      - importName: AnsiblePage
                        menuItem:
                          icon: AnsibleLogo
                          text: Ansible
                        path: /ansible
          - disabled: false
            integrity: <SHA512 value>
            package: >-
              http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
          - disabled: false
            integrity: <SHA512 value>
            package: >-
              http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-backstage-rhaap-backend: null
    Copy to Clipboard Toggle word wrap
  4. extraContainers セクションを削除します。

    upstream:
      backstage: |
        ...
        extraContainers:
          - command:
              - adt
              - server
            image: >-
              registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest
            imagePullPolicy: IfNotPresent
            name: ansible-devtools-server
            ports:
              - containerPort: 8000
        image:
          pullPolicy: Always
          pullSecrets:
            - ...
            - rhdh-secret-registry
        ...
    Copy to Clipboard Toggle word wrap
  5. Upgrade をクリックします。
  6. カスタム Red Hat Developer Hub config map (例: app-config-rhdh) を編集します。
  7. ansible セクションを削除します。

    data:
      app-config-rhdh.yaml: |
        ...
        ansible:
          analytics:
            enabled: true
          devSpaces:
            baseUrl: '<https://MyOwnDevSpacesUrl/>'
          creatorService:
            baseUrl: '127.0.0.1'
            port: '8000'
          rhaap:
            baseUrl: '<https://MyAapSubcriptionUrl>'
            token: '<TopSecretAAPToken>'
            checkSSL: true
          automationHub:
            baseUrl: '<https://MyOwnPAHUrl/>'
    Copy to Clipboard Toggle word wrap
  8. Red Hat Developer Hub のデプロイメントを再起動します。
  9. plugin-registry OpenShift アプリケーションを削除します。

    oc delete all -l app=plugin-registry
    Copy to Clipboard Toggle word wrap

第8章 OpenShift Container Platform 上の Operator インストールのアンインストール

インストールから動的プラグインを削除するには、Ansible を参照する ConfigMaps を編集する必要があります。

ConfigMap を更新すると、デプロイメントが自動的にリロードされます。デプロイメントを手動でリロードする必要はありません。

8.1. ConfigMap から Ansible プラグインを削除する

手順

  1. Ansible プラグインを参照するカスタム ConfigMap を開きます。この例では、ConfigMap 名は rhaap-dynamic-plugins-config です。
  2. plugins: ブロックで動的プラグインを見つけます。

    • プラグインを無効にするには、3 つのプラグインの disabled 属性を true に更新します。
    • プラグインを削除するには、plugins: ブロックからプラグインを参照する行を削除します。

      kind: ConfigMap
      apiVersion: v1
      metadata:
       name: rhaap-dynamic-plugins-config
      data:
       dynamic-plugins.yaml: |
         ...
         plugins: # Remove the Ansible plug-ins entries below the ‘plugins’ YAML key
           - disabled: false
             package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
             integrity: <SHA512 value>
      	 ...
           - disabled: false
             package: >-
               http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
             integrity: <SHA512 value>
             ...
           - disabled: false
             package: >-
               http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
             integrity: <SHA512 value>
      	 ...
      Copy to Clipboard Toggle word wrap
  3. Save をクリックします。

8.2. Red Hat Developer Hub のカスタム ConfigMap から Ansible Automation Platform と Dev Spaces を削除する

手順

  1. テンプレートの設定と Ansible Automation Platform および Dev Spaces への接続設定を追加した Red Hat Developer Hub のカスタム ConfigMap を開きます。この例では、Red Hat Developer Hub の ConfigMap 名は app-config-rhdh です。

    kind: ConfigMap
    apiVersion: v1
    metadata:
     name: rhdh-app-config
    data:
     app-config-custom.yaml: |
       ...
       catalog:
         ...
         locations: # Remove the YAML entry below the 'locations' YAML key
           - type: url
             target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
             rules:
               - allow: [Template]
         ...
       # Remove the entire 'ansible' YAML key and all sub-entries
       ansible:
         devSpaces:
           baseUrl: '<https://YOUR_DEV_SPACES_URL>'
         creatorService:
           baseUrl: '127.0.0.1'
           port: '8000'
         rhaap:
           baseUrl: '<https://YOUR_AAP_URL>'
           token: <REDACTED>
           checkSSL: false
    Copy to Clipboard Toggle word wrap
  2. locations: ブロック内の URL を削除して、RHDH インスタンスからテンプレートを削除します。
  3. ansible: ブロックを削除して、Ansible 固有の設定を削除します。
  4. Save をクリックします。

8.3. サイドカーコンテナーのアンインストール

Ansible 開発ツール用のサイドカーコンテナーを developer-hub Pod から削除するには、Red Hat Developer Hub デプロイメントのベース ConfigMap を変更する必要があります。

手順

  1. OpenShift コンソールで、Topology ビューを選択します。
  2. developer-hub のインスタンスで、More actions ⋮ をクリックし、Edit backstage を選択してベース ConfigMap を編集します。
  3. YAML タブを選択します。
  4. 編集ペインで、spec.deployment.patch.spec.template.spec ブロックからサイドカーコンテナーの containers ブロックを削除します。

    ...
    spec:
      deployment:
        patch:
          spec:
            template:
              spec:
                containers:
                  - command:
                      - adt
                      - server
                    image: ghcr.io/ansible/community-ansible-dev-tools:latest
                    imagePullPolicy: always
                    ports:
                      - containerPort: 8000
                        protocol: TCP
                    terminationMessagePolicy: file
    Copy to Clipboard Toggle word wrap
  5. Save をクリックします。

第9章 Red Hat Developer Hub データ telemetry のキャプチャー

Red Hat Developer Hub (RHDH) は、デフォルトで有効になっている backstage-plugin-analytics-provider-segment プラグインを使用して、telemetry データを Red Hat に送信します。これには、Ansible プラグインからの telemetry データが含まれます。

Red Hat は、以下のデータを収集および分析して、Red Hat Developer Hub のエクスペリエンスを改善します。

  • ページ訪問やリンクまたはボタンのクリックのイベント。
  • システム関連の情報 (ロケール、タイムゾーン、ブラウザーや OS の詳細を含むユーザーエージェントなど)。
  • ページ関連の情報 (タイトル、カテゴリー、拡張機能名、URL、パス、リファラー、検索パラメーターなど)。
  • 匿名の IP アドレス (0.0.0.0 として記録)。
  • 匿名化されたユーザー名ハッシュ。これは、RHDH アプリケーションの一意のユーザー数を識別するためにのみ使用される一意の識別子です。
  • Ansible プラグインのフィードバックフォームで提供されるフィードバックと感想。

Red Hat Developer Hub では、テレメトリーデータ収集機能を無効化またはカスタマイズできます。詳細は、Red Hat Developer Hub ドキュメントの テレメトリーデータの収集と分析 ガイドを参照してください。

法律上の通知

Copyright © 2025 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.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る