This documentation is for a release that is no longer maintained
See documentation for the latest supported version.動的プラグインの設定
概要
第1章 Ansible plug-ins for Red Hat Developer Hub のインストール リンクのコピーリンクがクリップボードにコピーされました!
Ansible plug-ins for Red Hat Developer Hub は、厳選されたラーニングパス、ボタン操作によるコンテンツ作成、統合開発ツール、その他の事前設定済みリソースを備えた Ansible 固有のポータルエクスペリエンスを提供します。
Ansible プラグインをインストールして設定するには、Ansible plug-ins for Red Hat Developer Hub のインストール を参照してください。
第2章 Argo CD プラグインの有効化 リンクのコピーリンクがクリップボードにコピーされました!
Argo CD プラグインを使用すると、OpenShift GitOps の継続的デリバリー (CD) のワークフローを視覚化できます。このプラグインは、アプリケーションのステータス、デプロイメントの詳細、コミットメッセージ、コミットの作成者、環境にプロモートされたコンテナーイメージ、およびデプロイメントの履歴の概要を視覚的に提供します。
前提条件
次の例に示すように、Argo CD インスタンス情報を
app-config.yaml設定マップに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Argo CD アプリケーションを特定するために、エンティティーの
catalog-info.yamlファイルに次のアノテーションを追加します。annotations: ... # The label that Argo CD uses to fetch all the applications. The format to be used is label.key=label.value. For example, rht-gitops.com/janus-argocd=quarkus-app. argocd/app-selector: '${ARGOCD_LABEL_SELECTOR}'annotations: ... # The label that Argo CD uses to fetch all the applications. The format to be used is label.key=label.value. For example, rht-gitops.com/janus-argocd=quarkus-app. argocd/app-selector: '${ARGOCD_LABEL_SELECTOR}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) Argo CD インスタンスを切り替えるには、次の例に示すように、エンティティーの
catalog-info.yamlファイルに次のアノテーションを追加します。annotations: ... # The Argo CD instance name used in `app-config.yaml`. argocd/instance-name: '${ARGOCD_INSTANCE}'annotations: ... # The Argo CD instance name used in `app-config.yaml`. argocd/instance-name: '${ARGOCD_INSTANCE}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このアノテーションを設定しなかった場合、Argo CD プラグインは、
app-config.yamlで設定された最初の Argo CD インスタンスをデフォルトで使用します。
手順
dynamic-plugins ConfigMap に以下を追加して、Argo CD プラグインを有効にします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1. Argo CD ロールアウトの有効化 リンクのコピーリンクがクリップボードにコピーされました!
オプションの Argo CD ロールアウト機能は、ブルーグリーンデプロイメントやカナリアデプロイメントなどの高度なデプロイメントストラテジーをアプリケーションに提供することで Kubernetes を強化します。バックステージ Kubernetes プラグインに統合すると、開発者と運用チームは、バックステージインターフェイス内で Argo CD ロールアウトをシームレスに視覚化および管理できるようになります。
前提条件
Backstage Kubernetes プラグイン (
@backstage/plugin-kubernetes) がインストールされ、設定されている。-
カスタムリソースと
ClusterRolesの作成や管理に必要な権限があり、Kubernetes クラスターにアクセスできる。 -
Kubernetes クラスターには、
argoproj.ioグループリソース (Rollouts や AnalysisRuns など) がインストールされている。
手順
Backstage インスタンスの
app-config.yamlファイルで、kubernetes設定に次のcustomResourcesコンポーネントを追加して、Argo Rollouts と AnalysisRuns を有効にします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムリソースに対する
ClusterRole権限を付与します。注記-
Backstage Kubernetes プラグインがすでに設定されている場合は、Rollouts および AnalysisRuns の
ClusterRole権限がすでに付与されている可能性があります。 -
準備したマニフェスト を使用して、Kubernetes プラグインと ArgoCD プラグインの両方に読み取り専用の
ClusterRoleアクセスを割り当てます。
-
ClusterRole権限が付与されていない場合は、次の YAML マニフェストを使用してClusterRoleを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectlを使用してマニフェストをクラスターに適用します。kubectl apply -f <your-clusterrole-file>.yaml
kubectl apply -f <your-clusterrole-file>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
クラスターにアクセスする
ServiceAccountにこのClusterRoleが割り当てられていることを確認します。
-
Backstage Kubernetes プラグインがすでに設定されている場合は、Rollouts および AnalysisRuns の
Backstage の Kubernetes リソースを識別するために、
catalog-info.yamlにアノテーションを追加します。エンティティー ID でリソースを識別する場合:
annotations: ... backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
annotations: ... backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) 名前空間でリソースを識別する場合:
annotations: ... backstage.io/kubernetes-namespace: <RESOURCE_NAMESPACE>
annotations: ... backstage.io/kubernetes-namespace: <RESOURCE_NAMESPACE>Copy to Clipboard Copied! Toggle word wrap Toggle overflow エンティティー ID または名前空間によるリソース識別をオーバーライドするカスタムラベルセレクターを使用する場合:
annotations: ... backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
annotations: ... backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Kubernetes リソースの
backstage.io/kubernetes-label-selectorで宣言されたラベルを必ず指定してください。このアノテーションは、backstage.io/kubernetes-idやbackstage.io/kubernetes-namespaceなどのエンティティーベースまたは名前空間ベースの識別アノテーションをオーバーライドします。
Backstage が適切な Kubernetes リソースを見つけられるように、Kubernetes リソースにラベルを追加します。
Backstage Kubernetes プラグインラベル: このラベルを追加して、リソースを特定の Backstage エンティティーにマップします。
labels: ... backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
labels: ... backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow GitOps アプリケーションマッピング: このラベルを追加して、Argo CD ロールアウトを特定の GitOps アプリケーションにマッピングします。
labels: ... app.kubernetes.io/instance: <GITOPS_APPLICATION_NAME>
labels: ... app.kubernetes.io/instance: <GITOPS_APPLICATION_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記ラベルセレクターアノテーション (backstage.io/kubernetes-label-selector) を使用する場合は、指定されたラベルがリソースに存在することを確認します。ラベルセレクターは、kubernetes-id や kubernetes-namespace などの他のアノテーションをオーバーライドします。
検証
- 更新された設定を GitOps リポジトリーにプッシュして、ロールアウトをトリガーします。
- Red Hat Developer Hub インターフェイスを開き、設定したエンティティーに移動します。
- CD タブを選択し、対象の GitOps アプリケーション を選択します。サイドパネルが開きます。
サイドパネルの Resources テーブルで、次のリソースが表示されていることを確認します。
- Rollouts
- AnalysisRuns (オプション)
ロールアウトリソースを展開し、次の詳細を確認します。
- Revisions の行には、さまざまなロールアウトバージョンのトラフィックの分布が詳細に表示されます。
- Analysis Runs の行には、ロールアウトの成功を評価する分析タスクのステータスが表示されます。
第3章 JFrog Artifactory プラグインのインストールと設定 リンクのコピーリンクがクリップボードにコピーされました!
JFrog Artifactory は、JFrog Artifactory リポジトリーに保存されているコンテナーイメージに関する情報を表示するフロントエンドプラグインです。JFrog Artifactory プラグインは Developer Hub に事前インストールされており、デフォルトで無効になっています。これを使用するには、まず有効化および設定を行う必要があります。
JFrog Artifactory プラグインはテクノロジープレビュー機能です。
テクノロジープレビュー機能は、実稼働環境での Red Hat サービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポートの詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
バンドルされたコミュニティーの動的プラグインに対する Red Hat のサポートの詳細は、Red Hat Developer サポートポリシー のページを参照してください。
3.1. インストール リンクのコピーリンクがクリップボードにコピーされました!
JFrog Artifactory プラグインは、基本的な設定プロパティーを使用して Developer Hub に事前にインストールされています。これを有効にするには、次のように、disabled プロパティーを false に設定します。
3.2. 設定 リンクのコピーリンクがクリップボードにコピーされました!
以下のように、
app-config.yamlファイルで目的の JFrog Artifactory サーバーにプロキシーを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のアノテーションをエンティティーの
catalog-info.yamlファイルに追加して、RHDH コンポーネントで JFrog Artifactory プラグイン機能を有効にします。metadata: annotations: 'jfrog-artifactory/image-name': '<IMAGE-NAME>'metadata: annotations: 'jfrog-artifactory/image-name': '<IMAGE-NAME>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第4章 Keycloak のインストールと設定 リンクのコピーリンクがクリップボードにコピーされました!
Keycloak を Developer Hub に統合する Keycloak バックエンドプラグインには、次の機能があります。
- レルム内の Keycloak ユーザーの同期
- レルム内の Keycloak グループとそのユーザーの同期
サポートされている Red Hat build of Keycloak (RHBK) バージョンは 24.0 です。
4.1. インストール リンクのコピーリンクがクリップボードにコピーされました!
Keycloak プラグインは、基本的な設定プロパティーとともに Developer Hub にプリロードされています。これを有効にするには、次のように、disabled プロパティーを false に設定します。
4.2. Basic configuration リンクのコピーリンクがクリップボードにコピーされました!
Keycloak プラグインを有効にするには、次の環境変数を設定する必要があります。
-
KEYCLOAK_BASE_URL -
KEYCLOAK_LOGIN_REALM -
KEYCLOAK_REALM -
KEYCLOAK_CLIENT_ID -
KEYCLOAK_CLIENT_SECRET
4.3. 詳細設定 リンクのコピーリンクがクリップボードにコピーされました!
スケジュール設定
次のように、app-config.yaml ファイルでスケジュールを設定できます。
app-config.yaml ファイルのスケジュールに変更を加えた場合は、再起動して変更を適用します。
Keycloak クエリーパラメーター
次のように、app-config.yaml ファイル内のデフォルトの Keycloak クエリーパラメーターをオーバーライドできます。
Developer Hub と Keycloak 間の通信は、Keycloak API を使用して有効になります。ユーザー名およびパスワード、またはクライアント認証情報は、認証方法に対応しています。
以下の表は、app-config.yaml ファイルの catalog.providers.keycloakOrg.<ENVIRONMENT_NAME> オブジェクトでプラグインを有効にするために設定できるパラメーターを説明しています。
| 名前 | 説明 | デフォルト値 | 必須 |
|---|---|---|---|
|
|
Keycloak サーバーの場所 (例: | "" | はい |
|
| 同期するレルム |
| なし |
|
| 認証に使用するレルム |
| なし |
|
| 認証するユーザー名 | "" | パスワードベースの認証を使用している場合は Yes |
|
| 認証するパスワード | "" | パスワードベースの認証を使用している場合は Yes |
|
| 認証するクライアント ID | "" | クライアントクレデンシャルベースの認証を使用している場合は Yes |
|
| 認証するクライアントシークレット | "" | クライアントクレデンシャルベースの認証を使用している場合は Yes |
|
| 一度にクエリーするユーザーの数 |
| なし |
|
| 一度にクエリーするグループの数 |
| なし |
クライアントクレデンシャルを使用する場合は、アクセスタイプを confidential に設定し、サービスアカウントを有効にする必要があります。realm-management クライアントロールから以下のロールも追加する必要があります。
-
query-groups -
query-users -
view-users
4.4. 制限 リンクのコピーリンクがクリップボードにコピーされました!
自己署名または企業証明書に問題がある場合は、Developer Hub を開始する前に以下の環境変数を設定できます。
NODE_TLS_REJECT_UNAUTHORIZED=0
環境変数を設定するソリューションは推奨されません。
第5章 Nexus Repository Manager プラグインのインストールおよび設定 リンクのコピーリンクがクリップボードにコピーされました!
Nexus Repository Manager プラグインは、Developer Hub アプリケーションのビルドアーティファクトに関する情報を表示します。ビルドアーティファクトは Nexus Repository Manager で入手できます。
Nexus Repository Manager プラグインは、テクノロジープレビュー機能のみです。
テクノロジープレビュー機能は、実稼働環境での Red Hat サービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポートの詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
バンドルされたコミュニティーの動的プラグインに対する Red Hat のサポートの詳細は、Red Hat Developer サポートポリシー のページを参照してください。
5.1. インストール リンクのコピーリンクがクリップボードにコピーされました!
Nexus Repository Manager プラグインは、基本的な設定プロパティーとともに Developer Hub にプリロードされています。これを有効にするには、次のように、disabled プロパティーを false に設定します。
5.2. 設定 リンクのコピーリンクがクリップボードにコピーされました!
次のように、
app-config.yamlファイルでプロキシーを目的の Nexus Repository Manager サーバーに設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: Nexus Repository Manager プロキシーのベース URL を次のように変更します。
nexusRepositoryManager: # default path is `/nexus-repository-manager` proxyPath: /custom-pathnexusRepositoryManager: # default path is `/nexus-repository-manager` proxyPath: /custom-pathCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次の実験的アノテーションを有効にします。
nexusRepositoryManager: experimentalAnnotations: truenexusRepositoryManager: experimentalAnnotations: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のアノテーションを使用してエンティティーにアノテーションを付けます。
metadata: annotations: # insert the chosen annotations here # example nexus-repository-manager/docker.image-name: `<ORGANIZATION>/<REPOSITORY>`,metadata: annotations: # insert the chosen annotations here # example nexus-repository-manager/docker.image-name: `<ORGANIZATION>/<REPOSITORY>`,Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第6章 Tekton プラグインのインストールと設定 リンクのコピーリンクがクリップボードにコピーされました!
Tekton プラグインを使用すると、Kubernetes または OpenShift クラスターでの CI/CD パイプライン実行の結果を視覚化できます。このプラグインを使用すると、ユーザーはアプリケーションのパイプラインに含まれるすべての関連タスクの概略ステータスを視覚的に確認できます。
6.1. インストール リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
@backstage/plugin-kubernetesおよび@backstage/plugin-kubernetes-backend動的プラグインがインストールおよび設定されている。 -
Kubernetes プラグインが、
ServiceAccountを使用してクラスターに接続するように設定されている。 ServiceAccountがクラスターにアクセスするように、ClusterRoleがカスタムリソース (PipelineRuns および TaskRuns) に付与されている。注記RHDH Kubernetes プラグインが設定されている場合、
ClusterRoleはすでに付与されています。-
Pod ログを表示するために、
pods/logの権限を付与している。 以下のコードを使用して、カスタムリソースおよび Pod ログに
ClusterRoleを付与することができます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 読み取り専用の
ClusterRole用に準備されたマニフェストを使用できます。これにより、Kubernetes プラグインと Tekton プラグインの両方にアクセスできるようになります。以下のアノテーションをエンティティーの
catalog-info.yamlファイルに追加し、エンティティーに Kubernetes リソースが含まれているかどうかを特定します。annotations: ... backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
annotations: ... backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow また、
backstage.io/kubernetes-namespaceアノテーションを追加して、定義された namespace を使用して Kubernetes リソースを識別することもできます。annotations: ... backstage.io/kubernetes-namespace: <RESOURCE_NS>
annotations: ... backstage.io/kubernetes-namespace: <RESOURCE_NS>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のアノテーションをエンティティーの
catalog-info.yamlファイルに追加して、RHDH で Tekton 関連の機能を有効にします。アノテーションの値は、RHDH エンティティーの名前を識別します。annotations: ... janus-idp.io/tekton : <BACKSTAGE_ENTITY_NAME>
annotations: ... janus-idp.io/tekton : <BACKSTAGE_ENTITY_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHDH が Kubernetes リソースを検索するために使用する、カスタムラベルセレクターを追加します。ラベルセレクターは ID アノテーションよりも優先されます。
annotations: ... backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
annotations: ... backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes プラグインが要求されたエンティティーから Kubernetes リソースを取得できるように、以下のラベルをリソースに追加します。
labels: ... backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
labels: ... backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ラベルセレクターを使用する場合は、上記のラベルがリソースに存在する必要があります。
手順
Tekton プラグインは、基本的な設定プロパティーとともに RHDH にプリロードされています。これを有効にするには、次のように、disabled プロパティーを false に設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第7章 トポロジープラグインのインストールと設定 リンクのコピーリンクがクリップボードにコピーされました!
7.1. インストール リンクのコピーリンクがクリップボードにコピーされました!
トポロジープラグインを使用すると、Kubernetes クラスター上のあらゆるサービスを動かすデプロイメント、ジョブ、デーモンセット、ステートフルセット、CronJob、Pod、仮想マシンなどのワークロードを視覚化できます。
前提条件
- @backstage/plugin-kubernetes-backend 動的プラグインがインストールおよび設定されている。
- Kubernetes プラグインが、ServiceAccount を使用してクラスターに接続するように設定されている。
ClusterRoleが、クラスターにアクセスする ServiceAccount に付与されている。注記Developer Hub Kubernetes プラグインが設定されている場合は、
ClusterRoleはすでに付与されています。
手順
トポロジープラグインは、基本的な設定プロパティーとともに Developer Hub にプリロードされています。これを有効にするには、次のように、disabled プロパティーを false に設定します。
app-config.yamlフラグメントCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2. 設定 リンクのコピーリンクがクリップボードにコピーされました!
7.2.1. OpenShift ルートの表示 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift ルートを表示するには、クラスターロールのルートリソースへの読み取りアクセス権を付与する必要があります。
また、app-config.yaml ファイルの kubernetes.customResources プロパティーにも以下を追加する必要があります。
7.2.2. Pod ログの表示 リンクのコピーリンクがクリップボードにコピーされました!
Pod ログを表示するには、ClusterRole に次の権限を付与する必要があります。
7.2.3. Tekton PipelineRuns の表示 リンクのコピーリンクがクリップボードにコピーされました!
Tekton PipelineRuns を表示するには、ClusterRole の pipelines、pipelinesruns、taskruns リソースへの読み取りアクセス権を付与する必要があります。
サイドパネルで Tekton PipelineRuns リストを表示し、Topology ノードデコレーターで最新の PipelineRuns ステータスを表示するには、app-config.yaml ファイルの kubernetes.customResources プロパティーに次のコードを追加する必要があります。
7.2.4. 仮想マシンの表示 リンクのコピーリンクがクリップボードにコピーされました!
仮想マシンを表示するには、Kubernetes クラスターに OpenShift Virtualization Operator をインストールして設定する必要があります。ClusterRole の VirtualMachines リソースへの読み取りアクセス権も付与する必要があります。
トポロジープラグインで仮想マシンノードを表示するには、app-config.yaml ファイルの kubernetes.customResources プロパティーに次のコードを追加する必要があります。
7.2.5. ソースコードエディターの有効化 リンクのコピーリンクがクリップボードにコピーされました!
ソースコードエディターを有効にするには、次のサンプルコードに示すように、ClusterRole の CheClusters リソースへの読み取りアクセス権を付与する必要があります。
ソースコードエディターを使用するには、app-config.yaml ファイルの kubernetes.customResources プロパティーに次の設定を追加する必要があります。
7.2.6. ラベルとアノテーション リンクのコピーリンクがクリップボードにコピーされました!
7.2.6.1. ソースコードエディターまたはソースへのリンク リンクのコピーリンクがクリップボードにコピーされました!
ソースコードエディターを使用して、関連付けられているアプリケーションの Git リポジトリーに移動するには、デプロイメントなどのワークロードリソースに次のアノテーションを追加します。
annotations: app.openshift.io/vcs-uri: <GIT_REPO_URL>
annotations:
app.openshift.io/vcs-uri: <GIT_REPO_URL>
特定のブランチに移動するには、次のアノテーションを追加します。
annotations: app.openshift.io/vcs-ref: <GIT_REPO_BRANCH>
annotations:
app.openshift.io/vcs-ref: <GIT_REPO_BRANCH>
Red Hat OpenShift Dev Spaces がインストールおよび設定されており、git URL アノテーションもワークロード YAML ファイルに追加されている場合は、編集コードデコレーターをクリックすると、Red Hat OpenShift Dev Spaces インスタンスにリダイレクトされます。
OCP Git インポートフローを使用してアプリケーションをデプロイする場合は、インポートフローによってラベルが追加されるため、独自に追加する必要はありません。それ以外の場合は、ワークロード YAML ファイルにラベルを手動で追加する必要があります。
デコレーターを使用してアクセスする編集 URL を含む app.openshift.io/edit-url アノテーションを追加することもできます。
7.2.6.2. エンティティーアノテーション/ラベル リンクのコピーリンクがクリップボードにコピーされました!
RHDH がエンティティーに Kubernetes コンポーネントがあることを検出するには、エンティティーの catalog-info.yaml に次のアノテーションを追加します。
annotations: backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
annotations:
backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
Kubernetes プラグインが要求されたエンティティーから Kubernetes リソースを取得できるように、次のラベルがリソースに追加されます。リソースに次のラベルを追加します。
labels: backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>`
labels:
backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>`
ラベルセレクターを使用する場合は、上記のラベルがリソースに存在する必要があります。
7.2.6.3. namespace アノテーション リンクのコピーリンクがクリップボードにコピーされました!
定義された namespace を使用して Kubernetes リソースを識別するには、backstage.io/kubernetes-namespace アノテーションを追加します。
annotations: backstage.io/kubernetes-namespace: <RESOURCE_NS>
annotations:
backstage.io/kubernetes-namespace: <RESOURCE_NS>
backstage.io/kubernetes-namespace アノテーションが catalog-info.yaml ファイルに追加されている場合、ソースコードエディターを使用して Red Hat OpenShift Dev Spaces インスタンスにアクセスすることはできません。
インスタンス URL を取得するには、CheCluster カスタムリソース (CR) が必要です。CheCluster CR は openshift-devspaces namespace に作成されるため、namespace のアノテーション値が openshift-devspaces でない場合、インスタンス URL は取得されません。
7.2.6.4. ラベルセレクタークエリーアノテーション リンクのコピーリンクがクリップボードにコピーされました!
RHDH が Kubernetes リソースを見つけるために使用する独自のカスタムラベルを作成できます。ラベルセレクターは ID アノテーションよりも優先されます。
annotations: backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
annotations:
backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
Red Hat Dev Spaces が設定されているときに複数のエンティティーがあり、複数のエンティティーで Red Hat Dev Spaces インスタンスにリダイレクトする編集コードデコレーターをサポートする必要がある場合は、各エンティティーの catalog-info.yaml ファイルに backstage.io/kubernetes-label-selector アノテーションを追加できます。
annotations: backstage.io/kubernetes-label-selector: 'component in (<BACKSTAGE_ENTITY_NAME>,che)'
annotations:
backstage.io/kubernetes-label-selector: 'component in (<BACKSTAGE_ENTITY_NAME>,che)'
以前のラベルセレクターを使用している場合は、Kubernetes プラグインが要求されたエンティティーから Kubernetes リソースを取得できるように、次のラベルをリソースに追加する必要があります。
labels: component: che # add this label to your che cluster instance labels: component: <BACKSTAGE_ENTITY_NAME> # add this label to the other resources associated with your entity
labels:
component: che # add this label to your che cluster instance
labels:
component: <BACKSTAGE_ENTITY_NAME> # add this label to the other resources associated with your entity
エンティティーを区別するために、一意のラベルを使用してラベルセレクター用の独自のカスタムクエリーを作成することもできます。ただし、CheCluster インスタンスを含むエンティティーに関連付けられたリソースにこれらのラベルを確実に追加する必要があります。
7.2.6.5. ノードに表示されるアイコン リンクのコピーリンクがクリップボードにコピーされました!
トポロジーノードにランタイムアイコンを表示するには、デプロイメントなどのワークロードリソースに次のラベルを追加します。
labels: app.openshift.io/runtime: <RUNTIME_NAME>
labels:
app.openshift.io/runtime: <RUNTIME_NAME>
あるいは、次のラベルを含めてランタイムアイコンを表示することもできます。
labels: app.kubernetes.io/name: <RUNTIME_NAME>
labels:
app.kubernetes.io/name: <RUNTIME_NAME>
<RUNTIME_NAME> でサポートされる値は次のとおりです。
- django
- dotnet
- drupal
- go-gopher
- golang
- grails
- jboss
- jruby
- js
- nginx
- nodejs
- openjdk
- perl
- phalcon
- php
- python
- quarkus
- rails
- redis
- rh-spring-boot
- rust
- java
- rh-openjdk
- ruby
- spring
- spring-boot
その他の値の場合、ノードのアイコンはレンダリングされません。
7.2.6.6. アプリケーションのグループ化 リンクのコピーリンクがクリップボードにコピーされました!
ビジュアルグループ内のデプロイメントや Pod などのワークロードリソースを表示するには、次のラベルを追加します。
labels: app.kubernetes.io/part-of: <GROUP_NAME>
labels:
app.kubernetes.io/part-of: <GROUP_NAME>
7.2.6.7. ノードコネクター リンクのコピーリンクがクリップボードにコピーされました!
ビジュアルコネクターを使用してデプロイメントや Pod などのワークロードリソースを表示するには、次のアノテーションを追加します。
annotations:
app.openshift.io/connects-to: '[{"apiVersion": <RESOURCE_APIVERSION>,"kind": <RESOURCE_KIND>,"name": <RESOURCE_NAME>}]'
annotations:
app.openshift.io/connects-to: '[{"apiVersion": <RESOURCE_APIVERSION>,"kind": <RESOURCE_KIND>,"name": <RESOURCE_NAME>}]'
ラベルとアノテーションの詳細は、Guidelines for labels and annotations for OpenShift applications を参照してください。
第8章 GitHub リポジトリーの一括インポート リンクのコピーリンクがクリップボードにコピーされました!
この章の機能はテクノロジープレビュー機能です。テクノロジープレビュー機能は、実稼働環境での Red Hat サービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポートの詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Red Hat Developer Hub は、GitHub リポジトリーのオンボーディングを自動化し、インポートステータスを追跡できます。
8.1. 一括インポート機能の有効化とアクセス権の付与 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーに対して一括インポート機能を有効にし、アクセスするために必要な権限を付与できます。
前提条件
手順
Bulk Import プラグインはインストールされていますが、デフォルトでは無効になっています。
./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamicおよび./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-importプラグインを有効にするには、dynamic-plugins.yamlを次の内容で編集します。dynamic-plugins.yamlフラグメントplugins: - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic disabled: false - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: falseplugins: - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic disabled: false - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Developer Hub でのプラグインのインストールと表示 を参照してください。
管理者ではないユーザーに対して必要な
bulk.importRBAC 権限を次のように設定します。rbac-policy.csvフラグメントp, role:default/bulk-import, bulk.import, use, allow g, user:default/<your_user>, role:default/bulk-import
p, role:default/bulk-import, bulk.import, use, allow g, user:default/<your_user>, role:default/bulk-importCopy to Clipboard Copied! Toggle word wrap Toggle overflow 一括インポート機能を使用できるのは、Developer Hub 管理者または
bulk.import権限を持つユーザーのみであることに注意してください。Red Hat Developer Hub のパーミッションポリシー を参照してください。
検証
- サイドバーに Bulk Import オプションが表示されます。
- Bulk Import ページには、Added Repositories のリストが表示されます。
8.2. 複数の GitHub リポジトリーのインポート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Developer Hub では、GitHub リポジトリーを選択し、Developer Hub カタログへのオンボーディングを自動化できます。
手順
- 左側のサイドバーで Bulk Import をクリックします。
右上隅の Add ボタンをクリックすると、設定された GitHub インテグレーションからアクセスできるすべてのリポジトリーのリストが表示されます。
-
Repositories ビューから、任意のリポジトリーを選択したり、アクセス可能なリポジトリーを検索したりできます。選択されたリポジトリーごとに、
catalog-info.yamlが生成されます。 - Organizations ビューでは、3 番目の列の Select をクリックして任意の組織を選択できます。このオプションを使用すると、選択した組織から 1 つ以上のリポジトリーを選択できます。
-
Repositories ビューから、任意のリポジトリーを選択したり、アクセス可能なリポジトリーを検索したりできます。選択されたリポジトリーごとに、
各リポジトリーのプルリクエストの詳細を表示または編集するには、Preview file をクリックします。
-
プルリクエストの説明と
catalog-info.yamlファイルの内容を確認します。 -
オプション: リポジトリーに
.github/CODEOWNERSファイルがある場合は、content-info.yamlに特定のエンティティー所有者を含めるのではなく、Use CODEOWNERS file as Entity Owner チェックボックスを選択してそのファイルを使用できます。 - Save をクリックします。
-
プルリクエストの説明と
Create pull requests をクリックします。この時点で、選択したリポジトリーに対して一連のドライランチェックが実行され、次のようなインポートの要件を満たしているかどうかが確認されます。
-
リポジトリー
catalog-info.yamlで指定された名前のエンティティーが Developer Hub カタログに存在しないことを確認します。 - リポジトリーが空でないことを確認します。
リポジトリーの Use CODEOWNERS file as Entity Owner チェックボックスが選択されている場合、リポジトリーに
.github/CODEOWNERSファイルが含まれていることを確認します。- エラーが発生した場合、プルリクエストは作成されず、問題の詳細を示す Failed to create PR のエラーメッセージが表示されます。理由の詳細を表示するには、Edit をクリックします。
- エラーがなければ、プルリクエストが作成され、追加されたリポジトリーのリストにリダイレクトされます。
-
リポジトリー
-
catalog-info.ymlファイルを作成する各プルリクエストを確認し、マージします。
検証
- Added repositories リストには、インポートしたリポジトリーが、それぞれ適切なステータス Waiting for approval または Added とともに表示されます。
-
リストされている Waiting for approval のインポートジョブごとに、対応するリポジトリーに
catalog-info.yamlファイルを追加するための、対応するプルリクエストがあります。
8.3. 追加されたリポジトリーの管理 リンクのコピーリンクがクリップボードにコピーされました!
Developer Hub にインポートされたリポジトリーを監視および管理できます。
前提条件
手順
左側のサイドバーで Bulk Import をクリックして、Import ジョブとして追跡されている現在のすべてのリポジトリーとそのステータスを表示します。
- Added
-
インポートプルリクエストがマージされた後、または一括インポート中にリポジトリーに
catalog-info.yamlファイルがすでに含まれていた場合、リポジトリーは Developer Hub カタログに追加されます。カタログでエンティティーが利用可能になるまで数分かかる場合があります。 - Waiting for approval
catalog-info.yamlファイルをリポジトリーに追加するオープンプルリクエストがあります。これにより、以下が可能になります。- 右側の 鉛筆アイコン をクリックして、プルリクエストの詳細を表示するか、Developer Hub からプルリクエストのコンテンツを編集します。
- インポートジョブを削除します。この操作により、インポート PR も閉じられます。
- インポートジョブを Added 状態に移行するには、Git リポジトリーからのインポートプルリクエストをマージします。
- Empty
-
リポジトリーは他のソースからインポートされていますが、
catalog-info.yamlファイルがなく、それを追加するインポートプルリクエストもないため、Developer Hub はインポートジョブのステータスを判別できません。
- インポートプルリクエストがマージされると、インポートステータスは Added Repositories のリストで Added としてマークされますが、対応するエンティティーが Developer Hub カタログに表示されるまでに数秒かかる場合があります。
他のソースから追加された場所 (
app-config.yamlファイルで静的に追加された場所、GitHub 検出を有効にする ときに動的に追加された場所、または「既存のコンポーネントの登録」ページを使用して手動で登録された場所など) は、次の条件が満たされていると、追加されたリポジトリーの一括インポートリストに表示されることがあります。- ターゲットリポジトリーには、設定された GitHub インテグレーションからアクセスできます。
-
場所 URL は、リポジトリーのデフォルトブランチのルートにある
catalog-info.yamlファイルを指します。
8.4. 一括インポート監査ログについて リンクのコピーリンクがクリップボードにコピーされました!
Bulk Import backend プラグインは、Developer Hub 監査ログに次のイベントを追加します。監査ログの設定方法と表示方法の詳細は、Red Hat Developer Hub の監査ログ を参照してください。
一括インポートイベント:
BulkImportUnknownEndpoint- 不明なエンドポイントへの要求を追跡します。
BulkImportPing-
/pingエンドポイントへのGETリクエストを追跡し、一括インポートバックエンドが稼働していることを確認できます。 BulkImportFindAllOrganizations-
/organizationsエンドポイントへのGETリクエストを追跡します。これにより、設定されたすべての GitHub インテグレーションからアクセス可能な組織のリストが返されます。 BulkImportFindRepositoriesByOrganization-
/organizations/:orgName/repositoriesエンドポイントへのGETリクエストを追跡します。このエンドポイントは、指定された組織のリポジトリーのリストを返します (設定された GitHub インテグレーションのいずれかからアクセス可能)。 BulkImportFindAllRepositories-
/repositoriesエンドポイントへの GET リクエストを追跡し、設定されたすべての GitHub インテグレーションからアクセス可能なリポジトリーのリストを返します。 BulkImportFindAllImports-
/importsエンドポイントへのGETリクエストを追跡し、既存のインポートジョブのリストとそのステータスを返します。 BulkImportCreateImportJobs-
/importsエンドポイントへのPOSTリクエストを追跡します。これにより、ターゲットリポジトリーにインポートプルリクエストを作成して、1 つまたは複数のリポジトリーを Developer Hub カタログに一括インポートするリクエストを送信できます。 BulkImportFindImportStatusByRepo-
指定されたリポジトリーのインポートジョブの詳細を取得する
/import/by-repoエンドポイントへのGETリクエストを追跡します。 BulkImportDeleteImportByRepo-
/import/by-repoエンドポイントへのDELETEリクエストを追跡します。これにより、作成された可能性があり、未対応のインポートプルリクエストをすべて終了し、指定されたリポジトリーの既存のインポートジョブがすべて削除されます。
監査ログの一括インポートの例
第9章 Red Hat Developer Hub の ServiceNow カスタムアクション リンクのコピーリンクがクリップボードにコピーされました!
この章の機能はテクノロジープレビュー機能です。テクノロジープレビュー機能は、実稼働環境での Red Hat サービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポートの詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Red Hat Developer Hub では、カタログ内のリソースを取得して登録する ServiceNow カスタムアクション (カスタムアクション) にアクセスできます。
Developer Hub のカスタムアクションを使用すると、レコードの管理を容易化、自動化できます。カスタムアクションを使用すると、次の操作を実行できます。
- レコードの作成、更新、または削除
- 1 つまたは複数のレコードに関する情報の取得
9.1. Red Hat Developer Hub の ServiceNow カスタムアクションプラグインの有効化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Developer Hub では、ServiceNow カスタムアクションはプリロードされたプラグインとして提供されますが、デフォルトでは無効になっています。次の手順でカスタムアクションプラグインを有効にできます。
前提条件
- Red Hat Developer Hub がインストールされ、実行されている。Developer Hub のインストールの詳細は、Helm チャートを使用した OpenShift Container Platform への Red Hat Developer Hub のインストール を参照してください。
- Developer Hub でプロジェクトを作成した。
手順
カスタムアクションプラグインを有効にするには、プラグイン名を持つ
packageを追加し、Helm チャートのdisabledフィールドを次のように更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記プラグインのデフォルト設定は、
dynamic-plugins.default.yamlファイルから抽出されます。ただし、pluginConfigエントリーを使用すると、デフォルト設定をオーバーライドできます。カスタムアクションにアクセスするには、Helm チャートで次の変数を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2. Red Hat Developer Hub でサポートされている ServiceNow カスタムアクション リンクのコピーリンクがクリップボードにコピーされました!
ServiceNow カスタムアクションを使用すると、Red Hat Developer Hub でレコードを管理できます。カスタムアクションは、API 要求で次の HTTP メソッドをサポートします。
-
GET: 指定したリソースのエンドポイントから指定した情報を取得する -
POST: リソースを作成または更新する -
PUT: リソースを変更する -
PATCH: リソースを更新する -
DELETE: リソースを削除する
9.2.1. ServiceNow カスタムアクション リンクのコピーリンクがクリップボードにコピーされました!
- [GET] servicenow:now:table:retrieveRecord
Developer Hub のテーブルから指定のレコードの情報を取得します。
Expand 表9.1 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードの取得元のテーブル名
sysIdstring必須
取得するレコードの一意の識別子
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。Expand 表9.2 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [GET] servicenow:now:table:retrieveRecords
Developer Hub のテーブルから複数のレコードに関する情報を取得します。
Expand 表9.3 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードの取得元のテーブル名
sysparamQuerystring任意
結果をフィルタリングするために使用するエンコードされたクエリー文字列
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmSuppressPaginationHeaderboolean任意
ページネーションヘッダーを抑制するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmLimitint任意
ページごとに返される結果の最大数。デフォルト値は
10,000です。sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。sysparmQueryCategorystring任意
クエリーに使用するクエリーカテゴリーの名前
sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。sysparmNoCountboolean任意
テーブルに対して select count (*) を実行しません。デフォルト値は
falseです。Expand 表9.4 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [POST] servicenow:now:table:createRecord
Developer Hub のテーブルにレコードを作成します。
Expand 表9.5 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードの保存先のテーブル名
requestBodyRecord<PropertyKey, unknown>任意
指定のレコードで定義する各パラメーターのフィールド名と関連する値
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmInputDisplayValueboolean任意
trueに設定して表示値を使用するか、falseに設定して実際の値を使用してフィールド値を設定します。デフォルト値はfalseです。sysparmSuppressAutoSysFieldboolean任意
システムフィールドの自動生成を抑制するには、
trueに設定します。デフォルト値はfalseです。sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。Expand 表9.6 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [PUT] servicenow:now:table:modifyRecord
Developer Hub のテーブルのレコードを変更します。
Expand 表9.7 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードを変更するテーブルの名前
sysIdstring必須
変更するレコードの一意の識別子
requestBodyRecord<PropertyKey, unknown>任意
指定のレコードで定義する各パラメーターのフィールド名と関連する値
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmInputDisplayValueboolean任意
trueに設定して表示値を使用するか、falseに設定して実際の値を使用してフィールド値を設定します。デフォルト値はfalseです。sysparmSuppressAutoSysFieldboolean任意
システムフィールドの自動生成を抑制するには、
trueに設定します。デフォルト値はfalseです。sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。Expand 表9.8 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [PATCH] servicenow:now:table:updateRecord
Developer Hub のテーブルのレコードを更新します。
Expand 表9.9 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードを更新するテーブルの名前
sysIdstring必須
更新するレコードの一意の識別子
requestBodyRecord<PropertyKey, unknown>任意
指定のレコードで定義する各パラメーターのフィールド名と関連する値
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmInputDisplayValueboolean任意
trueに設定して表示値を使用するか、falseに設定して実際の値を使用してフィールド値を設定します。デフォルト値はfalseです。sysparmSuppressAutoSysFieldboolean任意
システムフィールドの自動生成を抑制するには、
trueに設定します。デフォルト値はfalseです。sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。Expand 表9.10 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [DELETE] servicenow:now:table:deleteRecord
Developer Hub のテーブルからレコードを削除します。
Expand 表9.11 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードを削除するテーブルの名前
sysIdstring必須
削除するレコードの一意の識別子
sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。
第10章 コアバックエンドサービス設定のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Developer Hub (RHDH) バックエンドプラットフォームは、適切にカプセル化された多数のコアサービスで構成されます。RHDH バックエンドは、初期化中にこれらのデフォルトのコアサービスを静的にインストールします。
バックエンドソースコードをカスタマイズし、Developer Hub アプリケーションを再構築することで、これらのコアサービスを設定できます。または、動的プラグイン機能を使用してコアサービスを BackendFeature としてインストールし、カスタマイズできます。
動的プラグイン機能を使用して RHDH アプリケーションのコアサービスをカスタマイズするには、特定のデフォルトのコアサービスが静的にインストールされないようにバックエンドを設定する必要があります。
たとえば、すべての受信要求を処理するミドルウェア関数を追加するには、基礎となる Express アプリケーションへのアクセスを許可する root HTTP ルーターバックエンドサービスのカスタム configure 関数をインストールします。
受信 HTTP 要求を処理する BackendFeature ミドルウェア関数の例
上記の例では、BackendFeature が HTTP ルーターサービスのデフォルト実装をオーバーライドするため、Developer Hub がデフォルトの実装を自動的にインストールしないように、ENABLE_CORE_ROOTHTTPROUTER_OVERRIDE 環境変数を true に設定する必要があります。
10.1. 環境変数のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
動的プラグインがコアサービスのオーバーライドをロードできるようにするには、対応するコアサービス ID 環境変数を true に設定して Developer Hub バックエンドを起動する必要があります。
| 変数 | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|