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


Red Hat Developer Hub では、Home ページのデータを設定できます。Home ページのデータはプロキシーとして app-config.yaml ファイルに渡すことができます。Home ページのデータは、次の方法を使用して提供できます。

  • ホストされている JSON ファイル、GitHub または GitLab を使用します。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
  • API を使用して JSON 形式の Home ページのデータを提供する別のサービスを使用します。

    注記

    Home ページのデータと Tech Radar のデータを同じサービスで提供する必要はありません。

    ホームページと Tech Radar の両方にデータを提供するサンプルサービスとして、red-hat-developer-hub-customization-provider を使用できます。red-hat-developer-hub-customization-provider サービスは、デフォルトの Developer Hub データと同じデータを提供します。必要に応じて、GitHub から red-hat-developer-hub-customization-provider サービスリポジトリーをフォークし、独自のデータで変更できます。

このセクションでは、Developer Hub Helm チャートがデプロイされているクラスターに red-hat-developer-hub-customization-provider サービスをデプロイする方法について説明します。

前提条件

手順

  1. Red Hat OpenShift で、+Add を選択し、Import from Git オプションをクリックします。
  2. Git リポジトリーの URL を Git Repo URL フィールドに追加します。

    red-hat-developer-hub-customization-provider サービスを使用するには、red-hat-developer-hub-customization-provider リポジトリーの URL を追加できます。

  3. General セクションで、Name フィールドの値の名前を rhdh-customization-provider に変更し、Create をクリックします。
  4. Advanced Options に移動し、Target Port から値をコピーします。

    Target Port は、通信する Kubernetes または OpenShift サービスを自動的に生成するために使用されます。

  5. サービスを表示するには、OpenShift Administrator ビューに移動し、Networking Service セクションに移動します。

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

    例を使用してこの手順に従うと、rhdh-customization-provider サービスが呼び出され、8080 ポートが追加されます。次の例に示すように、指定した 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 インスタンスはデフォルトのローカルデータにフォールバックします。

    Red Hat Developer Hub の Home ページにアクセスするには、ベース URL に /developer-hub プロキシーが含まれている必要があります。

  6. 次のコードを 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

    API 要求の呼び出しが JSON 形式で応答を返すことを確認します。

  7. HOMEPAGE_DATA_URLhttp://<SERVICE_NAME>:8080 と定義します。たとえば、`http://rhdh-customization-provider:8080 とします。

    HOMEPAGE_DATA_URL を置き換えるには、URL を rhdh-secrets に追加するか、カスタム ConfigMap で直接置き換えます。

  8. Developer Hub Pod を削除して、変更を取り込みます。

    イメージまたはアイコンが読み込まれない場合は、次のように、カスタム 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

    その後、Pod を削除して、新しい設定が正しくロードされていることを確認します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.