This documentation is for a release that is no longer maintained
See documentation for the latest supported version.Red Hat Developer Hub のスタートガイド
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
開発者は Red Hat Developer Hub を使用して効率的な開発環境を利用できます。Red Hat Developer Hub は一元化されたソフトウェアカタログを採用しており、マイクロサービスとインフラストラクチャーの効率向上を実現します。これにより、製品チームは妥協することなく高品質のコードを提供できるようになります。
第1章 Red Hat Developer Hub でサポートされる設定 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、Red Hat Developer Hub にアクセスするために必要な以下の設定を説明します。
- カスタムアプリケーション設定
- Developer Hub カタログのソース管理設定
1.1. Red Hat OpenShift Container Platform へのカスタムアプリケーション設定ファイルの追加 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Developer Hub にアクセスするには、Red Hat OpenShift Container Platform にカスタムアプリケーション設定ファイルを追加する必要があります。OpenShift Container Platform では、次のコンテンツをベーステンプレートとして使用して、app-config-rhdh という名前の ConfigMap を作成できます。
次のいずれかの方法で、カスタムアプリケーション設定ファイルを OpenShift Container Platform に追加できます。
- Red Hat Developer Hub Operator
- Red Hat Developer Hub Helm チャート
1.1.1. Helm チャートを使用したカスタムアプリケーション設定ファイルの OpenShift Container Platform への追加 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Developer Hub Helm チャートを使用して、カスタムアプリケーション設定ファイルを OpenShift Container Platform インスタンスに追加できます。
前提条件
- Red Hat OpenShift Container Platform アカウントを作成している。
手順
- OpenShift Container Platform Web コンソールから、ConfigMaps タブを選択します。
- Create ConfigMap をクリックします。
- Create ConfigMap ページで、Configure via の YAML view オプションを選択し、必要に応じてファイルに変更を加えます。
- Create をクリックします。
- Helm リリースのリストを表示するには、Helm タブに移動します。
- 使用する Helm リリースのオーバーフローメニューをクリックし、Upgrade を選択します。
Helm 設定を編集するには、Form view または YAML view のいずれかを使用します。
Form view を使用する場合
- Root Schema → Backstage chart schema → Backstage parameters → Extra app configuration files to inline into command arguments を展開します。
- Add Extra app configuration files to inline into command arguments リンクをクリックします。
以下のフィールドに値を入力します。
-
configMapRef:
app-config-rhdh -
filename:
app-config-rhdh.yaml
-
configMapRef:
- Upgrade をクリックします。
YAML view を使用する場合
以下のように
upstream.backstage.extraAppConfig.configMapRefパラメーターおよびupstream.backstage.extraAppConfig.filenameパラメーターの値を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Upgrade をクリックします。
1.1.2. Operator を使用したカスタムアプリケーション設定ファイルの OpenShift Container Platform への追加 リンクのコピーリンクがクリップボードにコピーされました!
カスタムアプリケーション設定ファイルは、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 を作成している。
手順
- OpenShift Container Platform Web コンソールの Developer パースペクティブから Topology ビューを選択し、Developer Hub Pod の Open URL アイコンをクリックして、Developer Hub の外部 URL <RHDH_URL> を特定します。
- OpenShift Container Platform Web コンソールの Developer パースペクティブから、ConfigMaps ビューを選択します。
- Create ConfigMap をクリックします。
Configure via で YAML view オプションを選択し、次の例をベーステンプレートとして使用して、
app-config-rhdh.yamlなどのConfigMapオブジェクトを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create をクリックします。
- Secrets ビューを選択します。
- Create Key/value Secret をクリックします。
-
secrets-rhdhという名前のシークレットを作成します。 BACKEND_SECRETという名前のキーと、base64 でエンコードされた文字列を値として追加します。Red Hat Developer Hub インスタンスごとに一意の値を使用します。たとえば、次のコマンドを使用してターミナルからキーを生成できます。node -p 'require("crypto").randomBytes(24).toString("base64")'node -p 'require("crypto").randomBytes(24).toString("base64")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create をクリックします。
- Topology ビューを選択します。
使用する Red Hat Developer Hub インスタンスのオーバーフローメニューをクリックし、Edit Backstage を選択して、Red Hat Developer Hub インスタンスの YAML ビューを読み込みます。
CR で、
spec.application.appConfig.configMapsフィールドの値としてカスタムアプリケーション設定の config map の名前を入力し、spec.application.extraEnvs.secretsフィールドの値としてシークレットの名前を入力します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save をクリックします。
- Topology ビューに戻り、Red Hat Developer Hub Pod が起動するまで待ちます。
- Open URL アイコンをクリックして、Red Hat Developer Hub プラットフォームを使用し、設定変更を行います。
関連情報
- Developer Hub におけるロールと責任の詳細は、Red Hat Developer Hub のロールベースのアクセス制御 (RBAC) を参照してください。
第2章 GitHub リポジトリーの一括インポート リンクのコピーリンクがクリップボードにコピーされました!
この章の機能はテクノロジープレビュー機能です。テクノロジープレビュー機能は、実稼働環境での Red Hat サービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポートの詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Red Hat Developer Hub は、GitHub リポジトリーのオンボーディングを自動化し、インポートステータスを追跡できます。
2.1. 一括インポート機能の有効化とアクセス権の付与 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーに対して一括インポート機能を有効にし、アクセスするために必要な権限を付与できます。
前提条件
手順
Bulk Import プラグインはインストールされていますが、デフォルトでは無効になっています。
./dynamic-plugins/dist/janus-idp-backstage-plugin-bulk-import-backend-dynamicおよび./dynamic-plugins/dist/janus-idp-backstage-plugin-bulk-importプラグインを有効にするには、dynamic-plugins.yamlを次の内容で編集します。dynamic-plugins.yamlフラグメントplugins: - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-bulk-import-backend-dynamic disabled: false - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-bulk-import disabled: falseplugins: - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-bulk-import-backend-dynamic disabled: false - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-bulk-import disabled: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 動的プラグインのインストールと表示 を参照してください。
管理者ではないユーザーに対して必要な
bulk.importRBAC 権限を次のように設定します。rbac-policy.csvフラグメントp, role:default/bulk-import, bulk.import, use, allow g, user:default/<your_user>, role:default/bulk-import
p, role:default/bulk-import, bulk.import, use, allow g, user:default/<your_user>, role:default/bulk-importCopy to Clipboard Copied! Toggle word wrap Toggle overflow 一括インポート機能を使用できるのは、Developer Hub 管理者または
bulk.import権限を持つユーザーのみであることに注意してください。Red Hat Developer Hub のパーミッションポリシー を参照してください。
検証
- サイドバーに Bulk Import オプションが表示されます。
- Bulk Import ページには、Added Repositories のリストが表示されます。
2.2. 複数の GitHub リポジトリーのインポート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Developer Hub では、GitHub リポジトリーを選択し、Developer Hub カタログへのオンボーディングを自動化できます。
手順
- 左側のサイドバーで Bulk Import をクリックします。
右上隅の Add ボタンをクリックすると、設定された GitHub インテグレーションからアクセスできるすべてのリポジトリーのリストが表示されます。
-
Repositories ビューから、任意のリポジトリーを選択したり、アクセス可能なリポジトリーを検索したりできます。選択されたリポジトリーごとに、
catalog-info.yamlが生成されます。 - Organizations ビューでは、3 番目の列の Select をクリックして任意の組織を選択できます。このオプションを使用すると、選択した組織から 1 つ以上のリポジトリーを選択できます。
-
Repositories ビューから、任意のリポジトリーを選択したり、アクセス可能なリポジトリーを検索したりできます。選択されたリポジトリーごとに、
各リポジトリーのプルリクエストの詳細を表示または編集するには、Preview file をクリックします。
-
プルリクエストの説明と
catalog-info.yamlファイルの内容を確認します。 -
オプション: リポジトリーに
.github/CODEOWNERSファイルがある場合は、content-info.yamlに特定のエンティティー所有者を含めるのではなく、Use CODEOWNERS file as Entity Owner チェックボックスを選択してそのファイルを使用できます。 - Save をクリックします。
-
プルリクエストの説明と
Create pull requests をクリックします。この時点で、選択したリポジトリーに対して一連のドライランチェックが実行され、次のようなインポートの要件を満たしているかどうかが確認されます。
-
リポジトリー
catalog-info.yamlで指定された名前のエンティティーが Developer Hub カタログに存在しないことを確認します。 - リポジトリーが空でないことを確認します。
リポジトリーのUse CODEOWNERS file as Entity Owner チェックボックスが選択されている場合、リポジトリーに
.github/CODEOWNERSファイルが含まれていることを確認します。- エラーが発生した場合、プルリクエストは作成されず、問題の詳細を示す Failed to create PR のエラーメッセージが表示されます。理由の詳細を表示するには、Edit をクリックします。
- エラーがなければ、プルリクエストが作成され、追加されたリポジトリーのリストにリダイレクトされます。
-
リポジトリー
-
catalog-info.ymlファイルを作成する各プルリクエストを確認し、マージします。
検証
- Added repositories リストには、インポートしたリポジトリーが、それぞれ適切なステータス Waiting for approval または Added とともに表示されます。
-
リストされているWaiting for approval のインポートジョブごとに、対応するリポジトリーに
catalog-info.yamlファイルを追加するための、対応するプルリクエストがあります。
2.3. 追加されたリポジトリーの管理 リンクのコピーリンクがクリップボードにコピーされました!
Developer Hub にインポートされたリポジトリーを監視および管理できます。
前提条件
手順
左側のサイドバーで Bulk Import をクリックして、Import ジョブとして追跡されている現在のすべてのリポジトリーとそのステータスを表示します。
- Added
-
インポートプルリクエストがマージされた後、または一括インポート中にリポジトリーに
catalog-info.yamlファイルがすでに含まれていた場合、リポジトリーは Developer Hub カタログに追加されます。カタログでエンティティーが利用可能になるまで数分かかる場合があります。 - Waiting for approval
catalog-info.yamlファイルをリポジトリーに追加するオープンプルリクエストがあります。これにより、以下が可能になります。- 右側の 鉛筆アイコン をクリックして、プルリクエストの詳細を表示するか、Developer Hub からプルリクエストのコンテンツを編集します。
- インポートジョブを削除します。この操作により、インポート PR も閉じられます。
- インポートジョブを Added 状態に移行するには、Git リポジトリーからのインポートプルリクエストをマージします。
- Empty
-
リポジトリーは他のソースからインポートされていますが、
catalog-info.yamlファイルがなく、それを追加するインポートプルリクエストもないため、Developer Hub はインポートジョブのステータスを判別できません。
- インポートプルリクエストがマージされると、インポートステータスは Added Repositories のリストで Added としてマークされますが、対応するエンティティーが Developer Hub カタログに表示されるまでに数秒かかる場合があります。
他のソースから追加された場所 (
app-config.yamlファイルで静的に追加された場所、GitHub 検出を有効にする ときに動的に追加された場所、または「既存のコンポーネントの登録」ページを使用して手動で登録された場所など) は、次の条件が満たされている場合、追加されたリポジトリーの一括インポートリストに表示されることがあります。- ターゲットリポジトリーには、設定された GitHub インテグレーションからアクセスできます。
-
場所 URL は、リポジトリーのデフォルトブランチのルートにある
catalog-info.yamlファイルを指します。
2.4. 一括インポート監査ログについて リンクのコピーリンクがクリップボードにコピーされました!
Bulk Import backend プラグインは、Developer Hub 監査ログに次のイベントを追加します。監査ログの設定方法と表示方法の詳細は、Red Hat Developer Hub の監査ログ を参照してください。
一括インポートイベント:
BulkImportUnknownEndpoint- 不明なエンドポイントへの要求を追跡します。
BulkImportPing-
/pingエンドポイントへのGETリクエストを追跡し、一括インポートバックエンドが稼働していることを確認できます。 BulkImportFindAllOrganizations-
/organizationsエンドポイントへのGETリクエストを追跡します。これにより、設定されたすべての GitHub インテグレーションからアクセス可能な組織のリストが返されます。 BulkImportFindRepositoriesByOrganization-
/organizations/:orgName/repositoriesエンドポイントへのGETリクエストを追跡します。このエンドポイントは、指定された組織のリポジトリーのリストを返します (設定された GitHub インテグレーションのいずれかからアクセス可能)。 BulkImportFindAllRepositories-
/repositoriesエンドポイントへの GET リクエストを追跡し、設定されたすべての GitHub インテグレーションからアクセス可能なリポジトリーのリストを返します。 BulkImportFindAllImports-
/importsエンドポイントへのGETリクエストを追跡し、既存のインポートジョブのリストとそのステータスを返します。 BulkImportCreateImportJobs-
/importsエンドポイントへのPOSTリクエストを追跡します。これにより、ターゲットリポジトリーにインポートプルリクエストを作成して、1 つまたは複数のリポジトリーを Developer Hub カタログに一括インポートするリクエストを送信できます。 BulkImportFindImportStatusByRepo-
指定されたリポジトリーのインポートジョブの詳細を取得する
/import/by-repoエンドポイントへのGETリクエストを追跡します。 BulkImportDeleteImportByRepo-
/import/by-repoエンドポイントへのDELETEリクエストを追跡します。これにより、作成された可能性があり、未対応のインポートプルリクエストをすべて終了し、指定されたリポジトリーの既存のインポートジョブがすべて削除されます。
監査ログの一括インポートの例
第3章 Red Hat Developer Hub の Home ページのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
app-config を使用する場合は、次のことができます。
- インストールして有効にしたプラグインに基づいて表示される追加のカードを使用して、デフォルトのホームページレイアウトをカスタマイズおよび拡張します。
- クイックアクセスリンクを変更します。
次の利用可能なカードを追加、再編成、および削除します。
- 検索バー
- クイックアクセス
- 見出し
- マークダウン
- プレースホルダー
- スター付きエンティティーのカタログ化
- 注目のドキュメント
3.1. ホームページカードのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
管理者は、12 列のグリッドにあるカードの固定の高さを変更できます。
デフォルトのホームページは、次の app-config ファイル設定のとおりです。
前提条件
-
管理者アクセス権があり、動的プラグイン設定の
app-config.yamlファイルを変更できる。
手順
次のように、Red Hat Developer Hub のホームページにさまざまなカードを設定します。
- 検索
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表3.1 利用可能なプロパティー プロパティー デフォルト 説明 path/search必要に応じてリンクされた検索パスを上書きする
queryParamquery必要に応じて検索クエリーパラメーター名を上書きする
- クイックアクセス
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表3.2 利用可能なプロパティー プロパティー デフォルト 説明 titleQuick Access必要に応じてリンクされた検索パスを上書きする
pathnone
必要に応じて検索クエリーパラメーター名を上書きする
- 見出し
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表3.3 利用可能なプロパティー プロパティー デフォルト 説明 titlenone
タイトル
- マークダウン
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - プレースホルダー
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - スター付きエンティティーのカタログ化
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 注目のドキュメント
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. Red Hat Developer Hub ホームページのレイアウトの定義 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
各ブレークポイントに次の最適なパラメーターを含めます。
- 幅 (w)
- 高さ (h)
- 位置 (x および y)
手順
次のいずれかのオプションを選択して、Developer Hub の
app-config.yaml設定ファイルを設定します。- 次のように、小さいウィンドウではスペース全体を、大きいウィンドウではスペースの半分を使用します。
-
次のように
xパラメーターを定義して、カードを並べて表示します。
ただし、デフォルトではこのカードの下に 2 枚目のカードが表示されます。
-
次のように
xパラメーターを定義して、カードを 3 列に表示します。
第4章 Red Hat Developer Hub のクイックアクセスカードのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
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 ファイルからデータにアクセスするには、Developer Hub の
app-config.yaml設定ファイルに次のコードを追加します。 app-config.yamlファイルに次のコードを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 チャートを同じクラスターにデプロイできます。
前提条件
- Helm チャートを使用して Red Hat Developer Hub をインストールしている。
詳細は、Helm チャートを使用した OpenShift Container Platform への Red Hat Developer Hub のインストール を参照してください。
手順
個別のサービスを使用して Home ページのデータを提供するには、次の手順を実行します。
- Red Hat OpenShift Container Platform Web コンソールの Developer パースペクティブで、+Add > Import from Git をクリックします。
Git リポジトリーの URL を Git Repo URL フィールドに入力します。
red-hat-developer-hub-customization-providerサービスを使用するには、red-hat-developer-hub-customization-provider リポジトリーの URL か、カスタマイズした内容が含まれているリポジトリーのフォークの URL を追加します。- General タブで、Name フィールドに red-hat-developer-hub-customization-provider と入力し、Create をクリックします。
Advanced Options タブで、Target Port から値をコピーします。
注記Target Port は、通信する Kubernetes または OpenShift Container Platform サービスを自動的に生成します。
次のコードを
app-config-rhdh.yamlファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow HOMEPAGE_DATA_URLは、http://<SERVICE_NAME>:8080(例:http://rhdh-customization-provider:8080) という形式で定義します。注記red-hat-developer-hub-customization-providerサービスには、デフォルトで 8080 ポートが含まれています。カスタムポートを使用している場合は、app-config-rhdh.yamlファイルの 'PORT' 環境変数で指定できます。-
rhdh-secretsに URL を追加するか、カスタム ConfigMap で直接置き換えることで、HOMEPAGE_DATA_URLを置き換えます。 - 新しい設定が正しく読み込まれるように、Developer Hub Pod を削除します。
検証
サービスを表示するには、OpenShift Container Platform Web コンソールの Administrator パースペクティブに移動し、Networking > Service をクリックします。
注記Topology ビューで Service Resources を表示することもできます。
次の例に示すように、指定した Home ページの API URL から、JSON 形式でデータが返されることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記要求の呼び出しが失敗した場合や、設定されていない場合、Developer Hub インスタンスはデフォルトのローカルデータにフォールバックします。
-
イメージまたはアイコンが読み込まれない場合は、次のように、カスタム ConfigMap のコンテンツセキュリティーポリシー (csp) の
img-srcにイメージまたはアイコンのホスト URL を追加して、イメージまたはアイコンを許可リストに登録します。
第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-radar と homepage クイックアクセスプロキシーの両方に重複する 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ファイルに次のコードを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 チャートを同じクラスターにデプロイできます。
前提条件
- Helm チャートを使用して Red Hat Developer Hub をインストールしている。
詳細は、Helm チャートを使用した OpenShift Container Platform への Red Hat Developer Hub のインストール を参照してください。
手順
個別のサービスを使用して Tech Radar のデータを提供するには、次の手順を実行します。
次のコードを
app-config-rhdh.yamlファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow TECHRADAR_DATA_URLは、http://<SERVICE_NAME>/tech-radar(例:http://rhdh-customization-provider/tech-radar) という形式で定義します。注記TECHRADAR_DATA_URLは、URL をrhdh-secretsに追加するか、カスタム ConfigMap 内の URL 値で直接置き換えることで定義できます。- 新しい設定が正しく読み込まれるように、Developer Hub Pod を削除します。
第6章 Red Hat Developer Hub のラーニングパスのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Developer Hub では、データをプロキシーとして app-config.yaml ファイルに渡すことで、ラーニングパスを設定できます。ベース URL には /developer-hub/learning-paths プロキシーを含める必要があります。
learning-path と homepage クイックアクセスプロキシーの両方に重複する 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ファイルに次のコードを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 チャートを同じクラスターにデプロイできます。
前提条件
- Helm チャートを使用して Red Hat Developer Hub をインストールしている。
詳細は、OpenShift Container Platform への Red Hat Developer Hub のインストール を参照してください。
手順
専用サービスを使用してラーニングパスのデータを提供するには、次の手順を実行します。
次のコードを
app-config-rhdh.yamlファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow LEARNING_PATH_DATA_URLは、http://<SERVICE_NAME>/learning-paths(例:http://rhdh-customization-provider/learning-paths) という形式で定義します。注記LEARNING_PATH_DATA_URLは、URL をrhdh-secretsに追加するか、カスタム ConfigMap 内の URL 値で直接置き換えることで定義できます。- 新しい設定が正しく読み込まれるように、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 Theme、Dark Theme、Auto) など、一部のコンポーネントは、Developer Hub GUI からカスタマイズすることもできます。
7.1. Developer Hub インスタンスのテーマモードのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
Developer Hub では、テーマ設定を使用してさまざまな UI コンポーネントの外観と操作性を変更します。そのため、RHDH ページで使用される背景色やフォントの変更以外に、ボタン、タブ、サイドバー、カード、テーブルなどのさまざまな UI コンポーネントが変更されていることに気づくはずです。
Developer Hub インスタンスには、次のいずれかのテーマモードを選択できます。
- Light theme
- Dark theme
- Auto
デフォルトのテーマモードは Auto です。システム設定に基づいてライトテーマかダークテーマが自動的に設定されます。
前提条件
- Developer Hub Web コンソールにログインしている。
手順
- Developer Hub Web コンソールから、Settings をクリックします。
Appearance パネルで、LIGHT THEME、DARK THEME、または AUTO をクリックしてテーマモードを変更します。
7.2. Developer Hub インスタンスのブランディングロゴのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、app-config-rhdh.yaml ファイルの branding セクションを設定することで、Developer Hub インスタンスのブランディングロゴをカスタマイズできます。
app:
branding:
fullLogo: ${BASE64_EMBEDDED_FULL_LOGO}
iconLogo: ${BASE64_EMBEDDED_ICON_LOGO}
app:
branding:
fullLogo: ${BASE64_EMBEDDED_FULL_LOGO}
iconLogo: ${BASE64_EMBEDDED_ICON_LOGO}
ここでは、以下のようになります。
次の例に示すように、branding セクションの fullLogoWidth フィールドに値を設定して、ブランディングロゴの幅をカスタマイズすることもできます。
app:
branding:
fullLogoWidth: 110px
# ...
app:
branding:
fullLogoWidth: 110px
# ...
- 1
- ロゴの幅のデフォルト値は
110pxです。サポートされている単位は、integer、px、em、rem、パーセンテージです。
7.4. Developer Hub インスタンスのアプリケーションタイトルのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
title フィールドに値を設定することで、アプリケーションタイトルテキストをカスタマイズできます。次に例を示します。
app: title: My custom developer hub # ...
app:
title: My custom developer hub
# ...
7.5. Developer Hub インスタンスのテーマモードカラーパレットのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
app-config-rhdh.yaml ファイルの branding.theme セクションで light.palette および dark.palette パラメーターを設定することで、Developer Hub インスタンスのライトテーマモードとダークテーマモードのカラーパレットをカスタマイズできます。次に例を示します。
- 1
- ライトカラーパレットのメインのプライマリーカラー (例:
#ffffffまたはwhite)。 - 2
- ライトカラーパレットのナビゲーションインジケーターの色。これは、ナビゲーションパネルで選択中のタブを示す縦のバーです (例:
#FF0000またはred)。 - 3
- ライトカラーパレットのデフォルトページテーマの背景色 (例:
#ffffffまたはwhite)。 - 4
- ダークカラーパレットのメインのプライマリーカラー (例:
#000000またはblack)。 - 5
- ダークカラーパレットのナビゲーションインジケーターの色。これは、ナビゲーションパネルで選択中のタブを示す縦のバーです (例:
#FF0000またはred)。 - 6
- ダークカラーパレットのデフォルトのページテーマの背景色 (例:
#000000または黒)。
7.6. Developer Hub インスタンスのページテーマヘッダーのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
app-config-rhdh.yaml ファイルの branding.theme セクションを変更することで、Developer Hub インスタンスのライトテーマモードとダークテーマモードのヘッダー色をカスタマイズできます。Home、Catalog、API ページなど、追加の Developer Hub ページのページヘッダーをカスタマイズすることもできます。
7.7. Developer Hub インスタンスのフォントのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
app-config-rhdh.yaml ファイルの typography セクションを設定することで、ページテキストのデフォルトのフォントファミリーとサイズ、および各見出しレベルのフォントファミリーとサイズを変更できます。次に例を示します。
7.8. デフォルトの Red Hat Developer Hub テーマ リンクのコピーリンクがクリップボードにコピーされました!
デフォルトの Red Hat Developer Hub テーマ設定を使用すると、Developer Hub インスタンスを標準の Red Hat Developer Hub インスタンスのような外観にすることができます。また、app-config-rhdh.yaml ファイルを変更して、特定のパラメーターをカスタマイズしたり無効にしたりすることもできます。
7.8.1. デフォルトの Red Hat Developer Hub テーマのカラーパレット リンクのコピーリンクがクリップボードにコピーされました!
app-config-rhdh.yaml ファイルでは、デフォルトの Red Hat Developer Hub カラーパレットに次の設定を使用しています。
または、app-config-rhdh.yaml ファイルで次の variant 値と mode 値を使用して、以前のデフォルト設定を適用することもできます。
7.8.2. デフォルトの Red Hat Developer Hub ページテーマ リンクのコピーリンクがクリップボードにコピーされました!
次の app-config-rhdh.yaml ファイル設定に示すように、デフォルトの Developer Hub ヘッダーの色は、ライトモードでは白、ダークモードでは黒です。
7.9. デフォルトの Backstage テーマ リンクのコピーリンクがクリップボードにコピーされました!
デフォルトの Backstage テーマ設定を使用すると、Developer Hub インスタンスを標準の Backstage インスタンスのような外観にすることができます。また、app-config-rhdh.yaml ファイルを変更して、特定のパラメーターをカスタマイズしたり無効にしたりすることもできます。
7.9.1. デフォルトの Backstage テーマのカラーパレット リンクのコピーリンクがクリップボードにコピーされました!
app-config-rhdh.yaml ファイルでは、デフォルトの Backstage カラーパレットに次の設定を使用しています。
または、app-config-rhdh.yaml ファイルで次の variant 値と mode 値を使用して、以前のデフォルト設定を適用することもできます。
7.9.2. デフォルトの Backstage ページテーマ リンクのコピーリンクがクリップボードにコピーされました!
次の app-config-rhdh.yaml ファイル設定に示すように、デフォルトの Backstage ヘッダーの色は、ライトモードでは白、ダークモードでは黒です。
7.10. Developer Hub インスタンスのカスタムコンポーネントのオプション リンクのコピーリンクがクリップボードにコピーされました!
Developer Hub テーマのさまざまなコンポーネントをカスタマイズするために使用できるコンポーネントのバリアントが 2 つあります。
- Patternfly
- MUI
ライトテーマモードまたはダークテーマモード設定の各パラメーターにコンポーネントバリアントを割り当てるだけでなく、rippleEffect の on と off を切り替えることもできます。
次のコードに、Developer Hub インスタンスのテーマコンポーネントを設定するために app-config-rhdh.yaml ファイルで使用できるオプションを示します。
第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 カスタムアクションはプリロードされたプラグインとして提供されますが、デフォルトでは無効になっています。次の手順でカスタムアクションプラグインを有効にできます。
前提条件
- Red Hat Developer Hub がインストールされ、実行されている。
Developer Hub のインストールの詳細は、Helm チャートを使用した OpenShift Container Platform への Red Hat Developer Hub のインストール を参照してください。
- Developer Hub でプロジェクトを作成している。
手順
カスタムアクションプラグインを有効にするには、プラグイン名を持つ
packageを追加し、Helm チャートのdisabledフィールドを次のように更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記プラグインのデフォルト設定は、
dynamic-plugins.default.yamlファイルから抽出されます。ただし、pluginConfigエントリーを使用すると、デフォルト設定をオーバーライドできます。カスタムアクションにアクセスするには、Helm チャートで次の変数を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードの取得元のテーブル名
sysIdstring必須
取得するレコードの一意の識別子
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。Expand 表8.2 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [GET] servicenow:now:table:retrieveRecords
Developer Hub のテーブルから複数のレコードに関する情報を取得します。
Expand 表8.3 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードの取得元のテーブル名
sysparamQuerystring任意
結果をフィルタリングするために使用するエンコードされたクエリー文字列
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmSuppressPaginationHeaderboolean任意
ページネーションヘッダーを抑制するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmLimitint任意
ページごとに返される結果の最大数。デフォルト値は
10,000です。sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。sysparmQueryCategorystring任意
クエリーに使用するクエリーカテゴリーの名前
sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。sysparmNoCountboolean任意
テーブルに対して select count (*) を実行しません。デフォルト値は
falseです。Expand 表8.4 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [POST] servicenow:now:table:createRecord
Developer Hub のテーブルにレコードを作成します。
Expand 表8.5 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードの保存先のテーブル名
requestBodyRecord<PropertyKey, unknown>任意
指定のレコードで定義する各パラメーターのフィールド名と関連する値
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmInputDisplayValueboolean任意
trueに設定して表示値を使用するか、falseに設定して実際の値を使用してフィールド値を設定します。デフォルト値はfalseです。sysparmSuppressAutoSysFieldboolean任意
システムフィールドの自動生成を抑制するには、
trueに設定します。デフォルト値はfalseです。sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。Expand 表8.6 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [PUT] servicenow:now:table:modifyRecord
Developer Hub のテーブルのレコードを変更します。
Expand 表8.7 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードを変更するテーブルの名前
sysIdstring必須
変更するレコードの一意の識別子
requestBodyRecord<PropertyKey, unknown>任意
指定のレコードで定義する各パラメーターのフィールド名と関連する値
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmInputDisplayValueboolean任意
trueに設定して表示値を使用するか、falseに設定して実際の値を使用してフィールド値を設定します。デフォルト値はfalseです。sysparmSuppressAutoSysFieldboolean任意
システムフィールドの自動生成を抑制するには、
trueに設定します。デフォルト値はfalseです。sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。Expand 表8.8 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [PATCH] servicenow:now:table:updateRecord
Developer Hub のテーブルのレコードを更新します。
Expand 表8.9 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードを更新するテーブルの名前
sysIdstring必須
更新するレコードの一意の識別子
requestBodyRecord<PropertyKey, unknown>任意
指定のレコードで定義する各パラメーターのフィールド名と関連する値
sysparmDisplayValueenum("true", "false", "all")任意
trueに設定してフィールド表示値を返すか、falseに設定して実際の値を返すか、またはその両方を返します。デフォルト値はfalseです。sysparmExcludeReferenceLinkboolean任意
参照フィールドのテーブル API リンクを除外するには、
trueに設定します。デフォルト値はfalseです。sysparmFieldsstring[]任意
レスポンスで返されるフィールドの配列
sysparmInputDisplayValueboolean任意
trueに設定して表示値を使用するか、falseに設定して実際の値を使用してフィールド値を設定します。デフォルト値はfalseです。sysparmSuppressAutoSysFieldboolean任意
システムフィールドの自動生成を抑制するには、
trueに設定します。デフォルト値はfalseです。sysparmViewstring任意
指定された UI ビューに従ってレスポンスを表示します。
sysparm_fieldsを使用してこのパラメーターをオーバーライドできます。sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。Expand 表8.10 出力パラメーター 名前 型 説明 resultRecord<PropertyKey, unknown>要求のレスポンスボディー
- [DELETE] servicenow:now:table:deleteRecord
Developer Hub のテーブルからレコードを削除します。
Expand 表8.11 入力パラメーター 名前 型 要件 説明 tableNamestring必須
レコードを削除するテーブルの名前
sysIdstring必須
削除するレコードの一意の識別子
sysparmQueryNoDomainboolean任意
ドメイン間でデータにアクセスするには (許可されている場合)、
trueに設定します。デフォルト値はfalseです。