10.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
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.