Red Hat Developer Hub でのプラグインの設定


Red Hat Developer Hub 1.2

Red Hat Customer Content Services

概要

Red Hat Developer Hub は、開発者ポータルを構築するための開発者プラットフォームです。Developer Hub でプラグインを追加および設定して、さまざまなソフトウェア開発ツールにアクセスできます。

はじめに

Red Hat Developer Hub は、プラグインによって拡張されたエンタープライズレベルの統合開発者プラットフォームであり、開発者の抵抗やフラストレーションを軽減しながら生産性を向上させます。

Red Hat Developer Hub のサポート

このマニュアルに記載されている手順で問題が発生した場合は、Red Hat カスタマーポータル を参照してください。Red Hat カスタマーポータルは次の目的に使用できます。

  • Red Hat 製品に関する技術サポート記事の Red Hat ナレッジベースの検索または閲覧。
  • Red Hat Global Support Services (GSS) の サポートケース の作成。サポートケースを作成するには、製品として Red Hat Developer Hub を選択し、適切な製品バージョンを選択してください。

第1章 Red Hat Developer Hub のプラグイン

Red Hat Developer Hub アプリケーションは、さまざまなプラグインを備えた統合プラットフォームを提供します。Developer Hub アプリケーション内のプラグインエコシステムを使用すると、あらゆる種類の開発インフラストラクチャーやソフトウェア開発ツールにアクセスできます。

Developer Hub のプラグインは、全体的なユーザーエクスペリエンスの一貫性を維持することで生産性を最大化し、開発ワークフローを合理化します。

第2章 動的プラグインのインストール

動的プラグインのサポートは、バックエンドプラグインマネージャーパッケージに基づいています。これは、設定されたルートディレクトリー (app config 内の dynamicPlugins.rootDirectory) をスキャンして動的プラグインパッケージを探し、動的にロードするサービスです。

Red Hat Developer Hub に事前にインストールされている動的プラグインを使用することも、パブリック NPM レジストリーから外部動的プラグインをインストールすることもできます。

2.1. インストール済みプラグインの表示

Dynamic Plugins Info フロントエンドプラグインを使用すると、Red Hat Developer Hub アプリケーションに現在インストールされているプラグインを表示できます。このプラグインはデフォルトで有効です。

手順

  1. Developer Hub アプリケーションを開き、Administration をクリックします。
  2. Plugins タブに移動し、インストールされているプラグインのリストと関連情報を表示します。

2.2. 事前にインストール済みの動的プラグイン

Red Hat Developer Hub には、厳選された動的プラグインが事前にインストールされています。カスタム設定を必要とする動的プラグインは、デフォルトでは無効になっています。

このリリースの Developer Hub に事前にインストールされている動的プラグインの完全なリストは、動的プラグインのサポートマトリクス を参照してください。

アプリケーションが起動すると、デフォルトで無効になっているプラグインごとに、Developer Hub Pod のログ内の install-dynamic-plugins init container に次のようなメッセージが表示されます。

======= Skipping disabled dynamic plugin ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic

このプラグインを有効にするには、同じ名前のパッケージを Helm チャートに追加し、disabled フィールドの値を ‘false’ に変更します。以下に例を示します。

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic
        disabled: false
注記

プラグインのデフォルト設定は、dynamic-plugins.default.yaml` ファイルから抽出されます。ただし、pluginConfig エントリーを使用すると、デフォルト設定をオーバーライドできます。

2.2.1. 事前にインストールされた動的プラグインの説明と詳細

重要

テクノロジープレビュー機能は、実稼働環境での Red Hat サービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポートの詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

バンドルされたコミュニティーの動的プラグインに対する Red Hat のサポートの詳細は、Red Hat Developer サポートポリシー のページを参照してください。

Red Hat Developer Hub では 60 個のプラグインが利用可能です。詳細は、以下の表を参照してください。

Expand
表2.1 動的プラグインのサポートマトリクス
名前プラグインロールバージョンサポートレベルパス必須の変数デフォルト

3scale

@janus-idp/backstage-plugin-3scale-backend

バックエンド

1.5.15

Red Hat テクノロジープレビュー

./dynamic-plugins/dist/janus-idp-backstage-plugin-3scale-backend-dynamic

THREESCALE_BASE_URL

THREESCALE_ACCESS_TOKEN

Disabled

Ansible Automation Platform (AAP)

@janus-idp/backstage-plugin-aap-backend

バックエンド

1.6.15

Red Hat テクノロジープレビュー

./dynamic-plugins/dist/janus-idp-backstage-plugin-aap-backend-dynamic

AAP_BASE_URL

AAP_AUTH_TOKEN

Disabled

ACR

@janus-idp/backstage-plugin-acr

フロントエンド

1.4.13

Red Hat テクノロジープレビュー

./dynamic-plugins/dist/janus-idp-backstage-plugin-acr

 

Disabled

Analytics Provider Segment

@janus-idp/backstage-plugin-analytics-provider-segment

フロントエンド

1.4.9

実稼働

./dynamic-plugins/dist/janus-idp-backstage-plugin-analytics-provider-segment

SEGMENT_WRITE_KEY

SEGMENT_TEST_MODE

Enabled

Argo CD

@janus-idp/backstage-plugin-argocd

フロントエンド

1.2.3

実稼働

./dynamic-plugins/dist/janus-idp-backstage-plugin-argocd

 

Disabled

Argo CD

@roadiehq/backstage-plugin-argo-cd

フロントエンド

2.6.5

実稼働

./dynamic-plugins/dist/roadiehq-backstage-plugin-argo-cd

 

Disabled

Argo CD

@roadiehq/backstage-plugin-argo-cd-backend

バックエンド

3.0.2

実稼働

./dynamic-plugins/dist/roadiehq-backstage-plugin-argo-cd-backend-dynamic

ARGOCD_USERNAME

ARGOCD_PASSWORD

ARGOCD_INSTANCE1_URL

ARGOCD_AUTH_TOKEN

ARGOCD_INSTANCE2_URL

ARGOCD_AUTH_TOKEN2

Disabled

Argo CD

@roadiehq/scaffolder-backend-argocd

バックエンド

1.1.27

コミュニティーサポート

./dynamic-plugins/dist/roadiehq-scaffolder-backend-argocd-dynamic

ARGOCD_USERNAME

ARGOCD_PASSWORD

ARGOCD_INSTANCE1_URL

ARGOCD_AUTH_TOKEN

ARGOCD_INSTANCE2_URL

ARGOCD_AUTH_TOKEN2

Disabled

Azure

@backstage/plugin-scaffolder-backend-module-azure

バックエンド

0.1.9

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-azure-dynamic

 

Enabled

Azure Devops

@backstage/plugin-azure-devops

フロントエンド

0.4.4

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-azure-devops

 

Disabled

Azure Devops

@backstage/plugin-azure-devops-backend

バックエンド

0.6.5

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-azure-devops-backend-dynamic

AZURE_TOKEN

AZURE_ORG

Disabled

Azure Repositories

@parfuemerie-douglas/scaffolder-backend-module-azure-repositories

バックエンド

0.2.7

コミュニティーサポート

./dynamic-plugins/dist/parfuemerie-douglas-scaffolder-backend-module-azure-repositories

 

Disabled

Bitbucket Cloud

@backstage/plugin-catalog-backend-module-bitbucket-cloud

バックエンド

0.2.4

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic

BITBUCKET_WORKSPACE

Disabled

Bitbucket Cloud

@backstage/plugin-scaffolder-backend-module-bitbucket-cloud

バックエンド

0.1.7

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic

 

Enabled

Bitbucket Server

@backstage/plugin-catalog-backend-module-bitbucket-server

バックエンド

0.1.31

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic

BITBUCKET_HOST

Disabled

Bitbucket Server

@backstage/plugin-scaffolder-backend-module-bitbucket-server

バックエンド

0.1.7

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic

 

Enabled

Datadog

@roadiehq/backstage-plugin-datadog

フロントエンド

2.2.8

コミュニティーサポート

./dynamic-plugins/dist/roadiehq-backstage-plugin-datadog

 

Disabled

Dynatrace

@backstage/plugin-dynatrace

フロントエンド

10.0.4

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-dynatrace

 

Disabled

Gerrit

@backstage/plugin-scaffolder-backend-module-gerrit

バックエンド

0.1.9

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-gerrit-dynamic

 

Enabled

GitHub

@backstage/plugin-catalog-backend-module-github

バックエンド

0.6.0

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic

GITHUB_ORG

Disabled

GitHub

@backstage/plugin-scaffolder-backend-module-github

バックエンド

0.2.7

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-github-dynamic

 

Enabled

GitHub Actions

@backstage/plugin-github-actions

フロントエンド

0.6.16

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-github-actions

 

Disabled

GitHub Insights

@roadiehq/backstage-plugin-github-insights

フロントエンド

2.3.29

コミュニティーサポート

./dynamic-plugins/dist/roadiehq-backstage-plugin-github-insights

 

Disabled

GitHub Issues

@backstage/plugin-github-issues

フロントエンド

0.4.2

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-github-issues

 

Disabled

GitHub Org

@backstage/plugin-catalog-backend-module-github-org

バックエンド

0.1.12

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic

GITHUB_URL

GITHUB_ORG

Disabled

GitHub Pull Requests

@roadiehq/backstage-plugin-github-pull-requests

フロントエンド

2.5.26

コミュニティーサポート

./dynamic-plugins/dist/roadiehq-backstage-plugin-github-pull-requests

 

Disabled

GitLab

@immobiliarelabs/backstage-plugin-gitlab

フロントエンド

6.5.0

コミュニティーサポート

./dynamic-plugins/dist/immobiliarelabs-backstage-plugin-gitlab

 

Disabled

GitLab

@backstage/plugin-catalog-backend-module-gitlab

バックエンド

0.3.15

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-gitlab-dynamic

 

Disabled

GitLab

@immobiliarelabs/backstage-plugin-gitlab-backend

バックエンド

6.5.0

コミュニティーサポート

./dynamic-plugins/dist/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic

GITLAB_HOST

GITLAB_TOKEN

Disabled

GitLab

@backstage/plugin-scaffolder-backend-module-gitlab

バックエンド

0.3.3

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-gitlab-dynamic

 

Enabled

GitLab Org

@backstage/plugin-catalog-backend-module-gitlab-org

バックエンド

0.3.10

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-gitlab-org-dynamic

 

Disabled

Http Request

@roadiehq/scaffolder-backend-module-http-request

バックエンド

4.3.2

コミュニティーサポート

./dynamic-plugins/dist/roadiehq-scaffolder-backend-module-http-request-dynamic

 

Enabled

Jenkins

@backstage/plugin-jenkins

フロントエンド

0.9.10

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-jenkins

 

Disabled

Jenkins

@backstage/plugin-jenkins-backend

バックエンド

0.4.5

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-jenkins-backend-dynamic

JENKINS_URL

JENKINS_USERNAME

JENKINS_TOKEN

Disabled

JFrog Artifactory

@janus-idp/backstage-plugin-jfrog-artifactory

フロントエンド

1.4.11

Red Hat テクノロジープレビュー

./dynamic-plugins/dist/janus-idp-backstage-plugin-jfrog-artifactory

 

Disabled

Jira

@roadiehq/backstage-plugin-jira

フロントエンド

2.5.8

コミュニティーサポート

./dynamic-plugins/dist/roadiehq-backstage-plugin-jira

 

Disabled

Keycloak

@janus-idp/backstage-plugin-keycloak-backend

バックエンド

1.9.12

実稼働

./dynamic-plugins/dist/janus-idp-backstage-plugin-keycloak-backend-dynamic

KEYCLOAK_BASE_URL

KEYCLOAK_LOGIN_REALM

KEYCLOAK_REALM

KEYCLOAK_CLIENT_ID

KEYCLOAK_CLIENT_SECRET

Disabled

Kubernetes

@backstage/plugin-kubernetes

フロントエンド

0.11.9

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-kubernetes

 

Disabled

Kubernetes

@backstage/plugin-kubernetes-backend

バックエンド

0.17.0

実稼働

./dynamic-plugins/dist/backstage-plugin-kubernetes-backend-dynamic

K8S_CLUSTER_NAME

K8S_CLUSTER_URL

K8S_CLUSTER_TOKEN

Disabled

Lighthouse

@backstage/plugin-lighthouse

フロントエンド

0.4.20

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-lighthouse

 

Disabled

Nexus Repository Manager

@janus-idp/backstage-plugin-nexus-repository-manager

フロントエンド

1.6.10

Red Hat テクノロジープレビュー

./dynamic-plugins/dist/janus-idp-backstage-plugin-nexus-repository-manager

 

Disabled

OCM

@janus-idp/backstage-plugin-ocm

フロントエンド

4.1.8

実稼働

./dynamic-plugins/dist/janus-idp-backstage-plugin-ocm

 

Disabled

OCM

@janus-idp/backstage-plugin-ocm-backend

バックエンド

4.0.9

実稼働

./dynamic-plugins/dist/janus-idp-backstage-plugin-ocm-backend-dynamic

OCM_HUB_NAME

OCM_HUB_URL

moc_infra_token

Disabled

PagerDuty

@pagerduty/backstage-plugin

フロントエンド

0.12.0

コミュニティーサポート

./dynamic-plugins/dist/pagerduty-backstage-plugin

 

Disabled

Quay

@janus-idp/backstage-plugin-quay

フロントエンド

1.7.8

実稼働

./dynamic-plugins/dist/janus-idp-backstage-plugin-quay

 

Disabled

Quay

@janus-idp/backstage-scaffolder-backend-module-quay

バックエンド

1.4.12

実稼働

./dynamic-plugins/dist/janus-idp-backstage-scaffolder-backend-module-quay-dynamic

 

Enabled

RBAC

@janus-idp/backstage-plugin-rbac

フロントエンド

1.24.1

実稼働

./dynamic-plugins/dist/janus-idp-backstage-plugin-rbac

 

Disabled

Regex

@janus-idp/backstage-scaffolder-backend-module-regex

バックエンド

1.4.12

実稼働

./dynamic-plugins/dist/janus-idp-backstage-scaffolder-backend-module-regex-dynamic

 

Enabled

Scaffolder Relation Processor

@janus-idp/backstage-plugin-catalog-backend-module-scaffolder-relation-processor

バックエンド

1.0.3

Red Hat テクノロジープレビュー

./dynamic-plugins/dist/janus-idp-backstage-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic

 

Enabled

Security Insights

@roadiehq/backstage-plugin-security-insights

フロントエンド

2.3.17

コミュニティーサポート

./dynamic-plugins/dist/roadiehq-backstage-plugin-security-insights

 

Disabled

ServiceNow

@janus-idp/backstage-scaffolder-backend-module-servicenow

バックエンド

1.4.14

Red Hat テクノロジープレビュー

./dynamic-plugins/dist/janus-idp-backstage-scaffolder-backend-module-servicenow-dynamic

SERVICENOW_BASE_URL

SERVICENOW_USERNAME

SERVICENOW_PASSWORD

Disabled

SonarQube

@backstage/plugin-sonarqube

フロントエンド

0.7.17

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-sonarqube

 

Disabled

SonarQube

@backstage/plugin-sonarqube-backend

バックエンド

0.2.20

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-sonarqube-backend-dynamic

SONARQUBE_URL

SONARQUBE_TOKEN

Disabled

SonarQube

@janus-idp/backstage-scaffolder-backend-module-sonarqube

バックエンド

1.4.12

Red Hat テクノロジープレビュー

./dynamic-plugins/dist/janus-idp-backstage-scaffolder-backend-module-sonarqube-dynamic

 

Disabled

TechDocs

@backstage/plugin-techdocs

フロントエンド

1.10.4

実稼働

./dynamic-plugins/dist/backstage-plugin-techdocs

 

Enabled

TechDocs

@backstage/plugin-techdocs-backend

バックエンド

1.10.4

実稼働

./dynamic-plugins/dist/backstage-plugin-techdocs-backend-dynamic

 

Enabled

Tech Radar

@backstage/plugin-tech-radar

フロントエンド

0.7.4

コミュニティーサポート

./dynamic-plugins/dist/backstage-plugin-tech-radar

 

Disabled

Tekton

@janus-idp/backstage-plugin-tekton

フロントエンド

3.7.7

実稼働

./dynamic-plugins/dist/janus-idp-backstage-plugin-tekton

 

Disabled

Topology

@janus-idp/backstage-plugin-topology

フロントエンド

1.21.10

実稼働

./dynamic-plugins/dist/janus-idp-backstage-plugin-topology

 

Disabled

Utils

@roadiehq/scaffolder-backend-module-utils

バックエンド

1.15.3

コミュニティーサポート

./dynamic-plugins/dist/roadiehq-scaffolder-backend-module-utils-dynamic

 

Enabled

注記

2.3. Red Hat Developer Hub Operator を使用した動的プラグインの設定

動的プラグインの設定は、Backstage カスタムリソース (CR) が参照できる ConfigMap オブジェクトに保存できます。

注記

pluginConfig フィールドが環境変数を参照する場合は、secrets-rhdh シークレットで変数を定義する必要があります。

手順

  1. OpenShift Container Platform Web コンソールから、ConfigMaps タブを選択します。
  2. Create ConfigMap をクリックします。
  3. Create ConfigMap ページで、Configure viaYAML 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 }

  4. Create をクリックします。
  5. Topology ビューに移動します。
  6. 使用する Red Hat Developer Hub インスタンスのオーバーフローメニューをクリックし、Edit Backstage を選択して、Red Hat Developer Hub インスタンスの YAML ビューを読み込みます。

    Operator インストール 2
  7. dynamicPluginsConfigMapName フィールドを Backstage CR に追加します。以下に例を示します。

    apiVersion: rhdh.redhat.com/v1alpha1
    kind: Backstage
    metadata:
      name: my-rhdh
    spec:
      application:
    # ...
        dynamicPluginsConfigMapName: dynamic-plugins-rhdh
    # ...
  8. Save をクリックします。
  9. Topology ビューに戻り、Red Hat Developer Hub Pod が起動するまで待ちます。
  10. 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"
      },
    ]

2.4. Helm チャートを使用した動的プラグインのインストール

柔軟なインストール方法である Helm チャートを使用して、Developer Hub インスタンスをデプロイできます。Helm chart を使用すると、コードを再コンパイルしたりコンテナーを再ビルドしたりすることなく、動的プラグインを Developer Hub インスタンスにサイドロードできます。

Helm を使用して Developer Hub に動的プラグインをインストールするには、Helm チャートに次の global.dynamic パラメーターを追加します。

  • plugins: インストールを目的とした動的プラグインのリスト。デフォルトでは、リストは空です。プラグインのリストには次のフィールドを入力できます。

    • package: インストールする動的プラグインパッケージのパッケージ仕様。パッケージは、ローカルまたは外部の動的プラグインのインストールに使用できます。ローカルインストールの場合は、動的プラグインを含むローカルフォルダーへのパスを使用します。外部インストールの場合は、パブリック NPM リポジトリーのパッケージ仕様を使用します。
    • integrity (外部パッケージの場合に必要): パッケージ固有の <alg>-<digest> 形式の整合性チェックサム。サポートされるアルゴリズムは、sha256sha384sha512 です。
    • pluginConfig: オプションのプラグイン固有の app-config YAML フラグメント。詳細は、プラグインの設定を参照してください。
    • disabled: true に設定すると、動的プラグインが無効になります。デフォルト: false
  • includes: 同じ構文を使用する YAML ファイルのリスト。
注記

includes ファイル内の plugins リストは、main Helm values の plugins リストとマージされます。プラグインパッケージが両方の plugins リストに記載されている場合、main Helm values の plugins フィールドが includes ファイルの plugins フィールドをオーバーライドします。デフォルト設定には、dynamic-plugins.default.yaml ファイルが含まれています。このファイルには、デフォルトで有効か無効かに関係なく、Developer Hub に事前にインストールされているすべての動的プラグインが含まれます。

2.4.1. 整合性チェックサムの取得

整合性チェックサムを取得するには、次のコマンドを入力します。

npm view <package name>@<version> dist.integrity

2.4.2. 動的プラグインインストール用の Helm chart 設定の例

次の例は、特定の種類の動的プラグインインストール用に Helm chart を設定する方法を示しています。

外部プラグインが特定のアプリケーション設定を必要とする場合に、ローカルプラグインと外部プラグインを設定する

global:
  dynamic:
    plugins:
      - package: <alocal package-spec used by npm pack>
      - package: <external package-spec used by npm pack>
        integrity: sha512-<some hash>
        pluginConfig: ...

含まれるファイルからプラグインを無効にする

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: <some imported plugins listed in dynamic-plugins.default.yaml>
        disabled: true

含まれるファイルからプラグインを有効にする

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: <some imported plugins listed in dynamic-plugins.custom.yaml>
        disabled: false

含まれるファイルで無効になっているプラグインを有効にする

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: <some imported plugins listed in dynamic-plugins.custom.yaml>
        disabled: false

2.4.3. Helm chart を使用した外部動的プラグインのインストール

NPM レジストリーには、デモンストレーションの目的で使用できる外部動的プラグインが含まれています。たとえば、次のコミュニティープラグインは、NPMJS リポジトリーの janus-idp 組織で使用できます。

  • Notifications (フロントエンドおよびバックエンド)
  • Kubernetes actions (scaffolder actions)

Notifications プラグインおよび Kubernetes actions プラグインをインストールするには、次の例に示すように、global.dynamic.plugins リストの Helm chart values に当該プラグインを追加します。

global:
  dynamic:
    plugins:
      - package: '@janus-idp/plugin-notifications-backend-dynamic@1.3.6'
        # Integrity can be found at https://registry.npmjs.org/@janus-idp/plugin-notifications-backend-dynamic
        integrity: 'sha512-Qd8pniy1yRx+x7LnwjzQ6k9zP+C1yex24MaCcx7dGDPT/XbTokwoSZr4baSSn8jUA6P45NUUevu1d629mG4JGQ=='
      - package: '@janus-idp/plugin-notifications@1.1.12
'
        # https://registry.npmjs.org/@janus-idp/plugin-notifications

        integrity: 'sha512-GCdEuHRQek3ay428C8C4wWgxjNpNwCXgIdFbUUFGCLLkBFSaOEw+XaBvWaBGtQ5BLgE3jQEUxa+422uzSYC5oQ=='
        pluginConfig:
          dynamicPlugins:
            frontend:
              janus-idp.backstage-plugin-notifications:
                appIcons:
                  - name: notificationsIcon
                    module: NotificationsPlugin
                    importName: NotificationsActiveIcon
                dynamicRoutes:
                  - path: /notifications
                    importName: NotificationsPage
                    module: NotificationsPlugin
                    menuItem:
                      icon: notificationsIcon
                      text: Notifications
                    config:
                      pollingIntervalMs: 5000
      - package: '@janus-idp/backstage-scaffolder-backend-module-kubernetes-dynamic@1.3.5'
        # https://registry.npmjs.org/@janus-idp/backstage-scaffolder-backend-module-kubernetes-dynamic
        integrity: 'sha512-19ie+FM3QHxWYPyYzE0uNdI5K8M4vGZ0SPeeTw85XPROY1DrIY7rMm2G0XT85L0ZmntHVwc9qW+SbHolPg/qRA=='
          proxy:
            endpoints:
              /explore-backend-completed:
                target: 'http://localhost:7017'
      - package: '@dfatwork-pkgs/search-backend-module-explore-wrapped-dynamic@0.1.3-next.1'
        # https://registry.npmjs.org/@dfatwork-pkgs/search-backend-module-explore-wrapped-dynamic
        integrity: 'sha512-mv6LS8UOve+eumoMCVypGcd7b/L36lH2z11tGKVrt+m65VzQI4FgAJr9kNCrjUZPMyh36KVGIjYqsu9+kgzH5A=='
      - package: '@dfatwork-pkgs/plugin-catalog-backend-module-test-dynamic@0.0.0'
        # https://registry.npmjs.org/@dfatwork-pkgs/plugin-catalog-backend-module-test-dynamic
        integrity: 'sha512-YsrZMThxJk7cYJU9FtAcsTCx9lCChpytK254TfGb3iMAYQyVcZnr5AA/AU+hezFnXLsr6gj8PP7z/mCZieuuDA=='

2.5. 動的プラグインパッケージのカスタム NPM レジストリーの使用

注記

カスタム NPM レジストリーをセットアップすることで、エアギャップ環境に外部プラグインをインストールできます。

Helm chart を使用して、動的プラグインパッケージの NPM レジストリー URL と認証情報を設定できます。npm pack を使用して取得した動的プラグインパッケージの場合は、.npmrc ファイルを使用できます。

Helm chart を使用して、次の内容で dynamic-plugins-npmrc という名前のシークレットを作成し、.npmrc ファイルを NPM レジストリーに追加します。

apiVersion: v1
kind: Secret
metadata:
  name: dynamic-plugins-npmrc
type: Opaque
stringData:
  .npmrc: |
    registry=<registry-url>
    //<registry-url>:_authToken=<auth-token>
          ...

2.6. 動的プラグインの基本設定

一部の動的プラグインでは、環境変数を設定する必要があります。必須の環境変数が設定されておらず、プラグインが有効になっている場合、アプリケーションの起動に失敗する可能性があります。

各プラグインで必須の環境変数は、動的プラグインのサポートマトリクス にリストされています。

注記

ZIB 爆弾の検出: 大きなファイルを含む動的プラグインをインストールするときに、インストールスクリプトがパッケージアーカイブを ZIB 爆弾と判断すると、インストールが失敗します。

パッケージアーカイブ内のファイルの最大許容サイズを増やすには、デプロイメント install-dynamic-plugins initContainerMAX_ENTRY_SIZE 環境値を、デフォルトサイズの 20000000 バイトより大きくします。

2.7. Red Hat Developer Hub 用の Ansible プラグインのインストールと使用

Ansible plug-ins for Red Hat Developer Hub は、厳選されたラーニングパス、ボタン操作によるコンテンツ作成、統合開発ツール、その他の事前設定済みリソースを備えた Ansible 固有のポータルエクスペリエンスを提供します。

重要

Ansible プラグインはテクノロジープレビュー機能です。

テクノロジープレビュー機能は、実稼働環境での Red Hat サービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポートの詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

バンドルされたコミュニティーの動的プラグインに対する Red Hat のサポートの詳細は、Red Hat Developer サポートポリシー のページを参照してください。

2.7.1. 管理者の場合

Ansible プラグインをインストールして設定するには、Ansible plug-ins for Red Hat Developer Hub のインストール を参照してください。

2.7.2. ユーザーの場合

Ansible プラグインを使用するには、Ansible plug-ins for Red Hat Developer Hub の使用 を参照してください。

2.8. Keycloak のインストールと設定

Keycloak を Developer Hub に統合する Keycloak バックエンドプラグインには、次の機能があります。

  • レルム内の Keycloak ユーザーの同期
  • レルム内の Keycloak グループとそのユーザーの同期

2.8.1. 管理者の場合

2.8.1.1. インストール

Keycloak プラグインは、基本的な設定プロパティーとともに Developer Hub にプリロードされています。これを有効にするには、次のように、disabled プロパティーを false に設定します。

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-keycloak-backend-dynamic
        disabled: false
2.8.1.2. Basic configuration

Keycloak プラグインを有効にするには、次の環境変数を設定する必要があります。

  • KEYCLOAK_BASE_URL
  • KEYCLOAK_LOGIN_REALM
  • KEYCLOAK_REALM
  • KEYCLOAK_CLIENT_ID
  • KEYCLOAK_CLIENT_SECRET
2.8.1.3. 詳細設定

スケジュール設定

次のように、app-config.yaml ファイルでスケジュールを設定できます。

     catalog:
       providers:
         keycloakOrg:
           default:
             # ...
             # highlight-add-start
             schedule: # optional; same options as in TaskScheduleDefinition
               # supports cron, ISO duration, "human duration" as used in code
               frequency: { minutes: 1 }
               # supports ISO duration, "human duration" as used in code
               timeout: { minutes: 1 }
               initialDelay: { seconds: 15 }
               # highlight-add-end
注記

app-config.yaml ファイルのスケジュールに変更を加えた場合は、再起動して変更を適用します。

Keycloak クエリーパラメーター

次のように、app-config.yaml ファイル内のデフォルトの Keycloak クエリーパラメーターをオーバーライドできます。

   catalog:
     providers:
       keycloakOrg:
         default:
           # ...
           # highlight-add-start
           userQuerySize: 500 # Optional
           groupQuerySize: 250 # Optional
           # highlight-add-end

Developer Hub と Keycloak 間の通信は、Keycloak API を使用して有効になります。ユーザー名およびパスワード、またはクライアント認証情報は、認証方法に対応しています。

以下の表は、app-config.yaml ファイルの catalog.providers.keycloakOrg.<ENVIRONMENT_NAME> オブジェクトでプラグインを有効にするために設定できるパラメーターを説明しています。

Expand
名前説明デフォルト値必須

baseUrl

Keycloak サーバーの場所 (例: https://localhost:8443/auth)。Keycloak の新しいバージョンでは、/auth コンテキストパスが省略されることに注意してください。

""

はい

realm

同期するレルム

master

いいえ

loginRealm

認証に使用するレルム

master

いいえ

username

認証するユーザー名

""

パスワードベースの認証を使用している場合は Yes

password

認証するパスワード

""

パスワードベースの認証を使用している場合は Yes

clientId

認証するクライアント ID

""

クライアントクレデンシャルベースの認証を使用している場合は Yes

clientSecret

認証するクライアントシークレット

""

クライアントクレデンシャルベースの認証を使用している場合は Yes

userQuerySize

一度にクエリーするユーザーの数

100

いいえ

groupQuerySize

一度にクエリーするグループの数

100

いいえ

クライアントクレデンシャルを使用する場合は、アクセスタイプを confidential に設定し、サービスアカウントを有効にする必要があります。realm-management クライアントロールから以下のロールも追加する必要があります。

  • query-groups
  • query-users
  • view-users
2.8.1.4. 制限

自己署名または企業証明書に問題がある場合は、Developer Hub を開始する前に以下の環境変数を設定できます。

NODE_TLS_REJECT_UNAUTHORIZED=0

注記

環境変数を設定するソリューションは推奨されません。

2.8.2. ユーザーの場合

2.8.2.1. Keycloak プラグインを使用した Developer Hub へのユーザーとグループのインポート

プラグインが正常に設定されると、プラグインは起動するたびにユーザーとグループをインポートします。

注記

スケジュールを設定すると、ユーザーとグループもインポートされます。

最初のインポートが完了したら、User を選択して、カタログページからユーザーの一覧を表示できます。

catalog-list

ページにユーザーの一覧が表示されます。

user-list

ユーザーを選択すると、Keycloak からインポートされた情報が表示されます。

user-profile

グループを選択し、リストを表示して、Keycloak からインポートされたグループの情報を選択または表示することもできます。

group-profile

2.9. 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 サポートポリシー のページを参照してください。

2.9.1. 管理者の場合

2.9.1.1. Nexus Repository Manager プラグインのインストールおよび設定

インストール

Nexus Repository Manager プラグインは、基本的な設定プロパティーとともに Developer Hub にプリロードされています。これを有効にするには、次のように、disabled プロパティーを false に設定します。

global:
  dynamic:
    includes:
      - dynamic-plugins.default.yaml
    plugins:
      - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-nexus-repository-manager
        disabled: false

設定

  1. 次のように、app-config.yaml ファイルでプロキシーを目的の Nexus Repository Manager サーバーに設定します。

    proxy:
        '/nexus-repository-manager':
        target: 'https://<NEXUS_REPOSITORY_MANAGER_URL>'
        headers:
            X-Requested-With: 'XMLHttpRequest'
            # Uncomment the following line to access a private Nexus Repository Manager using a token
            # Authorization: 'Bearer <YOUR TOKEN>'
        changeOrigin: true
        # Change to "false" in case of using self hosted Nexus Repository Manager instance with a self-signed certificate
        secure: true
  2. オプション: Nexus Repository Manager プロキシーのベース URL を次のように変更します。

    nexusRepositoryManager:
        # default path is `/nexus-repository-manager`
        proxyPath: /custom-path
  3. オプション: 次の実験的アノテーションを有効にします。

    nexusRepositoryManager:
        experimentalAnnotations: true
  4. 以下のアノテーションを使用してエンティティーにアノテーションを付けます。

    metadata:
        annotations:
        # insert the chosen annotations here
        # example
        nexus-repository-manager/docker.image-name: `<ORGANIZATION>/<REPOSITORY>`,

2.9.2. ユーザーの場合

2.9.2.1. Developer Hub での Nexus Repository Manager プラグインの使用

Nexus Repository Manager は、ビルドアーティファクトに関する情報を表示できるフロントエンドプラグインです。

前提条件

手順

  1. Developer Hub アプリケーションを開き、Catalog ページからコンポーネントを選択します。
  2. BUILD ARTIFACTS タブに移動します。

    BUILD ARTIFACTS タブには、ビルドアーティファクトのリストと、VERSIONREPOSITORYREPOSITORY TYPEMANIFESTMODIFIEDSIZE などの関連情報が含まれます。

    nexus-repository-manager-tab

2.10. Tekton のインストールと設定

Tekton プラグインを使用すると、Kubernetes または OpenShift クラスターでの CI/CD パイプライン実行の結果を視覚化できます。このプラグインを使用すると、ユーザーはアプリケーションのパイプラインに含まれるすべての関連タスクの概略ステータスを視覚的に確認できます。

2.10.1. 管理者の場合

2.10.1.1. インストール

前提条件

  • @backstage/plugin-kubernetes および @backstage/plugin-kubernetes-backend 動的プラグインがインストールおよび設定されている。
  • Kubernetes プラグインが、ServiceAccount を使用してクラスターに接続するように設定されている。
  • ServiceAccount がクラスターにアクセスするように、ClusterRole がカスタムリソース (PipelineRuns および TaskRuns) に付与されている。

    注記

    RHDH Kubernetes プラグインが設定されている場合、ClusterRole はすでに付与されています。

  • Pod ログを表示するために、pods/log の権限を付与している。
  • 以下のコードを使用して、カスタムリソースおよび Pod ログに ClusterRole を付与することができます。

    kubernetes:
       ...
       customResources:
         - group: 'tekton.dev'
           apiVersion: 'v1'
           plural: 'pipelineruns'
         - group: 'tekton.dev'
           apiVersion: 'v1'
    
    
     ...
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: backstage-read-only
      rules:
        - apiGroups:
            - ""
          resources:
            - pods/log
          verbs:
            - get
            - list
            - watch
        ...
        - apiGroups:
            - tekton.dev
          resources:
            - pipelineruns
            - taskruns
          verbs:
            - get
            - list

    読み取り専用の ClusterRole 用に準備されたマニフェストを使用できます。これにより、Kubernetes プラグインと Tekton プラグインの両方にアクセスできるようになります。

  • 以下のアノテーションをエンティティーの catalog-info.yaml ファイルに追加し、エンティティーに Kubernetes リソースが含まれているかどうかを特定します。

    annotations:
      ...
    
      backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
  • また、backstage.io/kubernetes-namespace アノテーションを追加して、定義された namespace を使用して Kubernetes リソースを識別することもできます。

    annotations:
      ...
    
      backstage.io/kubernetes-namespace: <RESOURCE_NS>
  • 以下のアノテーションをエンティティーの catalog-info.yaml ファイルに追加して、RHDH で Tekton 関連の機能を有効にします。アノテーションの値は、RHDH エンティティーの名前を識別します。

    annotations:
      ...
    
      janus-idp.io/tekton : <BACKSTAGE_ENTITY_NAME>
  • RHDH が Kubernetes リソースを検索するために使用する、カスタムラベルセレクターを追加します。ラベルセレクターは ID アノテーションよりも優先されます。

    annotations:
      ...
    
      backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
  • Kubernetes プラグインが要求されたエンティティーから Kubernetes リソースを取得できるように、以下のラベルをリソースに追加します。

    labels:
      ...
    
      backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
    注記

    ラベルセレクターを使用する場合は、上記のラベルがリソースに存在する必要があります。

手順

  • Tekton プラグインは、基本的な設定プロパティーとともに RHDH にプリロードされています。これを有効にするには、次のように、disabled プロパティーを false に設定します。

    global:
      dynamic:
        includes:
          - dynamic-plugins.default.yaml
        plugins:
          - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-tekton
            disabled: false

2.10.2. ユーザーの場合

2.10.2.1. RHDH での Tekton プラグインの使用

Tekton フロントエンドプラグインを使用して PipelineRun リソースを表示できます。

前提条件

手順

  1. RHDH アプリケーションを開き、Catalog ページからコンポーネントを選択します。
  2. CI タブに移動します。

    CI タブには、Kubernetes クラスターに関連付けられた PipelineRun リソースのリストが表示されます。リストには、NAMEVULNERABILITIESSTATUSTASK STATUSSTARTEDDURATION などのパイプライン実行の詳細が含まれます。

    ci-cd-tab-tekton
  3. リスト内の PipelineRun 名の横にある行展開ボタンをクリックして、PipelineRun の視覚化を表示します。パイプライン実行リソースには、完了すべきタスクが含まれます。タスクカードにマウスポインターをかざすと、その特定のタスクを完了する手順を表示できます。

    ci-cd-tab-tekton

2.11. Argo CD プラグインの有効化と設定

Argo CD プラグインを使用すると、OpenShift GitOps の継続的デリバリー (CD) のワークフローを視覚化できます。このプラグインは、アプリケーションのステータス、デプロイメントの詳細、コミットメッセージ、コミットの作成者、環境にプロモートされたコンテナーイメージ、およびデプロイメントの履歴の概要を視覚的に提供します。

2.11.1. 管理者の場合

2.11.1.1. Argo CD プラグインの有効化

前提条件

  • 次の例に示すように、Argo CD インスタンス情報を app-config.yaml 設定マップに追加します。

    argocd:
      appLocatorMethods:
        - type: 'config'
          instances:
            - name: argoInstance1
              url: https://argoInstance1.com
              username: ${ARGOCD_USERNAME}
              password: ${ARGOCD_PASSWORD}
            - name: argoInstance2
              url: https://argoInstance2.com
              username: ${ARGOCD_USERNAME}
              password: ${ARGOCD_PASSWORD}
  • 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}'
  • (オプション) Argo CD インスタンスを切り替えるには、次の例に示すように、エンティティーの catalog-info.yaml ファイルに次のアノテーションを追加します。

     annotations:
       ...
        # The Argo CD instance name used in `app-config.yaml`.
    
        argocd/instance-name: '${ARGOCD_INSTANCE}'
    注記

    このアノテーションを設定しなかった場合、Argo CD プラグインは、app-config.yaml で設定された最初の Argo CD インスタンスをデフォルトで使用します。

手順

  1. dynamic-plugins ConfigMap に以下を追加して、Argo CD プラグインを有効にします。

    global:
      dynamic:
        includes:
          - dynamic-plugins.default.yaml
        plugins:
          - package: ./dynamic-plugins/dist/roadiehq-backstage-plugin-argo-cd-backend-dynamic
            disabled: false
          - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-argocd
            disabled: false

2.11.2. ユーザーの場合

前提条件

  • Red Hat Developer Hub RHDH で Argo CD プラグインが有効にされている。

手順

  1. Catalog タブを選択し、使用するコンポーネントを選択します。
  2. CD タブを選択して、Argo CD によって管理されるデプロイメントの詳細を表示します。

    CD タブ (Argo CD)
  3. 適切なカードを選択すると、デプロイメントの詳細 (コミットメッセージ、作成者名、デプロイメントの履歴など) が表示されます。

    サイドバー
    1. リンクアイコン ( Link icon ) をクリックすると、Argo CD でデプロイメントの詳細が開きます。
  4. Overview タブを選択し、Deployment summary セクションに移動して、namespace 全体にわたるアプリケーションのデプロイメントの概要を確認します。また、適切な Argo CD アプリケーションを選択して Argo CD でデプロイメントの詳細を開くか、Revision 列からコミット ID を選択して GitLab または GitHub での変更を確認します。

    Deployment summary

法律上の通知

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
トップに戻る