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 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) は、開発者ポータルを構築するために設計されたオープン開発者プラットフォームとして機能し、backstage プロジェクトに基づいています。Developer Hub を使用すると、エンジニアリングチームは、開発プロセスを合理化し、高品質のソフトウェアを効率的に構築するためのさまざまなツールやリソースを提供する統合プラットフォームにアクセスできます。

Developer Hub の目標は、以下を使用してデベロッパーポータルの作成と維持に伴う問題に対処することです。

  • 生産性を高める利用可能な開発者ツールとリソースをすべて確認できる一元化されたダッシュボード
  • エンタープライズクラスのベストプラクティスに準拠したクラウドネイティブアプリケーション開発に役立つセルフサービス機能と guardrails
  • 企業全体のすべての開発者に対する適切なセキュリティーとガバナンス

Red Hat Developer Hub は、内部で承認されたツール、プログラミング言語、およびさまざまな開発者リソースを、自己管理型のポータル内で厳選して開発者に提供し、意思決定を簡素化します。このアプローチは、イノベーションを促進しながら、アプリケーション開発の加速とコード品質の維持に貢献します。

第2章 Red Hat Developer Hub のサイジング要件

Red Hat Developer Hub のスケーラビリティーには、かなりのリソースの割り当てが必要です。次の表は、Developer Hub アプリケーションと Developer Hub データベースコンポーネントの両方を含む Red Hat Developer Hub をインストールおよび実行するためのサイズ要件を示しています。

Expand
表2.1 Red Hat Developer Hub を実行するための推奨サイズ
コンポーネントRed Hat Developer Hub アプリケーションRed Hat Developer Hub データベース

中央処理装置 (CPU)

4 vCPU

2 vCPU

メモリー

16 GB

8 GB

ストレージサイズ

2 GB

20 GB

レプリカ

2 以上

3 以上

第3章 Red Hat Developer Hub でサポートされる設定

このセクションでは、Red Hat Developer Hub にアクセスするために必要な以下の設定を説明します。

  • カスタムアプリケーション設定
  • Developer Hub カタログのソース管理設定

3.1. Red Hat OpenShift Container Platform へのカスタムアプリケーション設定ファイルの追加

Red Hat Developer Hub にアクセスするには、Red Hat OpenShift Container Platform にカスタムアプリケーション設定ファイルを追加する必要があります。OpenShift Container Platform では、次のコンテンツをベーステンプレートとして使用して、app-config-rhdh という名前の ConfigMap を作成できます。

kind: ConfigMap
apiVersion: v1
metadata:
  name: app-config-rhdh
data:
  app-config-rhdh.yaml: |
    app:
      title: {product}

次のいずれかの方法で、カスタムアプリケーション設定ファイルを OpenShift Container Platform に追加できます。

  • Red Hat Developer Hub Operator
  • Red Hat Developer Hub Helm チャート。

Red Hat Developer Hub Helm チャートを使用して、カスタムアプリケーション設定ファイルを OpenShift Container Platform インスタンスに追加できます。

前提条件

  • Red Hat OpenShift Container Platform アカウントを作成している。

手順

  1. OpenShift Container Platform Web コンソールから、ConfigMaps タブを選択します。
  2. Create ConfigMap をクリックします。
  3. Create ConfigMap ページで、Configure viaYAML view オプションを選択し、必要に応じてファイルに変更を加えます。
  4. Create をクリックします。
  5. Helm リリースのリストを表示するには、Helm タブに移動します。
  6. 使用する Helm リリースのオーバーフローメニューをクリックし、Upgrade を選択します。
  7. Helm 設定を編集するには、Form view または YAML view のいずれかを使用します。

    • Form view を使用する場合

      1. Root Schema → Backstage chart schema → Backstage parameters → Extra app configuration files to inline into command arguments を展開します。
      2. Add Extra app configuration files to inline into command arguments リンクをクリックします。
      3. 以下のフィールドに値を入力します。

        • configMapRef: app-config-rhdh
        • filename: app-config-rhdh.yaml
      4. Upgrade をクリックします。
    • YAML view を使用する場合

      1. 以下のように upstream.backstage.extraAppConfig.configMapRef パラメーターおよび upstream.backstage.extraAppConfig.filename パラメーターの値を設定します。

        # ... other Red Hat Developer Hub Helm Chart configurations
        upstream:
          backstage:
            extraAppConfig:
              - configMapRef: app-config-rhdh
                filename: app-config-rhdh.yaml
        # ... other Red Hat Developer Hub Helm Chart configurations
      2. Upgrade をクリックします。

カスタムアプリケーション設定ファイルは、Red Hat Developer Hub インスタンスの設定を変更するために使用できる ConfigMap オブジェクトです。Developer Hub インスタンスを Red Hat OpenShift Container Platform にデプロイする場合は、ConfigMap オブジェクトを作成して Developer Hub カスタムリソース (CR) で参照することで、Red Hat Developer Hub Operator を使用して OpenShift Container Platform インスタンスにカスタムアプリケーション設定ファイルを追加できます。

カスタムアプリケーション設定ファイルには、BACKEND_SECRET という名前の機密性の高い環境変数が含まれています。この変数には、OpenShift Container Platform シークレットで定義された環境変数を参照するために Developer Hub が使用する必須のバックエンド認証キーが含まれます。'secrets-rhdh' という名前のシークレットを作成し、それを Developer Hub CR で参照する必要があります。

注記

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

前提条件

  • アクティブな Red Hat OpenShift Container Platform アカウントがある。
  • 管理者により OpenShift Container Platform に Red Hat Developer Hub Operator がインストールされている。詳細は、Red Hat Developer Hub Operator のインストール を参照してください。
  • OpenShift Container Platform で Red Hat Developer Hub CR を作成している。

手順

  1. OpenShift Container Platform Web コンソールの Developer パースペクティブから Topology ビューを選択し、Developer Hub Pod の Open URL アイコンをクリックして、Developer Hub の外部 URL <RHDH_URL> を特定します。
  2. OpenShift Container Platform Web コンソールの Developer パースペクティブから、ConfigMaps ビューを選択します。
  3. Create ConfigMap をクリックします。
  4. Configure viaYAML view オプションを選択し、次の例をベーステンプレートとして使用して、app-config-rhdh.yaml などの ConfigMap オブジェクトを作成します。

    kind: Backstage
    apiVersion: rhdh.redhat.com/v1alpha1
    metadata:
      name: app-config-rhdh
    data:
      "app-config-rhdh.yaml": |
        app:
          title: Red Hat Developer Hub
          baseUrl: <RHDH_URL> 
    1
    
        backend:
          auth:
            keys:
              - secret: "${BACKEND_SECRET}" 
    2
    
          baseUrl: <RHDH_URL> 
    3
    
          cors:
            origin: <RHDH_URL> 
    4
    1
    Red Hat Developer Hub インスタンスの外部 URL を設定します。
    2
    OpenShift Container Platform シークレットを公開する環境変数を使用して、必須の Developer Hub バックエンド認証キーを定義します。
    3
    Red Hat Developer Hub インスタンスの外部 URL を設定します。
    4
    Red Hat Developer Hub インスタンスの外部 URL を設定します。
  5. Create をクリックします。
  6. Secrets ビューを選択します。
  7. Create Key/value Secret をクリックします。
  8. secrets-rhdh という名前のシークレットを作成します。
  9. BACKEND_SECRET という名前のキーと、base64 でエンコードされた文字列を値として追加します。Red Hat Developer Hub インスタンスごとに一意の値を使用します。たとえば、次のコマンドを使用してターミナルからキーを生成できます。

    node -p 'require("crypto").randomBytes(24).toString("base64")'
  10. Create をクリックします。
  11. Topology ビューを選択します。
  12. 使用する Red Hat Developer Hub インスタンスのオーバーフローメニューをクリックし、Edit Backstage を選択して、Red Hat Developer Hub インスタンスの YAML ビューを読み込みます。

    Operator インストール 2
  13. CR で、spec.application.appConfig.configMaps フィールドの値としてカスタムアプリケーション設定の config map の名前を入力し、spec.application.extraEnvs.secrets フィールドの値としてシークレットの名前を入力します。以下に例を示します。

    apiVersion: rhdh.redhat.com/v1alpha1
    kind: Backstage
    metadata:
      name: developer-hub
    spec:
      application:
        appConfig:
          mountPath: /opt/app-root/src
          configMaps:
             - name: app-config-rhdh
        extraEnvs:
          secrets:
             - name: secrets-rhdh
        extraFiles:
          mountPath: /opt/app-root/src
        replicas: 1
        route:
          enabled: true
      database:
        enableLocalDb: true
  14. Save をクリックします。
  15. Topology ビューに戻り、Red Hat Developer Hub Pod が起動するまで待ちます。
  16. Open URL アイコンをクリックして、Red Hat Developer Hub プラットフォームを使用し、設定変更を行います。

関連情報

3.2. Red Hat Developer Hub へのカタログのソース管理の追加

Red Hat Developer Hub にカタログを追加するには、ソフトウェアテンプレートを追加する必要があります。テンプレートを追加するには、GitHub などのサポートされているソース管理を有効にする必要があります。

前提条件

  • GitHub アカウントがある。
  • Red Hat OpenShift クラスターにアカウントがある。
  • Developer Hub がインストールされている。インストールされていない場合、GitHub ログインが失敗します。

インストールの詳細は、OpenShift Container Platform への Red Hat Developer Hub のインストール を参照してください。

3.2.1. GitHub 認証の設定

Developer Hub で GitHub OAuth ログインを有効にするには、GitHub 認証の設定が必要です。

手順

  1. Red Hat OpenShift クラスターで、OAuth アプリケーションを作成する GitHub 組織のメインページに移動します。
  2. SettingsDeveloper SettingsOAuth AppsRegister an application をクリックします。
  3. アプリケーション名として Developer Hub と入力します。
  4. Homepage URL として次の URL を追加します。

    https://developer-hub-<NAMESPACE_NAME>.<OPENSHIFT_ROUTE_HOST>/

  5. Authorization callback URL として次の URL を追加します。

    https://developer-hub-<NAMESPACE_NAME>.<OPENSHIFT_ROUTE_HOST>/api/auth/github/handler/frame

  6. Enable Device Flow チェックボックスをオフにします。
  7. Register application をクリックして、OAuth アプリケーションを作成します。
  8. アプリケーションを作成した後、Generate a new client secret をクリックし、生成されたクライアントシークレットをコピーします。
  9. OpenShift で、ConfigMaps をクリックします。
  10. 指定された環境変数をキーとして使用して、'github-secrets' という名前のキー/値のシークレットを生成し、GitHub OAuth アプリケーション用に生成した値を入力します。

    1. Red Hat OpenShift で、Secrets タブに移動し、Create をクリックします。
    2. Key/value secret を選択します。
    3. Secret namegithub-secrets として入力します。
    4. 環境変数を KeyValue として追加し、Create をクリックします。

      Expand
      表3.1 環境変数
      キー

      GITHUB_OAUTH_CLIENT_ID

      OAuth アプリケーションからのクライアント ID

      GITHUB_OAUTH_CLIENT_SECRET

      OAuth アプリケーションからのクライアントシークレット

  11. 次のように app-config-rhdh ConfigMap を変更して、GitHub 認証設定を追加します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    data:
      app-config-rhdh.yaml: |
        app:
          title: Red Hat Developer Hub
        auth:
          # see https://backstage.io/docs/auth/ to learn about auth providers
          environment: development
          providers:
            github:
              development:
                clientId: ${GITHUB_OAUTH_CLIENT_ID}
                clientSecret: ${GITHUB_OAUTH_CLIENT_SECRET}
  12. Save をクリックします。
  13. Helm タブに移動し、Upgrade を選択します。
  14. Helm 設定を編集するには、次のいずれかのビューを使用します。

    • Form view を使用する場合

      1. Root Schema → Backstage Chart Schema → Backstage Parameters → Backstage container environment variables を既存の Secrets を展開します。
      2. Add Backstage container environment variables from existing Secrets リンクをクリックします。
      3. github-secrets を値として入力します。
      4. Upgrade をクリックします。
    • YAML view を使用する場合

      1. 以下の例のように、upstream.backstage.extraEnvVarsSecrets パラメーターの値を github-secrets に設定します。

        # other Red Hat Developer Hub Helm Chart configurations
        upstream:
          backstage:
            # other Red Hat Developer Hub Helm Chart configurations
            extraEnvVarsSecrets:
              - github-secrets
            # other Red Hat Developer Hub Helm Chart configurations
      2. Upgrade をクリックします。

3.2.2. GitHub 統合の設定

Developer Hub で GitHub プラグインを有効にするには、GitHub の設定が必要です。

手順

  1. Red Hat OpenShift クラスターで、OAuth アプリケーションを作成する GitHub 組織のメインページに移動します。
  2. SettingsDeveloper SettingsGitHub AppsNew GitHub App をクリックします。
  3. アプリケーション名として Developer Hub と入力します。
  4. Homepage URL として次の URL を追加します。

    https://developer-hub-<NAMESPACE_NAME>.<OPENSHIFT_ROUTE_HOST>/

  5. Authorization callback URL として次の URL を追加します。

    https://developer-hub-<NAMESPACE_NAME>.<OPENSHIFT_ROUTE_HOST>/api/auth/github/handler/frame

  6. Webhook URLActive の選択を解除します。
  7. Where can this GitHub App be installed? セクションで、Only on this account が選択されていることを確認します。
  8. Register application をクリックします。
  9. アプリケーションを作成した後、Generate a new client secret をクリックし、生成されたクライアントシークレットをコピーします。
  10. ページの下部にある Generate a private key をクリックし、生成されたファイルをダウンロードします。
  11. OpenShift で、ConfigMaps をクリックします。
  12. 指定された環境変数をキーとして使用して、'github-secrets' という名前のキー/値のシークレットを生成し、GitHub OAuth アプリケーション用に生成した値を入力します。

    1. Red Hat OpenShift で、Secrets タブに移動し、Create をクリックします。
    2. Key/value secret を選択します。
    3. Secret namegithub-secrets として入力します。
    4. 環境変数を KeyValue として追加し、Create をクリックします。
    Expand
    表3.2 環境変数
    キー

    GITHUB_APP_APP_ID

    GitHub アプリケーションからのアプリケーション ID

    GITHUB_APP_CLIENT_ID

    GitHub アプリケーションからのクライアント ID

    GITHUB_APP_CLIENT_SECRET

    GitHub アプリケーションからのクライアントシークレット

    GITHUB_APP_WEBHOOK_URL

    "none" と入力します

    GITHUB_APP_WEBHOOK_SECRET

    "none" と入力します

    GITHUB_APP_PRIVATE_KEY

    ダウンロードした秘密鍵をアップロードします

  13. 次のように app-config-rhdh ConfigMap を変更して、GitHub 統合を追加します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    data:
      app-config-rhdh.yaml: |
        app:
          title: Red Hat Developer Hub
        integrations:
          github:
            - host: github.com
              apps:
                - appId: ${GITHUB_APP_APP_ID}
                  clientId: ${GITHUB_APP_CLIENT_ID}
                  clientSecret: ${GITHUB_APP_CLIENT_SECRET}
                  webhookUrl: ${GITHUB_APP_WEBHOOK_URL}
                  webhookSecret: ${GITHUB_APP_WEBHOOK_SECRET}
                  privateKey: |
                    ${GITHUB_APP_PRIVATE_KEY}
  14. Toplogydeveloper hubActions (ドロップダウン) → Restart rollout をクリックします。

3.2.3. Red Hat Developer Hub での GitHub 検出の有効化

Developer Hub 内のコンポーネント (catalog-info.yaml ファイルを含むリポジトリーなど) に対して GitHub の検出機能を有効にすることができます。

前提条件

手順

  1. OpenShift Container Platform Web コンソールの Developer パースペクティブで、Helm タブに移動します。
  2. Helm リリースのオーバーフローメニューをクリックし、Upgrade を選択します。
  3. Helm 設定を編集するには、次のいずれかのビューを使用します。

    • Form view を使用する場合

      1. Root Schema → global → Dynamic plugins configuration → List of dynamic plugins that should be installed in the backstage application を展開します。
      2. Add List of dynamic plugins that should be installed in the backstage application をクリックします。
      3. Package specification of the dynamic plugin to install.It should be usable by the npm pack command. で、次の値を追加します。

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

        GH 検出の有効化
      4. Upgrade をクリックします。
    • YAML view を使用する場合

      1. 以下の例のように、global.dynamic.plugins.package パラメーターの値を ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic に設定します。

        global:
          dynamic:
            # other Red Hat Developer Hub Helm Chart configurations
            plugins:
              - disabled: false
                package: >-
                  ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic
            # other Red Hat Developer Hub Helm Chart configurations
      2. Upgrade をクリックします。
  4. ConfigMap に次のコードを追加します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    data:
      app-config-rhdh.yaml: |
        ...
          catalog:
            providers:
              github:
                providerId:
                  organization: '${GITHUB_ORG}'
                  schedule:
                    frequency:
                      minutes: 30
                    initialDelay:
                      seconds: 15
                    timeout:
                      minutes: 3
        ...

    上記のコードの ${GITHUB_ORG} は、コンポーネントの検出対象とする GitHub 組織に置き換えます。また、プロバイダーが 1 つだけの場合は、次のコードを ConfigMap に追加してください。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    data:
      app-config-rhdh.yaml: |
        ...
        catalog:
          providers:
            github:
              organization: ${GITHUB_ORG}
              schedule:
                frequency: { minutes: 1 }
                timeout: { minutes: 1 }
                initialDelay: { seconds: 100 }
        ...

    プロバイダーがリストとなっている場合は、プロバイダーを特定するには、以前のコードの providerId が必要です。

  5. Save をクリックします。

3.2.4. Red Hat Developer Hub での GitHub 組織メンバー検出の有効化

GitHub 組織のメンバーに対して GitHub の検出機能を有効にすることもできます。

前提条件

手順

  1. OpenShift Container Platform Web コンソールの Developer パースペクティブで、Helm タブに移動します。
  2. Helm リリースのオーバーフローメニューをクリックし、Upgrade を選択します。
  3. Helm 設定を編集するには、次のいずれかのビューを使用します。

    • Form view を使用する場合

      1. Root Schema → global → Dynamic plugins configuration → List of dynamic plugins that should be installed in the backstage application を展開します。
      2. Add List of dynamic plugins that should be installed in the backstage application をクリックします。
      3. Package specification of the dynamic plugin to install.It should be usable by the npm pack command. で、次の値を追加します。

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

        GH メンバーの検出の有効化
      4. Upgrade をクリックします。
    • YAML view を使用する場合

      1. 以下の例のように、global.dynamic.plugins.package パラメーターの値を ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic に設定します。

        global:
          dynamic:
            # other Red Hat Developer Hub Helm Chart configurations
            plugins:
              - disabled: false
                package: >-
                  ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic
            # other Red Hat Developer Hub Helm Chart configurations
      2. Upgrade をクリックします。
  4. ConfigMap に次のコードを追加します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    data:
      app-config-rhdh.yaml: |
        ...
        catalog:
          providers:
            githubOrg:
              id: production
              githubUrl: "${GITHUB_URL}"
              orgs: [ "${GITHUB_ORG}" ]
        ...

    ここでは、以下のようになります。

    ${GITHUB_URL}
    GitHub URL に置き換える必要がある変数を示します。
    ${GITHUB_ORG}
    ユーザーの取り込み元となる GitHub 組織に置き換える必要がある変数を示します。
  5. Save をクリックします。

第4章 Red Hat Developer Hub の Home ページのカスタマイズ

Red Hat Developer Hub の Home ページにアクセスするには、ベース URL に /developer-hub プロキシーが含まれている必要があります。データをプロキシーとして app-config.yaml ファイルに渡すことで、Home ページを設定できます。次のソースから Home ページにデータを提供できます。

  • GitHub または GitLab でホストされている JSON ファイル
  • API を使用して JSON 形式で Home ページのデータを提供する専用サービス

4.1. ホストされた JSON ファイルを使用してラーニングパスにデータを提供する

前提条件

Operator または Helm チャートのいずれかを使用して Red Hat Developer Hub をインストールしている。

詳細は、OpenShift Container Platform への Red Hat Developer Hub のインストール を参照してください。

手順

JSON ファイルからデータにアクセスするには、次の手順を実行します。

  • app-config.yaml ファイルに次のコードを追加します。

    proxy:
      endpoints:
        # Other Proxies
        # customize developer hub instance
        '/developer-hub':
          target: <DOMAIN_URL> # i.e https://raw.githubusercontent.com/
          pathRewrite:
            '^/api/proxy/developer-hub': <path to json file> # i.e /janus-idp/backstage-showcase/main/packages/app/public/homepage/data.json
          changeOrigin: true
          secure: true
          # Change to "false" in case of using self hosted cluster with a self-signed certificate
          headers:
    	<HEADER_KEY>: <HEADER_VALUE> # optional and can be passed as needed i.e Authorization can be passed for private GitHub repo and PRIVATE-TOKEN can be passed for private GitLab repo

4.2. 専用サービスを使用したラーニングパスへのデータの提供

専用サービスを利用すると、次のことができます。

  • 同じサービスを使用して、設定可能なすべての Developer Hub ページにデータを提供するか、ページごとに異なるサービスを使用できます。
  • Home ページと Tech Radar ページの両方にデータを提供するサンプルサービスとして、red-hat-developer-hub-customization-provider を使用できます。red-hat-developer-hub-customization-provider サービスは、デフォルトの Developer Hub データと同じデータを提供します。必要に応じて、GitHub から red-hat-developer-hub-customization-provider サービスリポジトリーをフォークし、独自のデータで変更できます。
  • red-hat-developer-hub-customization-provider サービスと Developer Hub Helm チャートを同じクラスターにデプロイできます。

前提条件

手順

個別のサービスを使用して Home ページのデータを提供するには、次の手順を実行します。

  1. Red Hat OpenShift Container Platform Web コンソールの Developer パースペクティブで、+Add > Import from Git をクリックします。
  2. Git リポジトリーの URL を Git Repo URL フィールドに入力します。

    red-hat-developer-hub-customization-provider サービスを使用するには、red-hat-developer-hub-customization-provider リポジトリーの URL か、カスタマイズした内容が含まれているリポジトリーのフォークの URL を追加します。

  3. General タブで、Name フィールドに red-hat-developer-hub-customization-provider と入力し、Create をクリックします。
  4. Advanced Options タブで、Target Port から値をコピーします。

    注記

    Target Port は、通信する Kubernetes または OpenShift Container Platform サービスを自動的に生成します。

  5. 次のコードを app-config-rhdh.yaml ファイルに追加します。

    proxy:
      endpoints:
        # Other Proxies
        # customize developer hub instance
        '/developer-hub':
          target: ${HOMEPAGE_DATA_URL}
          changeOrigin: true
          # Change to "false" in case of using self-hosted cluster with a self-signed certificate
          secure: true

    HOMEPAGE_DATA_URL は、http://<SERVICE_NAME>:8080 (例: http://rhdh-customization-provider:8080) という形式で定義します。

    注記

    red-hat-developer-hub-customization-provider サービスには、デフォルトで 8080 ポートが含まれています。カスタムポートを使用している場合は、app-config-rhdh.yaml ファイルの 'PORT' 環境変数で指定できます。

  6. rhdh-secrets に URL を追加するか、カスタム ConfigMap で直接置き換えることで、HOMEPAGE_DATA_URL を置き換えます。
  7. 新しい設定が正しく読み込まれるように、Developer Hub Pod を削除します。

検証

  • サービスを表示するには、OpenShift Container Platform Web コンソールの Administrator パースペクティブに移動し、Networking > Service をクリックします。

    注記

    Topology ビューで Service Resources を表示することもできます。

  • 次の例に示すように、指定した Home ページの API URL から、JSON 形式でデータが返されることを確認します。

    [
      {
        "title": "Dropdown 1",
        "isExpanded": false,
        "links": [
          {
            "iconUrl": "https://imagehost.com/image.png",
            "label": "Dropdown 1 Item 1",
            "url": "https://example.com/"
          },
          {
            "iconUrl": "https://imagehost2.org/icon.png",
            "label": "Dropdown 1 Item 2",
            "url": ""
          }
        ]
      },
      {
        "title": "Dropdown 2",
        "isExpanded": true,
        "links": [
          {
            "iconUrl": "http://imagehost3.edu/img.jpg",
            "label": "Dropdown 2 Item 1",
            "url": "http://example.com"
          }
        ]
      }
    ]
    注記

    要求の呼び出しが失敗した場合や、設定されていない場合、Developer Hub インスタンスはデフォルトのローカルデータにフォールバックします。

  • イメージまたはアイコンが読み込まれない場合は、次のように、カスタム ConfigMap のコンテンツセキュリティーポリシー (csp) の img-src にイメージまたはアイコンのホスト URL を追加して、イメージまたはアイコンを許可リストに登録します。
kind: ConfigMap
apiVersion: v1
metadata:
  name: app-config-rhdh
data:
  app-config-rhdh.yaml: |
    app:
      title: Red Hat Developer Hub
    backend:
      csp:
        connect-src:
          - "'self'"
          - 'http:'
          - 'https:'
        img-src:
          - "'self'"
          - 'data:'
          - <image host url 1>
          - <image host url 2>
          - <image host url 3>
    # Other Configurations

第5章 Red Hat Developer Hub の Tech Radar ページのカスタマイズ

Red Hat Developer Hub では、Tech Radar ページは tech-radar 動的プラグインによって提供されます。このプラグインは、デフォルトでは無効になっています。Red Hat Developer Hub で動的プラグインを有効にする方法は、Red Hat Developer Hub でのプラグインの設定 を参照してください。

Red Hat Developer Hub では、データをプロキシーとして app-config.yaml ファイルに渡すことで、ラーニングパスを設定できます。Tech Radar のベース URL に、/developer-hub/tech-radar プロキシーを含める必要があります。

注記

tech-radarhomepage クイックアクセスプロキシーの両方に重複する pathRewrites を使用するため、tech-radar 設定 (^api/proxy/developer-hub/tech-radar) を作成してから、homepage 設定 (^/api/proxy/developer-hub) を作成する必要があります。

Red Hat Developer Hub の Home ページのカスタマイズの詳細は、Red Hat Developer Hub の Home ページのカスタマイズ を参照してください。

以下のソースから Tech Radar ページにデータを提供できます。

  • GitHub または GitLab でホストされている JSON ファイル
  • API を使用して Tech Radar のデータを JSON 形式で提供する専用サービス

5.1. ホストされた JSON ファイルを使用した Tech Radar ページへのデータの提供

前提条件

Operator または Helm チャートのいずれかを使用して Red Hat Developer Hub をインストールしている。詳細は、OpenShift Container Platform への Red Hat Developer Hub のインストール を参照してください。

手順

JSON ファイルからデータにアクセスするには、次の手順を実行します。

  • app-config.yaml ファイルに次のコードを追加します。

    proxy:
      endpoints:
        # Other Proxies
        # customize developer hub instance
        '/developer-hub':
          target: <DOMAIN_URL> # i.e https://raw.githubusercontent.com/
          pathRewrite:
            '^/api/proxy/developer-hub/tech-radar': <path to json file> # i.e /janus-idp/backstage-showcase/main/packages/app/public/tech-radar/data-default.json
    	 '^/api/proxy/developer-hub': <path to json file> # i.e /janus-idp/backstage-showcase/main/packages/app/public/homepage/data.json
          changeOrigin: true
          secure: true
    
          # Change to "false" in case of using self hosted cluster with a self-signed certificate
          headers:
    	<HEADER_KEY>: <HEADER_VALUE> # optional and can be passed as needed i.e Authorization can be passed for private GitHub repo and PRIVATE-TOKEN can be passed for private GitLab repo

5.2. 専用サービスを使用して Tech Radar ページにデータを提供する

専用サービスを利用すると、次のことができます。

  • 同じサービスを使用して、設定可能なすべての Developer Hub ページにデータを提供するか、ページごとに異なるサービスを使用できます。
  • Home ページと Tech Radar ページの両方にデータを提供するサンプルサービスとして、red-hat-developer-hub-customization-provider を使用できます。red-hat-developer-hub-customization-provider サービスは、デフォルトの Developer Hub データと同じデータを提供します。必要に応じて、GitHub から red-hat-developer-hub-customization-provider サービスリポジトリーをフォークし、独自のデータで変更できます。
  • red-hat-developer-hub-customization-provider サービスと Developer Hub Helm チャートを同じクラスターにデプロイできます。

前提条件

手順

個別のサービスを使用して Tech Radar のデータを提供するには、次の手順を実行します。

  1. 次のコードを app-config-rhdh.yaml ファイルに追加します。

    proxy:
      endpoints:
        # Other Proxies
        '/developer-hub/tech-radar':
          target: ${TECHRADAR_DATA_URL}
          changeOrigin: true
          # Change to "false" in case of using self hosted cluster with a self-signed certificate
          secure: true

    TECHRADAR_DATA_URL は、http://<SERVICE_NAME>/tech-radar (例: http://rhdh-customization-provider/tech-radar) という形式で定義します。

    注記

    TECHRADAR_DATA_URL は、URL を rhdh-secrets に追加するか、カスタム ConfigMap 内の URL 値で直接置き換えることで定義できます。

  2. 新しい設定が正しく読み込まれるように、Developer Hub Pod を削除します。

第6章 Red Hat Developer Hub のラーニングパスのカスタマイズ

Red Hat Developer Hub では、データをプロキシーとして app-config.yaml ファイルに渡すことで、ラーニングパスを設定できます。ベース URL には /developer-hub/learning-paths プロキシーを含める必要があります。

注記

learning-pathhomepage クイックアクセスプロキシーの両方に重複する pathRewrites を使用するため、learning-paths 設定 (^api/proxy/developer-hub/learning-paths) を作成してから、homepage 設定 (^/api/proxy/developer-hub) を作成する必要があります。

Red Hat Developer Hub の Home ページのカスタマイズの詳細は、Red Hat Developer Hub の Home ページのカスタマイズ を参照してください。

次のソースからラーニングパスにデータを提供できます。

  • GitHub または GitLab でホストされている JSON ファイル
  • API を使用してラーニングパスのデータを JSON 形式で提供する専用サービス

6.1. ホストされた JSON ファイルを使用したラーニングパスへのデータの提供

前提条件

Operator または Helm チャートのいずれかを使用して Red Hat Developer Hub をインストールしている。詳細は、OpenShift Container Platform への Red Hat Developer Hub のインストール を参照してください。

手順

JSON ファイルからデータにアクセスするには、次の手順を実行します。

  • app-config.yaml ファイルに次のコードを追加します。

    proxy:
      endpoints:
        '/developer-hub':
          target: https://raw.githubusercontent.com/
          pathRewrite:
            '^/api/proxy/developer-hub/learning-paths': '/janus-idp/backstage-showcase/main/packages/app/public/learning-paths/data.json'
            '^/api/proxy/developer-hub/tech-radar': '/janus-idp/backstage-showcase/main/packages/app/public/tech-radar/data-default.json'
            '^/api/proxy/developer-hub': '/janus-idp/backstage-showcase/main/packages/app/public/homepage/data.json'
          changeOrigin: true
          secure: true

6.2. 専用サービスを使用したラーニングパスへのデータの提供

専用サービスを利用すると、次のことができます。

  • 同じサービスを使用して、設定可能なすべての Developer Hub ページにデータを提供するか、ページごとに異なるサービスを使用できます。
  • Home ページと Tech Radar ページの両方にデータを提供するサンプルサービスとして、red-hat-developer-hub-customization-provider を使用できます。red-hat-developer-hub-customization-provider サービスは、デフォルトの Developer Hub データと同じデータを提供します。必要に応じて、GitHub から red-hat-developer-hub-customization-provider サービスリポジトリーをフォークし、独自のデータで変更できます。
  • red-hat-developer-hub-customization-provider サービスと Developer Hub Helm チャートを同じクラスターにデプロイできます。

前提条件

手順

専用サービスを使用してラーニングパスのデータを提供するには、次の手順を実行します。

  1. 次のコードを app-config-rhdh.yaml ファイルに追加します。

       proxy:
          endpoints:
            # Other Proxies
            '/developer-hub/learning-paths':
              target: ${LEARNING_PATH_DATA_URL}
              changeOrigin: true
              # Change to "false" in case of using self hosted cluster with a self-signed certificate
              secure: true

    LEARNING_PATH_DATA_URL は、http://<SERVICE_NAME>/learning-paths (例: http://rhdh-customization-provider/learning-paths) という形式で定義します。

    注記

    LEARNING_PATH_DATA_URL は、URL を rhdh-secrets に追加するか、カスタム ConfigMap 内の URL 値で直接置き換えることで定義できます。

  2. 新しい設定が正しく読み込まれるように、Developer Hub Pod を削除します。

第7章 Red Hat Developer Hub インスタンスの外観のカスタマイズ

Red Hat Developer Hub では、次のデフォルトのテーマ設定が利用できます。

Red Hat Developer Hub テーマ
開発者ポータルを標準の Red Hat Developer Hub インスタンスのような外観にするデフォルトのテーマ設定。詳細は、「デフォルトの Red Hat Developer Hub テーマ」 を参照してください。
Backstage テーマ
開発者ポータルを標準の Backstage インスタンスのような外観にするデフォルトのテーマ設定。詳細は、「デフォルトの Backstage テーマ」 を参照してください。

app-config-rhdh.yaml ファイルを変更して、デフォルトテーマの特定のパラメーターを変更または無効にしたり、完全にカスタマイズしたテーマを作成したりできます。app-config-rhdh.yaml ファイルから、次のような共通テーマコンポーネントをカスタマイズできます。

  • 会社名とロゴ
  • 段落、見出し、ヘッダー、およびボタン内テキストのフォントの色、サイズ、およびスタイル
  • ヘッダーの色、グラデーション、および形状
  • ボタンの色
  • ナビゲーションインジケーターの色

テーマモード (Light ThemeDark ThemeAuto) など、一部のコンポーネントは、Developer Hub GUI からカスタマイズすることもできます。

7.1. Developer Hub インスタンスのテーマモードのカスタマイズ

注記

Developer Hub では、テーマ設定を使用してさまざまな UI コンポーネントの外観と操作性を変更します。そのため、RHDH ページで使用される背景色やフォントの変更以外に、ボタン、タブ、サイドバー、カード、テーブルなどのさまざまな UI コンポーネントが変更されていることに気づくはずです。

Developer Hub インスタンスには、次のいずれかのテーマモードを選択できます。

  • Light theme
  • Dark theme
  • Auto

デフォルトのテーマモードは Auto です。システム設定に基づいてライトテーマかダークテーマが自動的に設定されます。

前提条件

  • Developer Hub Web コンソールにログインしている。

手順

  1. Developer Hub Web コンソールから、Settings をクリックします。
  2. Appearance パネルで、LIGHT THEMEDARK THEME、または AUTO をクリックしてテーマモードを変更します。

    カスタムテーマモード 1

7.2. Developer Hub インスタンスのブランディングロゴのカスタマイズ

次の例に示すように、app-config-rhdh.yaml ファイルの branding セクションを設定することで、Developer Hub インスタンスのブランディングロゴをカスタマイズできます。

app:
  branding:
    fullLogo: ${BASE64_EMBEDDED_FULL_LOGO} 
1

    iconLogo: ${BASE64_EMBEDDED_ICON_LOGO} 
2

ここでは、以下のようになります。

1
fullLogo は、展開された (固定された) サイドバー上のロゴであり、base64 でエンコードされた画像を想定しています。
2
iconLogo は、折りたたまれた (固定されていない) サイドバーのロゴであり、base64 でエンコードされた画像を想定しています。

次の例に示すように、branding セクションの fullLogoWidth フィールドに値を設定して、ブランディングロゴの幅をカスタマイズすることもできます。

app:
  branding:
    fullLogoWidth: 110px 
1

# ...
1
ロゴの幅のデフォルト値は 110px です。サポートされている単位は、integerpxemrem、パーセンテージです。

7.3. Developer Hub インスタンスのアプリケーションタイトルのカスタマイズ

title フィールドに値を設定することで、アプリケーションタイトルテキストをカスタマイズできます。次に例を示します。

app:
  title: My custom developer hub
# ...

7.4. Developer Hub インスタンスのテーマモードカラーパレットのカスタマイズ

app-config-rhdh.yaml ファイルの branding.theme セクションで light.palette および dark.palette パラメーターを設定することで、Developer Hub インスタンスのライトテーマモードとダークテーマモードのカラーパレットをカスタマイズできます。次に例を示します。

app:
  branding:
    theme:
      light:
        palette:
          primary:
            main: <light_primary_color> 
1

          navigation:
            indicator: <light_indicator_color> 
2

        pageTheme:
          default:
            backgroundColor: [<light_background_color_1>, <light_background_color_2>] 
3

      dark:
        palette:
          primary:
            main: <dark_primary_color> 
4

          navigation:
            indicator: <dark_indicator_color> 
5

        pageTheme:
          default:
            backgroundColor: [<dark_background_color_1>, <dark_background_color_2>] 
6

# ...
1
ライトカラーパレットのメインのプライマリーカラー (例: #ffffff または white)。
2
ライトカラーパレットのナビゲーションインジケーターの色。これは、ナビゲーションパネルで選択中のタブを示す縦のバーです (例: #FF0000 または red)。
3
ライトカラーパレットのデフォルトページテーマの背景色 (例: #ffffff または white)。
4
ダークカラーパレットのメインのプライマリーカラー (例: #000000 または black)。
5
ダークカラーパレットのナビゲーションインジケーターの色。これは、ナビゲーションパネルで選択中のタブを示す縦のバーです (例: #FF0000 または red)。
6
ダークカラーパレットのデフォルトのページテーマの背景色 (例: #000000 または )。

7.5. Developer Hub インスタンスのページテーマヘッダーのカスタマイズ

app-config-rhdh.yaml ファイルの branding.theme セクションを変更することで、Developer Hub インスタンスのライトテーマモードとダークテーマモードのヘッダー色をカスタマイズできます。HomeCatalogAPI ページなど、追加の Developer Hub ページのページヘッダーをカスタマイズすることもできます。

app:
  branding:
    theme:
      light: 
1

        palette: {}
        pageTheme:
          default: 
2

            backgroundColor: "<default_light_background_color>" 
3

            fontColor: "<default_light_font_color>" 
4

            shape: none 
5

          apis: 
6

            backgroundColor: "<apis_light_background_color>"
            fontColor: "<apis_light_font_color>"
            shape: none
      dark:
        palette: {}
        pageTheme:
          default:
            backgroundColor: "<default_dark_background_color>"
            fontColor: "<default_dark_font_color>"
            shape: none
# ...
1
テーマモード (例: lightdark)
2
デフォルトのページテーマ設定の yaml ヘッダー
3
ページヘッダーの背景色 (例: #ffffff または white)
4
ページヘッダーのテキストの色 (例: #000000 または black)
5
ページヘッダーのパターン (例: waveroundnone)
6
特定のページテーマ設定の yaml ヘッダー (例: apishome)

7.6. Developer Hub インスタンスのフォントのカスタマイズ

app-config-rhdh.yaml ファイルの typography セクションを設定することで、ページテキストのデフォルトのフォントファミリーとサイズ、および各見出しレベルのフォントファミリーとサイズを変更できます。次に例を示します。

app:
  branding:
    theme:
      light:
        typography:
          fontFamily: "Times New Roman"
          htmlFontSize: 11 # smaller is bigger
          h1:
            fontFamily: "Times New Roman"
            fontSize: 40
          h2:
            fontFamily: "Times New Roman"
            fontSize: 30
          h3:
            fontFamily: "Times New Roman"
            fontSize: 30
          h4:
            fontFamily: "Times New Roman"
            fontSize: 30
          h5:
            fontFamily: "Times New Roman"
            fontSize: 30
          h6:
            fontFamily: "Times New Roman"
            fontSize: 30
      dark:
        typography:
          fontFamily: "Times New Roman"
          htmlFontSize: 11 # smaller is bigger
          h1:
            fontFamily: "Times New Roman"
            fontSize: 40
          h2:
            fontFamily: "Times New Roman"
            fontSize: 30
          h3:
            fontFamily: "Times New Roman"
            fontSize: 30
          h4:
            fontFamily: "Times New Roman"
            fontSize: 30
          h5:
            fontFamily: "Times New Roman"
            fontSize: 30
          h6:
            fontFamily: "Times New Roman"
            fontSize: 30
# ...

7.7. デフォルトの Red Hat Developer Hub テーマ

デフォルトの Red Hat Developer Hub テーマ設定を使用すると、Developer Hub インスタンスを標準の Red Hat Developer Hub インスタンスのような外観にすることができます。また、app-config-rhdh.yaml ファイルを変更して、特定のパラメーターをカスタマイズしたり無効にしたりすることもできます。

7.7.1. デフォルトの Red Hat Developer Hub テーマのカラーパレット

app-config-rhdh.yaml ファイルでは、デフォルトの Red Hat Developer Hub カラーパレットに次の設定を使用しています。

app:
  branding:
    theme:
      light:
        variant: "rhdh"
        mode: "light"
        palette:
          background:
            default: "#F8F8F8"
            paper: "#FFFFFF"
          banner:
            closeButtonColor: "#FFFFFF"
            error: "#E22134"
            info: "#2E77D0"
            link: "#000000"
            text: "#FFFFFF"
            warning: "#FF9800"
          border: "#E6E6E6"
          bursts:
            backgroundColor:
              default: "#7C3699"
            fontColor: "#FEFEFE"
            gradient:
              linear: "linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"
            slackChannelText: "#ddd"
          errorBackground: "#FFEBEE"
          errorText: "#CA001B"
          gold: "#FFD600"
          highlight: "#FFFBCC"
          infoBackground: "#ebf5ff"
          infoText: "#004e8a"
          link: "#0A6EBE"
          linkHover: "#2196F3"
          mode: "light"
          navigation:
            background: "#222427"
            indicator: "#0066CC"
            color: "#ffffff"
            selectedColor: "#ffffff"
            navItem:
              hoverBackground: "#3c3f42"
            submenu:
              background: "#222427"
          pinSidebarButton:
            background: "#BDBDBD"
            icon: "#181818"
          primary:
            main: "#0066CC"
          secondary:
            main: "#8476D1"
          status:
            aborted: "#757575"
            error: "#E22134"
            ok: "#1DB954"
            pending: "#FFED51"
            running: "#1F5493"
            warning: "#FF9800"
          tabbar:
            indicator: "#9BF0E1"
          textContrast: "#000000"
          textSubtle: "#6E6E6E"
          textVerySubtle: "#DDD"
          warningBackground: "#F59B23"
          warningText: "#000000"
          text:
            primary: "#151515"
            secondary: "#757575"
          rhdh:
            general:
              disabledBackground: "#D2D2D2"
              disabled: "#6A6E73"
              searchBarBorderColor: "#E4E4E4"
              formControlBackgroundColor: "#FFF"
              mainSectionBackgroundColor: "#FFF"
              headerBottomBorderColor: "#C7C7C7"
              cardBackgroundColor: "#FFF"
              sideBarBackgroundColor: "#212427"
              cardBorderColor: "#C7C7C7"
              tableTitleColor: "#181818"
              tableSubtitleColor: "#616161"
              tableColumnTitleColor: "#151515"
              tableRowHover: "#F5F5F5"
              tableBorderColor: "#E0E0E0"
              tableBackgroundColor: "#FFF"
              tabsBottomBorderColor: "#D2D2D2"
              contrastText: "#FFF"
            primary:
              main: "#0066CC"
              focusVisibleBorder: "#0066CC"
            secondary:
              main: "#8476D1"
              focusVisibleBorder: "#8476D1"
            cards:
              headerTextColor: "#151515"
              headerBackgroundColor: "#FFF"
              headerBackgroundImage: "none"

      dark:
        variant: "rhdh"
        mode: "dark"
        palette:
          background:
            default: "#333333"
            paper: "#424242"
          banner:
            closeButtonColor: "#FFFFFF"
            error: "#E22134"
            info: "#2E77D0"
            link: "#000000"
            text: "#FFFFFF"
            warning: "#FF9800"
          border: "#E6E6E6"
          bursts:
            backgroundColor:
              default: "#7C3699"
            fontColor: "#FEFEFE"
            gradient:
              linear: "linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"
            slackChannelText: "#ddd"
          errorBackground: "#FFEBEE"
          errorText: "#CA001B"
          gold: "#FFD600"
          highlight: "#FFFBCC"
          infoBackground: "#ebf5ff"
          infoText: "#004e8a"
          link: "#9CC9FF"
          linkHover: "#82BAFD"
          mode: "dark"
          navigation:
            background: "#0f1214"
            indicator: "#0066CC"
            color: "#ffffff"
            selectedColor: "#ffffff"
            navItem:
              hoverBackground: "#3c3f42"
            submenu:
              background: "#0f1214"
          pinSidebarButton:
            background: "#BDBDBD"
            icon: "#404040"
          primary:
            main: "#1FA7F8"
          secondary:
            main: "#B2A3FF"
          status:
            aborted: "#9E9E9E"
            error: "#F84C55"
            ok: "#71CF88"
            pending: "#FEF071"
            running: "#3488E3"
            warning: "#FFB84D"
          tabbar:
            indicator: "#9BF0E1"
          textContrast: "#FFFFFF"
          textSubtle: "#CCCCCC"
          textVerySubtle: "#727272"
          warningBackground: "#F59B23"
          warningText: "#000000"

          rhdh:
            general:
              disabledBackground: "#444548"
              disabled: "#AAABAC"
              searchBarBorderColor: "#57585a"
              formControlBackgroundColor: "#36373A"
              mainSectionBackgroundColor: "#0f1214"
              headerBottomBorderColor: "#A3A3A3"
              cardBackgroundColor: "#292929"
              sideBarBackgroundColor: "#1b1d21"
              cardBorderColor: "#A3A3A3"
              tableTitleColor: "#E0E0E0"
              tableSubtitleColor: "#E0E0E0"
              tableColumnTitleColor: "#E0E0E0"
              tableRowHover: "#0f1214"
              tableBorderColor: "#515151"
              tableBackgroundColor: "#1b1d21"
              tabsBottomBorderColor: "#444548"
              contrastText: "#FFF"
            primary:
              main: "#1FA7F8"
              focusVisibleBorder: "#ADD6FF"
            secondary:
              main: "#B2A3FF"
              focusVisibleBorder: "#D0C7FF"
            cards:
              headerTextColor: "#FFF"
              headerBackgroundColor: "#0f1214"
              headerBackgroundImage: "none"

または、app-config-rhdh.yaml ファイルで次の variant 値と mode 値を使用して、以前のデフォルト設定を適用することもできます。

app:
  branding:
    theme:
      light:
        variant: "rhdh"
        mode: "light"
      dark:
        variant: "rhdh"
        mode: "dark"

7.7.2. デフォルトの Red Hat Developer Hub ページテーマ

次の app-config-rhdh.yaml ファイル設定に示すように、デフォルトの Developer Hub ヘッダーの色は、ライトモードでは白、ダークモードでは黒です。

app:
  branding:
    theme:
      light:
        palette: {}
        defaultPageTheme: default
        pageTheme:
          default:
            backgroundColor: "#ffffff"
      dark:
        palette: {}
        defaultPageTheme: default
        pageTheme:
          default:
            backgroundColor: "#0f1214"

7.8. デフォルトの Backstage テーマ

デフォルトの Backstage テーマ設定を使用すると、Developer Hub インスタンスを標準の Backstage インスタンスのような外観にすることができます。また、app-config-rhdh.yaml ファイルを変更して、特定のパラメーターをカスタマイズしたり無効にしたりすることもできます。

7.8.1. デフォルトの Backstage テーマのカラーパレット

app-config-rhdh.yaml ファイルでは、デフォルトの Backstage カラーパレットに次の設定を使用しています。

app:
  branding:
    theme:
      light:
        variant: "backstage"
        mode: "light"
        palette:
          background:
            default: "#F8F8F8"
            paper: "#FFFFFF"
          banner:
            closeButtonColor: "#FFFFFF"
            error: "#E22134"
            info: "#2E77D0"
            link: "#000000"
            text: "#FFFFFF"
            warning: "#FF9800"
          border: "#E6E6E6"
          bursts:
            backgroundColor:
              default: "#7C3699"
            fontColor: "#FEFEFE"
            gradient:
              linear: "linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"
            slackChannelText: "#ddd"
          errorBackground: "#FFEBEE"
          errorText: "#CA001B"
          gold: "#FFD600"
          highlight: "#FFFBCC"
          infoBackground: "#ebf5ff"
          infoText: "#004e8a"
          link: "#0A6EBE"
          linkHover: "#2196F3"
          navigation:
            background: "#171717"
            color: "#b5b5b5"
            indicator: "#9BF0E1"
            navItem:
              hoverBackground: "#404040"
            selectedColor: "#FFF"
            submenu:
              background: "#404040"
          pinSidebarButton:
            background: "#BDBDBD"
            icon: "#181818"
          primary:
            main: "#1F5493"
          status:
            aborted: "#757575"
            error: "#E22134"
            ok: "#1DB954"
            pending: "#FFED51"
            running: "#1F5493"
            warning: "#FF9800"
          tabbar:
            indicator: "#9BF0E1"
          textContrast: "#000000"
          textSubtle: "#6E6E6E"
          textVerySubtle: "#DDD"
          warningBackground: "#F59B23"
          warningText: "#000000"

      dark:
        variant: "backstage"
        mode: "dark"
        palette:
          background:
            default: "#333333"
            paper: "#424242"
          banner:
            closeButtonColor: "#FFFFFF"
            error: "#E22134"
            info: "#2E77D0"
            link: "#000000"
            text: "#FFFFFF"
            warning: "#FF9800"
          border: "#E6E6E6"
          bursts:
            backgroundColor:
              default: "#7C3699"
            fontColor: "#FEFEFE"
            gradient:
              linear: "linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"
            slackChannelText: "#ddd"
          errorBackground: "#FFEBEE"
          errorText: "#CA001B"
          gold: "#FFD600"
          highlight: "#FFFBCC"
          infoBackground: "#ebf5ff"
          infoText: "#004e8a"
          link: "#9CC9FF"
          linkHover: "#82BAFD"
          mode: "dark"
          navigation:
            background: "#424242"
            color: "#b5b5b5"
            indicator: "#9BF0E1"
            navItem:
              hoverBackground: "#404040"
            selectedColor: "#FFF"
            submenu:
              background: "#404040"
          pinSidebarButton:
            background: "#BDBDBD"
            icon: "#404040"
          primary:
            dark: "#82BAFD"
            main: "#9CC9FF"
          secondary:
            main: "#FF88B2"
          status:
            aborted: "#9E9E9E"
            error: "#F84C55"
            ok: "#71CF88"
            pending: "#FEF071"
            running: "#3488E3"
            warning: "#FFB84D"
          tabbar:
            indicator: "#9BF0E1"
          textContrast: "#FFFFFF"
          textSubtle: "#CCCCCC"
          textVerySubtle: "#727272"
          warningBackground: "#F59B23"
          warningText: "#000000"

または、app-config-rhdh.yaml ファイルで次の variant 値と mode 値を使用して、以前のデフォルト設定を適用することもできます。

app:
  branding:
    theme:
      light:
        variant: "backstage"
        mode: "light"
      dark:
        variant: "backstage"
        mode: "dark"

7.8.2. デフォルトの Backstage ページテーマ

次の app-config-rhdh.yaml ファイル設定に示すように、デフォルトの Backstage ヘッダーの色は、ライトモードでは白、ダークモードでは黒です。

app:
  branding:
    theme:
      light:
        palette: {}
        defaultPageTheme: default
        pageTheme:
          default:
            backgroundColor: ['#005B4B'] # teal
            fontColor: '#ffffff'
            shape: wave
          documentation:
            backgroundColor: ['#C8077A', '#C2297D'] # pinkSea
            fontColor: '#ffffff'
            shape: wave2
          tool:
            backgroundColor: ['#8912CA', '#3E00EA'] # purpleSky
            fontColor: '#ffffff'
            shape: round
          service:
            backgroundColor: ['#006D8F', '#0049A1'] # marineBlue
            fontColor: '#ffffff'
            shape: wave
          website:
            backgroundColor: ['#0027AF', '#270094'] # veryBlue
            fontColor: '#ffffff'
            shape: wave
          library:
            backgroundColor: ['#98002B', '#8D1134'] # rubyRed
            fontColor: '#ffffff'
            shape: wave
          other:
            backgroundColor: ['#171717', '#383838'] # darkGrey
            fontColor: '#ffffff'
            shape: wave
          app:
            backgroundColor: ['#BE2200', '#A41D00'] # toastyOrange
            fontColor: '#ffffff'
            shape: shapes.wave
          apis:
            backgroundColor: ['#005B4B'] # teal
            fontColor: '#ffffff'
            shape: wave2
          card:
            backgroundColor: ['#4BB8A5', '#187656'] # greens
            fontColor: '#ffffff'
            shape: wave

      dark:
        palette: {}
        defaultPageTheme: default
        pageTheme:
          default:
            backgroundColor: ['#005B4B'] # teal
            fontColor: '#ffffff'
            shape: wave
          documentation:
            backgroundColor: ['#C8077A', '#C2297D'] # pinkSea
            fontColor: '#ffffff'
            shape: wave2
          tool:
            backgroundColor: ['#8912CA', '#3E00EA'] # purpleSky
            fontColor: '#ffffff'
            shape: round
          service:
            backgroundColor: ['#006D8F', '#0049A1'] # marineBlue
            fontColor: '#ffffff'
            shape: wave
          website:
            backgroundColor: ['#0027AF', '#270094'] # veryBlue
            fontColor: '#ffffff'
            shape: wave
          library:
            backgroundColor: ['#98002B', '#8D1134'] # rubyRed
            fontColor: '#ffffff'
            shape: wave
          other:
            backgroundColor: ['#171717', '#383838'] # darkGrey
            fontColor: '#ffffff'
            shape: wave
          app:
            backgroundColor: ['#BE2200', '#A41D00'] # toastyOrange
            fontColor: '#ffffff'
            shape: shapes.wave
          apis:
            backgroundColor: ['#005B4B'] # teal
            fontColor: '#ffffff'
            shape: wave2
          card:
            backgroundColor: ['#4BB8A5', '#187656'] # greens
            fontColor: '#ffffff'
            shape: wave

7.9. Developer Hub インスタンスのカスタムコンポーネントのオプション

Developer Hub テーマのさまざまなコンポーネントをカスタマイズするために使用できるコンポーネントのバリアントが 2 つあります。

  • Patternfly
  • MUI

ライトテーマモードまたはダークテーマモード設定の各パラメーターにコンポーネントバリアントを割り当てるだけでなく、rippleEffectonoff を切り替えることもできます。

次のコードに、Developer Hub インスタンスのテーマコンポーネントを設定するために app-config-rhdh.yaml ファイルで使用できるオプションを示します。

app:
  branding:
    theme:
      light:
        options:
          rippleEffect: off / on
          paper: patternfly / mui
          buttons: patternfly / mui
          inputs: patternfly / mui
          accordions: patternfly / mui
          sidebars: patternfly / mui
          pages: patternfly / mui
          headers: patternfly / mui
          toolbars: patternfly / mui
          dialogs: patternfly / mui
          cards: patternfly / mui
          tables: patternfly / mui
          tabs: patternfly / mui
      dark:
        options:
          rippleEffect: off / on
          paper: patternfly / mui
          buttons: patternfly / mui
          inputs: patternfly / mui
          accordions: patternfly / mui
          sidebars: patternfly / mui
          pages: patternfly / mui
          headers: patternfly / mui
          toolbars: patternfly / mui
          dialogs: patternfly / mui
          cards: patternfly / mui
          tables: patternfly / mui
          tabs: patternfly / mui

第8章 Red Hat Developer Hub の ServiceNow カスタムアクション

重要

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

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

Red Hat Developer Hub では、カタログ内のリソースを取得して登録する ServiceNow カスタムアクション (カスタムアクション) にアクセスできます。

Developer Hub のカスタムアクションを使用すると、レコードの管理を容易化、自動化できます。カスタムアクションを使用すると、次の操作を実行できます。

  • レコードの作成、更新、または削除
  • 1 つまたは複数のレコードに関する情報の取得

8.1. Red Hat Developer Hub の ServiceNow カスタムアクションプラグインの有効化

Red Hat Developer Hub では、ServiceNow カスタムアクションはプリロードされたプラグインとして提供されますが、デフォルトでは無効になっています。次の手順でカスタムアクションプラグインを有効にできます。

前提条件

手順

  1. カスタムアクションプラグインを有効にするには、プラグイン名を持つ package を追加し、Helm チャートの disabled フィールドを次のように更新します。

    global:
      dynamic:
        includes:
          - dynamic-plugins.default.yaml
        plugins:
          - package: ./dynamic-plugins/dist/janus-idp-backstage-scaffolder-backend-module-servicenow-dynamic
            disabled: false
    注記

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

  2. カスタムアクションにアクセスするには、Helm チャートで次の変数を設定します。

    servicenow:
      # The base url of the ServiceNow instance.
      baseUrl: ${SERVICENOW_BASE_URL}
      # The username to use for authentication.
      username: ${SERVICENOW_USERNAME}
      # The password to use for authentication.
      password: ${SERVICENOW_PASSWORD}

8.2. Red Hat Developer Hub でサポートされている ServiceNow カスタムアクション

ServiceNow カスタムアクションを使用すると、Red Hat Developer Hub でレコードを管理できます。カスタムアクションは、API 要求で次の HTTP メソッドをサポートします。

  • GET: 指定したリソースのエンドポイントから指定した情報を取得する
  • POST: リソースを作成または更新する
  • PUT : リソースを変更する
  • PATCH : リソースを更新する
  • DELETE: リソースを削除する

8.2.1. ServiceNow カスタムアクション

[GET] servicenow:now:table:retrieveRecord

Developer Hub のテーブルから指定のレコードの情報を取得します。

Expand
表8.1 入力パラメーター
名前要件説明

tableName

string

必須

レコードの取得元のテーブル名

sysId

string

必須

取得するレコードの一意の識別子

sysparmDisplayValue

enum("true", "false", "all")

任意

true に設定してフィールド表示値を返すか、false に設定して実際の値を返すか、またはその両方を返します。デフォルト値は false です。

sysparmExcludeReferenceLink

boolean

任意

参照フィールドのテーブル API リンクを除外するには、true に設定します。デフォルト値は false です。

sysparmFields

string[]

任意

レスポンスで返されるフィールドの配列

sysparmView

string

任意

指定された UI ビューに従ってレスポンスを表示します。sysparm_fields を使用してこのパラメーターをオーバーライドできます。

sysparmQueryNoDomain

boolean

任意

ドメイン間でデータにアクセスするには (許可されている場合)、true に設定します。デフォルト値は false です。

Expand
表8.2 出力パラメーター
名前説明

result

Record<PropertyKey, unknown>

要求のレスポンスボディー

[GET] servicenow:now:table:retrieveRecords

Developer Hub のテーブルから複数のレコードに関する情報を取得します。

Expand
表8.3 入力パラメーター
名前要件説明

tableName

string

必須

レコードの取得元のテーブル名

sysparamQuery

string

任意

結果をフィルタリングするために使用するエンコードされたクエリー文字列

sysparmDisplayValue

enum("true", "false", "all")

任意

true に設定してフィールド表示値を返すか、false に設定して実際の値を返すか、またはその両方を返します。デフォルト値は false です。

sysparmExcludeReferenceLink

boolean

任意

参照フィールドのテーブル API リンクを除外するには、true に設定します。デフォルト値は false です。

sysparmSuppressPaginationHeader

boolean

任意

ページネーションヘッダーを抑制するには、true に設定します。デフォルト値は false です。

sysparmFields

string[]

任意

レスポンスで返されるフィールドの配列

sysparmLimit

int

任意

ページごとに返される結果の最大数。デフォルト値は 10,000 です。

sysparmView

string

任意

指定された UI ビューに従ってレスポンスを表示します。sysparm_fields を使用してこのパラメーターをオーバーライドできます。

sysparmQueryCategory

string

任意

クエリーに使用するクエリーカテゴリーの名前

sysparmQueryNoDomain

boolean

任意

ドメイン間でデータにアクセスするには (許可されている場合)、true に設定します。デフォルト値は false です。

sysparmNoCount

boolean

任意

テーブルに対して select count (*) を実行しません。デフォルト値は false です。

Expand
表8.4 出力パラメーター
名前説明

result

Record<PropertyKey, unknown>

要求のレスポンスボディー

[POST] servicenow:now:table:createRecord

Developer Hub のテーブルにレコードを作成します。

Expand
表8.5 入力パラメーター
名前要件説明

tableName

string

必須

レコードの保存先のテーブル名

requestBody

Record<PropertyKey, unknown>

任意

指定のレコードで定義する各パラメーターのフィールド名と関連する値

sysparmDisplayValue

enum("true", "false", "all")

任意

true に設定してフィールド表示値を返すか、false に設定して実際の値を返すか、またはその両方を返します。デフォルト値は false です。

sysparmExcludeReferenceLink

boolean

任意

参照フィールドのテーブル API リンクを除外するには、true に設定します。デフォルト値は false です。

sysparmFields

string[]

任意

レスポンスで返されるフィールドの配列

sysparmInputDisplayValue

boolean

任意

true に設定して表示値を使用するか、false に設定して実際の値を使用してフィールド値を設定します。デフォルト値は false です。

sysparmSuppressAutoSysField

boolean

任意

システムフィールドの自動生成を抑制するには、true に設定します。デフォルト値は false です。

sysparmView

string

任意

指定された UI ビューに従ってレスポンスを表示します。sysparm_fields を使用してこのパラメーターをオーバーライドできます。

Expand
表8.6 出力パラメーター
名前説明

result

Record<PropertyKey, unknown>

要求のレスポンスボディー

[PUT] servicenow:now:table:modifyRecord

Developer Hub のテーブルのレコードを変更します。

Expand
表8.7 入力パラメーター
名前要件説明

tableName

string

必須

レコードを変更するテーブルの名前

sysId

string

必須

変更するレコードの一意の識別子

requestBody

Record<PropertyKey, unknown>

任意

指定のレコードで定義する各パラメーターのフィールド名と関連する値

sysparmDisplayValue

enum("true", "false", "all")

任意

true に設定してフィールド表示値を返すか、false に設定して実際の値を返すか、またはその両方を返します。デフォルト値は false です。

sysparmExcludeReferenceLink

boolean

任意

参照フィールドのテーブル API リンクを除外するには、true に設定します。デフォルト値は false です。

sysparmFields

string[]

任意

レスポンスで返されるフィールドの配列

sysparmInputDisplayValue

boolean

任意

true に設定して表示値を使用するか、false に設定して実際の値を使用してフィールド値を設定します。デフォルト値は false です。

sysparmSuppressAutoSysField

boolean

任意

システムフィールドの自動生成を抑制するには、true に設定します。デフォルト値は false です。

sysparmView

string

任意

指定された UI ビューに従ってレスポンスを表示します。sysparm_fields を使用してこのパラメーターをオーバーライドできます。

sysparmQueryNoDomain

boolean

任意

ドメイン間でデータにアクセスするには (許可されている場合)、true に設定します。デフォルト値は false です。

Expand
表8.8 出力パラメーター
名前説明

result

Record<PropertyKey, unknown>

要求のレスポンスボディー

[PATCH] servicenow:now:table:updateRecord

Developer Hub のテーブルのレコードを更新します。

Expand
表8.9 入力パラメーター
名前要件説明

tableName

string

必須

レコードを更新するテーブルの名前

sysId

string

必須

更新するレコードの一意の識別子

requestBody

Record<PropertyKey, unknown>

任意

指定のレコードで定義する各パラメーターのフィールド名と関連する値

sysparmDisplayValue

enum("true", "false", "all")

任意

true に設定してフィールド表示値を返すか、false に設定して実際の値を返すか、またはその両方を返します。デフォルト値は false です。

sysparmExcludeReferenceLink

boolean

任意

参照フィールドのテーブル API リンクを除外するには、true に設定します。デフォルト値は false です。

sysparmFields

string[]

任意

レスポンスで返されるフィールドの配列

sysparmInputDisplayValue

boolean

任意

true に設定して表示値を使用するか、false に設定して実際の値を使用してフィールド値を設定します。デフォルト値は false です。

sysparmSuppressAutoSysField

boolean

任意

システムフィールドの自動生成を抑制するには、true に設定します。デフォルト値は false です。

sysparmView

string

任意

指定された UI ビューに従ってレスポンスを表示します。sysparm_fields を使用してこのパラメーターをオーバーライドできます。

sysparmQueryNoDomain

boolean

任意

ドメイン間でデータにアクセスするには (許可されている場合)、true に設定します。デフォルト値は false です。

Expand
表8.10 出力パラメーター
名前説明

result

Record<PropertyKey, unknown>

要求のレスポンスボディー

[DELETE] servicenow:now:table:deleteRecord

Developer Hub のテーブルからレコードを削除します。

Expand
表8.11 入力パラメーター
名前要件説明

tableName

string

必須

レコードを削除するテーブルの名前

sysId

string

必須

削除するレコードの一意の識別子

sysparmQueryNoDomain

boolean

任意

ドメイン間でデータにアクセスするには (許可されている場合)、true に設定します。デフォルト値は false です。

第9章 Red Hat Developer Hub の監査ログ

監査ログは、Red Hat Developer Hub のユーザー、管理者、またはコンポーネントに影響するユーザーアクティビティー、システムイベント、およびデータ変更を記録した時系列のレコードのセットです。管理者は、OpenShift Container Platform Web コンソールで Developer Hub 監査ログを表示して、scaffolder イベント、RBAC システムの変更、カタログデータベースの変更を監視できます。監査ログには次の情報が含まれます。

  • 監査対象イベントの名前
  • 監査対象イベントをトリガーしたアクター (ターミナル、ポート、IP アドレス、ホスト名など)
  • イベントのメタデータ (日付、時刻など)
  • イベントのステータス (successfailure など)
  • 重大度 (infodebugwarnerror など)

監査ログの情報を使用すると、次の目的を達成できます。

セキュリティーの強化
自動化システムやソフトウェアテンプレートによって開始されたアクティビティーも含め、アクティビティーをソースまで追跡できます。ソフトウェアテンプレートがいつ実行されるか、またアプリケーションとコンポーネントのインストール、更新、設定の変更、削除の詳細を把握できます。
コンプライアンスの自動化
効率的なプロセスを使用して、監査目的または継続的なコンプライアンス維持のために、特定の時点のログデータを表示できます。
問題のデバッグ
アクセスレコードとアクティビティーの詳細を使用して、ソフトウェアテンプレートやプラグインの問題を修正できます。
注記

監査ログは、デフォルトでは内部ログストアに転送されません。内部ログストアには、セキュアなストレージがないためです。お客様の責任において、監査ログを転送するシステムが組織および政府の規制に準拠し、適切に保護されていることを確認してください。

9.1. OpenShift Container Platform に Developer Hub 用監査ログの設定

OpenShift Container Platform Web コンソールを使用して、Developer Hub の監査ログを使用するように次の OpenShift Container Platform ロギングコンポーネントを設定します。

ロギングのデプロイメント
各ロギングコンポーネントの CPU とメモリーの制限を含むロギング環境を設定します。詳細は、Red Hat OpenShift Container Platform - ロギングデプロイメントの設定 を参照してください。
ロギングコレクター
ClusterLogging カスタムリソース (CR) の spec.collection スタンザを設定して、サポートされているログコレクターの変更を使用し、STDOUT からログを収集します。詳細は、Red Hat OpenShift Container Platform - ログコレクターの設定 を参照してください。
ログ転送
ClusterLogForwarder CR で出力とパイプラインの組み合わせを指定して、OpenShift Container Platform クラスター内外の特定のエンドポイントにログを送信します。詳細は、Red Hat OpenShift Container Platform - JSON ログ転送の有効化 および Red Hat OpenShift Container Platform - ログ転送の設定 を参照してください。

9.2. Developer Hub の監査ログの表示

管理者は、Red Hat OpenShift Container Platform Web コンソールからログデータを表示、検索、フィルタリング、管理できます。isAuditLog フィールドを使用して、監査ログを他のログタイプからフィルタリングできます。

前提条件

  • OpenShift Container Platform Web コンソールに管理者としてログインしている。

手順

  1. OpenShift Container Platform Web コンソールの Developer 視点から、Topology タブをクリックします。
  2. Topology ビューから、監査ログデータを表示する Pod をクリックします。
  3. Pod パネルから、Resources タブをクリックします。
  4. Resources タブの Pods セクションで、View logs をクリックします。
  5. Logs ビューから、Search フィールドに isAuditLog と入力して、監査ログを他のログタイプからフィルタリングします。矢印を使用して、isAuditLog フィールドを含むログを参照できます。

9.2.1. 監査ログフィールド

Developer Hub の監査ログには、次のフィールドを含めることができます。

eventName
監査対象イベントの名前。
actor

監査対象イベントをトリガーしたアクターに関する情報を含むオブジェクト。次のフィールドが含まれます。

actorId
関連付けられたユーザーまたはサービスの名前/ID/entityRef。認証されていないユーザーがエンドポイントにアクセスし、デフォルトの認証ポリシーが無効になっている場合は、null になることがあります。
ip
アクターの IP アドレス (任意)。
hostname
アクターのホスト名 (任意)。
client
アクターのユーザーエージェント (任意)。
stage
監査ログが生成された時点のイベントの段階 (initiationcompletion など)。
status
イベントのステータス (succeededfailed など)。
meta
イベント固有のデータ (taskId など) を含むオプションのオブジェクト。
request

エンドポイントに送信された HTTP リクエストに関する情報を含む任意のフィールド。次のフィールドが含まれます。

method
リクエストの HTTP メソッド。
query
リクエストの query フィールド。
params
リクエストの params フィールド。
body
リクエストの body。タスクの作成時に指定された secrets はリダクションされ、* と表示されます。
url
リクエストのエンドポイント URL。
response

エンドポイントから送信された HTTP レスポンスに関する情報を含む任意のフィールド。次のフィールドが含まれます。

status
HTTP レスポンスのステータスコード。
body
リクエストボディーの内容。
isAuditLog
監査ログを他のログタイプと区別するために true に設定されるフラグ。
errors
エラーの namemessage、および場合によってはエラーの stack フィールドを含むエラーのリスト。statusfailed の場合にのみ表示されます。

9.2.2. scaffolder イベント

Developer Hub 監査ログには、次の scaffolder イベントを含めることができます。

ScaffolderParameterSchemaFetch
テンプレートパラメータースキーマを返す、/v2/templates/:namespace/:kind/:name/parameter-schema エンドポイントへの GET リクエストを追跡します。
ScaffolderInstalledActionsFetch
インストールされたアクションのリストを取得する、/v2/actions エンドポイントへの GET リクエストを追跡します。
ScaffolderTaskCreation
scaffolder が実行するタスクを作成する、/v2/tasks エンドポイントへの POST リクエストを追跡します。
ScaffolderTaskListFetch
scaffolder 内の全タスクの詳細を取得する、/v2/tasks エンドポイントへの GET リクエストを追跡します。
ScaffolderTaskFetch
指定のタスク :taskId の詳細を取得する /v2/tasks/:taskId エンドポイントへの GET リクエストを追跡します。
ScaffolderTaskCancellation
実行中のタスクをキャンセルする、/v2/tasks/:taskId/cancel エンドポイントへの POST リクエストを追跡します。
ScaffolderTaskStream
タスク :taskId のタスクログのイベントストリームを返す、/v2/tasks/:taskId/eventstream エンドポイントへの GET リクエストを追跡します。
ScaffolderTaskEventFetch
タスク :taskId のタスクログのスナップショットを返す、/v2/tasks/:taskId/events エンドポイントへの GET リクエストを追跡します。
ScaffolderTaskDryRun
ドライランタスクを作成する、/v2/dry-run エンドポイントへの POST リクエストを追跡します。ドライランに関連付けられたイベントのすべての監査ログでは、meta.isDryLog フラグが true に設定されます。
ScaffolderStaleTaskCancellation
古いタスクの自動キャンセルを追跡します。
ScaffolderTaskExecution
実際の scaffolder タスク実行の initiationcompletion を追跡します (ドライラン時には追跡しません)。
ScaffolderTaskStepExecution
scaffolder タスクステップ実行の initiationcompletion を追跡します。
ScaffolderTaskStepSkip
if 条件が満たされず、スキップされたステップを追跡します。
ScaffolderTaskStepIteration
each フィールドを含むタスクステップの各イテレーションのステップ実行を追跡します。

9.2.3. カタログイベント

Developer Hub 監査ログには、次のカタログイベントを含めることができます。

CatalogEntityAncestryFetch
エンティティーの祖先を返す、/entities/by-name/:kind/:namespace/:name/ancestry エンドポイントへの GET リクエストを追跡します。
CatalogEntityBatchFetch
エンティティーのバッチを返す、/entities/by-refs エンドポイントへの POST リクエストを追跡します。
CatalogEntityDeletion
エンティティーを削除する、/entities/by-uid/:uid エンドポイントへの DELETE リクエストを追跡します。
注記

削除するエンティティーの親のロケーションがカタログ内にまだ存在する場合は、エンティティーが次の処理サイクル中、カタログ内に復元されます。

CatalogEntityFacetFetch
エンティティーのファセットを返す、/entity-facets エンドポイントへの GET リクエストを追跡します。
CatalogEntityFetch
エンティティーのリストを返す、/entities エンドポイントへの GET リクエストを追跡します。
CatalogEntityFetchByName
指定のエンティティー参照 (例: <kind>:<namespace>/<name>) に一致するエンティティーを返す、/entities/by-name/:kind/:namespace/:name エンドポイントへの GET リクエストを追跡します。
CatalogEntityFetchByUid
指定エンティティーの一意の ID に一致するエンティティーを返す、/entities/by-uid/:uid エンドポイントへの GET リクエストを追跡します。
CatalogEntityRefresh
指定のエンティティーの更新をスケジュールする、/entities/refresh エンドポイントへの POST リクエストを追跡します。
CatalogEntityValidate
指定のエンティティーを検証する、/entities/validate エンドポイントへの POST リクエストを追跡します。
CatalogLocationCreation
ロケーションを作成する、/locations エンドポイントへの POST リクエストを追跡します。
注記

ロケーションとは、カタログデータを検索するために他の場所を参照するマーカーです。

CatalogLocationAnalyze
指定のロケーションを分析する、/locations/analyze エンドポイントへの POST リクエストを追跡します。
CatalogLocationDeletion
ロケーションとそれに関連付けられたすべての子エンティティーを削除する、/locations/:id エンドポイントへの DELETE リクエストを追跡します。
CatalogLocationFetch
/locations エンドポイントへの GET リクエストを追跡します。
CatalogLocationFetchByEntityRef
指定のエンティティー参照に関連付けられたロケーションのリストを返す、/locations/by-entity エンドポイントへの GET リクエストを追跡します。
CatalogLocationFetchById
指定のロケーション ID に一致するロケーションを返す、/locations/:id エンドポイントへの GET リクエストを追跡します。
QueriedCatalogEntityFetch
指定のクエリーに一致するエンティティーのリストを返す、/entities/by-query エンドポイントへの GET リクエストを追跡します。

法律上の通知

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る