第1章 Red Hat Developer Hub Operator を使用した動的プラグインのインストール
動的プラグインの設定は、Backstage カスタムリソース (CR) が参照できる ConfigMap オブジェクトに保存できます。
pluginConfig フィールドが環境変数を参照する場合は、secrets-rhdh シークレットで変数を定義する必要があります。
手順
- OpenShift Container Platform Web コンソールから、ConfigMaps タブを選択します。
- Create ConfigMap をクリックします。
Create ConfigMap ページで、Configure via の YAML view オプションを選択し、必要に応じてファイルを編集します。
GitHub 動的プラグインを使用した
ConfigMapオブジェクトの例kind: ConfigMap apiVersion: v1 metadata: name: dynamic-plugins-rhdh data: dynamic-plugins.yaml: | includes: - dynamic-plugins.default.yaml plugins: - package: './dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic' disabled: false pluginConfig: catalog: providers: github: organization: "${GITHUB_ORG}" schedule: frequency: { minutes: 1 } timeout: { minutes: 1 } initialDelay: { seconds: 100 }- Create をクリックします。
- Topology ビューに移動します。
使用する Red Hat Developer Hub インスタンスのオーバーフローメニューをクリックし、Edit Backstage を選択して、Red Hat Developer Hub インスタンスの YAML ビューを読み込みます。
dynamicPluginsConfigMapNameフィールドをBackstageCR に追加します。以下に例を示します。apiVersion: rhdh.redhat.com/v1alpha1 kind: Backstage metadata: name: my-rhdh spec: application: # ... dynamicPluginsConfigMapName: dynamic-plugins-rhdh # ...- Save をクリックします。
- Topology ビューに戻り、Red Hat Developer Hub Pod が起動するまで待ちます。
- Open URL アイコンをクリックして、新しい設定変更を適用した Red Hat Developer Hub プラットフォームの使用を開始します。
検証
Red Hat Developer Hub のルート URL に
/api/dynamic-plugins-info/loaded-pluginsを追加し、プラグインのリストをチェックして、動的プラグイン設定がロードされていることを確認します。プラグインの例リスト
[ { "name": "backstage-plugin-catalog-backend-module-github-dynamic", "version": "0.5.2", "platform": "node", "role": "backend-plugin-module" }, { "name": "backstage-plugin-techdocs", "version": "1.10.0", "role": "frontend-plugin", "platform": "web" }, { "name": "backstage-plugin-techdocs-backend-dynamic", "version": "1.9.5", "platform": "node", "role": "backend-plugin" }, ]