This documentation is for a release that is no longer maintained
See documentation for the latest supported version.Red Hat Developer Hub 1.0 のリリースノート
概要
はじめに
Red Hat Developer Hub (Developer Hub) 1.0 の一般提供 (GA) が開始されました。Developer Hub は、アップストリームの Backstage v1.19.6 エンタープライズグレードの製品化バージョンで、完全にサポートされています。カスタマーポータル にアクセスし、Red Hat Developer Hub をダウンロードできます。
Red Hat Developer Hub のサポート
本書で説明されている手順で問題が発生した場合は、Red Hat カスタマーポータル (http://access.redhat.com) にアクセスしてください。Red Hat Customer Portal を使用して、Red Hat 製品に関するテクニカルサポート記事の Red Hat ナレッジベースを検索または閲覧できます。Red Hat Global Support Services (GSS) の サポートケース を作成することもできます。製品として "Red Hat Developer Hub" を選択し、適切な製品バージョンを選択してください。
第1章 このリリースについて
このリリースノートでは、Red Hat Developer Hub 1.0 に実装されている機能の概要について説明し、このリリースの既知の問題をドキュメント化しています。
このリリース内の一部の機能はテクノロジープレビューとして利用できる場合があり、今後発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
Red Hat のテクノロジープレビュー機能のサポート範囲についての詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
以下は、Red Hat Developer Hub の利点です。
- 開発者の生産性の向上: 一般的な組織の課題を排除して、シームレスなコラボレーションを可能にし、アプリケーションの作成、開発、デプロイのための明確なガイドラインを提供することにより、生産性が向上します。
- 統合セルフサービスダッシュボード: Git、CI/CD、SAST/DAST、サプライチェーン、OpenShift/Kubernetes クラスター、JIRA、モニタリング、API、ドキュメントなどのさまざまな側面をカバーする統合ダッシュボードを開発チームに提供します。これらは、150 超のプラグインで容易となっています。これらはすべて、企業のベストプラクティスに沿ってプラットフォームエンジニアリングチームがキュレートしています。
- ソフトウェアテンプレートによるベストプラクティス: 新しいアプリケーションの作成、Ansible ジョブの実行、Git での実稼働デプロイメントのための CI/CD パイプラインの確立などの一般的なタスクをエンコードすることで、組織のベストプラクティスを自動化します。
- スケーラブルな技術ドキュメント: コードとドキュメントは同じリポジトリーに存在し、独自のドキュメントシステムへの依存を排除します。
- 新規開発者の効率的なオンボーディング: 新規開発者はすぐに適応し、短期間で生産性を向上させます。
- 堅牢なエンタープライズロールベースのアクセスコントロール (RBAC) : 管理者がロールを作成し、ユーザーまたはグループをロールに割り当て、アクセス制御を強化するための堅牢なセキュリティーポリシーを実装できるようにします。
第2章 新機能
このセクションでは、Red Hat Developer Hub 1.0 の新機能に焦点を当てます。
2.1. ロールベースのアクセス制御のサポート
Red Hat Developer Hub のロールベースのアクセス制御 (RBAC) 機能は、管理者ロールを導入し、チーム、グループ、ユーザーなどの組織構造を通じてアクセス制御を最適化します。
RBAC には、Developer Hub でパーミッションとロールを管理するために使用できる REST API エンドポイントが備わっています。
RBAC REST API を使用すると、次のアクションを実行できます。
- すべてのパーミッションポリシー、特定のパーミッションポリシー、またはロールに関する情報を取得します。
- パーミッションポリシーまたはロールを作成、更新、あるいは削除します。
- 静的プラグインに関するパーミッションポリシー情報を取得します。
RBAC は、カタログ、ソフトウェアテンプレート、RBAC プラグインなどのコアな Red Hat Developer Hub 機能でのみサポートされます。
2.2. プラグインの動的有効化のサポート
動的プラグイン機能を使用すると、コードを再コンパイルしたりコンテナーを再ビルドしたりせずに、動的プラグインを Developer Hub インスタンスにサイドロードできます。
Developer Hub には、厳選された動的プラグインがプリロードされています。これらの動的プラグインのほとんどは、必須の設定があるため、デフォルトでは無効になっています。Red Hat Developer Hub のこのリリースに含まれる動的プラグインの完全なリストについては、Red Hat Developer Hub の管理ガイド の 動的プラグインマトリクス セクションの動的プラグインマトリクスを参照してください。
2.3. Red Hat Developer Hub 1.0 でサポートされるプラグイン
次の表には、Red Hat Developer Hub 1.0 でサポートされるプラグインが記載されています。
プラグイン名 | プラグイン ID | バージョン | カテゴリー |
---|---|---|---|
Segment |
| 1.2.0 | 解析 |
Keycloak |
| 1.7.6 | アイデンティティーおよびアクセス管理 |
Open Cluster Management (OCM) |
| 3.5.0 | クラスター管理 |
OCM backend |
| 3.4.6 | クラスター管理 |
Quay |
| 1.4.6 | コンテナー管理 |
Quay actions |
| 1.2.1 | コンテナー管理 |
RBAC backend |
| 1.6.3 | セキュリティー |
RBAC common |
| 1.1.0 | セキュリティー |
Tekton |
| 3.1.3 | クラスター管理 |
Topology |
| 1.16.4 | クラスター管理 |
Regex actions |
| 1.2.1 | 継続的デプロイメント |
ArgoCD |
| 2.3.5 | 継続的デプロイメント |
ArgoCD backend |
| 2.11.3 | 継続的デプロイメント |
API Documentation |
| 0.9.12 | 継続的デプロイメント |
App backend |
| 0.3.54 | 継続的デプロイメント |
Auth backend |
| 0.19.4 | セキュリティー |
Auth node |
| 0.4.0 | セキュリティー |
Catalog frontend |
| 1.14.0 | 継続的デプロイメント |
Catalog backend |
| 1.14.0 | 継続的デプロイメント |
Catalog common |
| 1.0.17 | 継続的デプロイメント |
Catalog Graph |
| 0.2.37 | 継続的デプロイメント |
Catalog Import |
| 0.10.1 | 継続的デプロイメント |
Catalog React |
| 1.8.5 | 継続的デプロイメント |
Events backend |
| 0.2.15 | 継続的デプロイメント |
Events node |
| 0.2.15 | 継続的デプロイメント |
Home |
| 0.5.9 | 継続的デプロイメント |
Kubernetes backend |
| 0.13.0 | コンテナー管理 |
Org |
| 0.6.15 | アイデンティティーおよびアクセス管理 |
Permission backend |
| 0.5.29 | アイデンティティーおよびアクセス管理 |
Permission common |
| 0.7.9 | アイデンティティーおよびアクセス管理 |
Permission node |
| 0.7.17 | アイデンティティーおよびアクセス管理 |
Permission react |
| 0.4.16 | アイデンティティーおよびアクセス管理 |
Proxy backend |
| 0.4.4 | 継続的デプロイメント |
Scaffolder frontend |
| 0.15.1 | 継続的デプロイメント |
Scaffolder backend |
| 1.18.1 | 継続的デプロイメント |
検索 |
| 1.4.1 | 継続的デプロイメント |
Search backend |
| 1.4.6 | 継続的デプロイメント |
Search backend module PostgreSQL |
| 0.5.15 | 継続的デプロイメント |
Search backend node |
| 0.2.10 | 継続的デプロイメント |
Search react |
| 1.7.1 | 継続的デプロイメント |
TechDocs |
| 1.8.0 | 継続的デプロイメント |
TechDocs backend |
| 1.8.0 | 継続的デプロイメント |
User settings |
| 0.7.11 | アイデンティティーおよびアクセス管理 |
2.4. Red Hat Developer Hub のソフトウェアテンプレート
Red Hat Developer Hub は、コンポーネントを作成できるソフトウェアテンプレートを提供します。これらのテンプレートには、コードスケルトンの読み込み、変数のテンプレートへの組み込み、GitHub や GitLab などのプラットフォームへのテンプレートの公開の促進などの機能があらかじめ装備されています。
ソフトウェアテンプレートを使用すると、GitHub または GitLab に新しいリポジトリーを作成し、新しいアプリケーションのコードサンプルをアップロードできます。その後、アプリケーションを Developer Hub カタログに登録できます。
現在、Red Hat Developer Hub は、.Net、Python、Go、Spring Boot、Node.js、Quarkus 用のテンプレートを提供しています。
2.5. Red Hat Developer Hub インスタンスを監視する機能
Red Hat Developer Hub は /metrics
エンドポイントを提供し、Developer Hub アプリケーションに関する Prometheus メトリクスを提供します。/metrics
エンドポイントを使用すると、Prometheus と Grafana を使用して Developer Hub インスタンスを監視できます。
2.6. Red Hat Developer Hub でテーマを変更する機能
Red Hat Developer Hub アプリケーションの Settings を使用して、アプリケーションのテーマを選択できます。アプリケーション内で、メインカラーとロゴの設定を Light、Dark、または Auto から選択できます。
第3章 テクノロジープレビュー
このセクションでは、Red Hat Developer Hub 1.0 のテクノロジープレビューにある機能をリストします。
本章の機能はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。これらの機能は、今後の製品機能への早期アクセスを提供することで、お客様が機能をテストし、開発プロセス中にフィードバックを提供できるようにしています。
Red Hat のテクノロジープレビュー機能のサポートの詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
3.1. Red Hat Developer Hub で利用可能なプラグイン
Red Hat Developer Hub には、さまざまな動的プラグインが組み込まれています。Red Hat は特定のプラグインを完全にサポートしていますが、その他のプラグインはコミュニティーによってサポートされているプロジェクトになります。一部のプラグインはデフォルトで有効になっていますが、その他のプラグインは設定が必要なため、デフォルトで無効になっています。
動的プラグインを有効または無効にする方法、あるいは設定する方法に関する詳細は、Red Hat Developer Hub の管理ガイド の 動的プラグインのインストール セクションを参照してください。
プラグイン | プラグイン ID | 説明 |
---|---|---|
3scale |
| 3scale Backstage プロバイダープラグインは、3scale コンテンツをカタログに同期します。 |
Ansible Automation Platform |
| Ansible Automation Platform (AAP) プラグインは、ジョブテンプレートやワークフロージョブテンプレートなどのアクセス可能なテンプレートを AAP からカタログに同期します。 |
Azure Container Registry |
| Azure Container Registry (ACR) プラグインは、Azure Container Registry で利用可能なコンテナーイメージに関する情報を表示します。 |
Jfrog Artifactory |
| Jfrog Artifactory プラグインは、Jfrog Artifactory レジストリー内のコンテナーイメージに関する情報を表示します。 |
Nexus リポジトリーマネージャー |
| Nexus Repository Manager プラグインは、アプリケーションの Nexus Repository Manager で利用可能なビルドアーティファクトに関する情報を表示します。 |
ServiceNow |
| このプラグインは、ServiceNow のテンプレートアクションを提供します。 |
SonarQube |
| このプラグインは、SonarQube のテンプレートアクションを提供します。 |
バンドルされたコミュニティーの動的プラグインに対する Red Hat のサポートについて、詳しくは Red Hat Developer サポートポリシー のページを参照してください。
プラグイン | プラグイン ID | 説明 |
---|---|---|
ArgoCD |
| ArgoCD 用の Scaffolder バックエンドプラグイン。 |
Azure Devops |
| Azure DevOps フロントエンドプラグイン。 |
Azure Devops |
| Azure DevOps フロントエンドプラグインによって使用される、ビルドとプルリクエストを取得するための API を含む Azure DevOps バックエンドプラグイン。 |
Datadog |
| このプラグインは、Datadog のグラフとダッシュボードを Developer Hub に埋め込みます。 |
Dynatrace |
| このプラグインは Dynatrace に統合されます。 |
GitHub |
| このプラグインは、GitHub への統合に役立ちます。 |
GitHub Actions |
| このプラグインは、GitHub アクションに統合されます。 |
GitHub Issues |
| このプラグインは、GitHub の問題に統合されます。 |
GitHub Insights |
| このプラグインは、readme、トップコントリビューター、ウィジェットを提供します。 |
GitHub Pull Requests |
| このプラグインを使用すると、GitHub プルリクエストを表示して操作できるようになります。 |
GitHub Security Insights |
| このプラグインは、GitHub リポジトリーのセキュリティーに関する洞察を追加します。 |
GitLab |
| このプラグインは、GitLab インスタンスからリポジトリーを抽出します。 |
GitLab |
| このプラグインは、GitLab との対話を可能にする scaffolder バックエンド用です。 |
GitLab |
| このプラグインを使用すると、GitLab と対話できるようになります。 |
GitLab |
| このプラグインを使用すると、GitLab と対話できるようになります。 |
Jenkins |
| このプラグインは Jenkins に統合されます。 |
Jenkins |
| このバックエンドプラグインは、Jenkins に統合されます。 |
Jira |
| このプラグインを使用すると、Jira を表示して操作できるようになります。 |
Kubernetes |
| このプラグインは Kubernetes に統合されます。 |
Lighthouse |
| このプラグインは Lighthouse に統合されます。 |
Pagerduty |
| このプラグインは PagerDuty に統合されます。 |
Scaffolder |
| このプラグインには、scaffolder テンプレートで使用するアクションのコレクションが含まれています。 |
SonarQube |
| このプラグインは、SonarQube コードの品質とセキュリティーの結果を表示します。 |
SonarQube |
| このプラグインを使用すると、SonarQube と対話できるようになります。 |
Tech Radar |
| このプラグインは、組織の Tech Radar を表示します。 |
3.2. 特定の Helm Chart 設定を使用して、Developer Hub を Kubernetes にデプロイする機能
Helm Chart を vanilla Kubernetes またはその他の OCP 以外のプラットフォームにデプロイするには、次の設定を values.yaml
ファイルに適用する必要があります。
Kubernetes にデプロイする設定例
global: host: # Specify your own Ingress host route: enabled: false # OpenShift Routes do not exist on vanilla Kubernetes upstream: ingress: enabled: true # Use Kubernetes Ingress instead of OpenShift Route backstage: podSecurityContext: # Vanilla Kubernetes does not feature OpenShift default SCCs with dynamic UIDs, adjust accordingly to the deployed image runAsUser: 1001 runAsGroup: 1001 fsGroup: 1001 postgresql: primary: podSecurityContext: enabled: true fsGroup: 26 runAsUser: 26 volumePermissions: enabled: true
global:
host: # Specify your own Ingress host
route:
enabled: false # OpenShift Routes do not exist on vanilla Kubernetes
upstream:
ingress:
enabled: true # Use Kubernetes Ingress instead of OpenShift Route
backstage:
podSecurityContext: # Vanilla Kubernetes does not feature OpenShift default SCCs with dynamic UIDs, adjust accordingly to the deployed image
runAsUser: 1001
runAsGroup: 1001
fsGroup: 1001
postgresql:
primary:
podSecurityContext:
enabled: true
fsGroup: 26
runAsUser: 26
volumePermissions:
enabled: true
Kubernetes 設定によっては、追加のカスタマイズを適用する必要がある場合があります。
第4章 Red Hat Developer Hub 1.0 の既知の問題
このセクションには、Red Hat Developer Hub 1.0 の既知の問題が記載されています。
- base64 でエンコードされた GitLab トークンに文字列の末尾の改行が含まれている場合に、catalog-import 関数は Red Hat Developer Hub のフロントエンドで GitLab アクセストークンを漏洩する可能性があります [RHIDP-1734]
Red Hat Developer Hub 1.1 に更新できるようになるまでこの脆弱性を軽減するには、base64 でエンコードされた GitLab トークンに文字列の最後に改行文字が含まれていないことを確認してください。
回避策: トークンから改行を削除して、フロントエンド経由でアクセストークンの意図しない公開を防ぎます。
- RBAC: サーバーが再起動されるたびに CSV がデータベースを再生成する [RHIDP-850]
policy.csv file
は、パーミッションを Developer Hub に読み込むために使用されます。重複するパーミッションのインスタンスが存在する可能性があり、それらのパーミッションをデータベースに再ロードできます。回避策:
policy.csv
ファイル内のパーミッションポリシーおよびロールを削除します。これらのポリシーは、RBAC REST API を使用して定義されたパーミッションおよびロールと競合する可能性があります。これにより、サーバーの再起動時にパーミッションおよびロールが RBAC プラグインに再設定されなくなります。パーミッションポリシーが適用されない場合、または削除されたパーミッションが RBAC プラグインに再び表示される場合は、REST API を使用して、競合または重複するパーミッションポリシーとロールを削除します。
また、REST API エンドポイントを使用して既存のパーミッションポリシーおよびロールをすべてリスト表示し、パーミッションポリシーおよびロールを削除または更新することで、問題に対応できます。
- ロール作成 API の検証が機能しない [RHIDP-852]
ロール作成 API の検証プロセスは現在無効であり、無効なロールの作成が許可されています。そのため、これらのロールを更新または削除しようとすると、入力エラーが発生します。
回避策: RBAC プラグインが使用するロールを作成または更新するときに、以下の形式が適用されていることを確認してください。
<user/group>:<NAMESPACE>/<USERNAME>, role:<NAMESPACE>/<ROLE_NAME>
- RBAC バックエンドプラグイン - ポリシーの変更にはサーバーの再起動が必要です [RHIDP-853]
policy.csv
ファイルを手動で操作すると動作に一貫性がなくなり、操作されたパーミッションまたはロールが RBAC プラグイン内で正しく適用されなくなります。回避策: 不要なサーバーの再起動を回避するには、パーミッションとロールの処理に RBAC REST API を使用します。
policy.csv
ファイルを更新する場合、RBAC にpolicy.csv
ファイルで定義されたパーミッションとロールが適切に含まれるようにするには、Developer Hub を再起動する必要があります。さらに、
policy.csv
ファイルのパーミッションおよびロールの変更または削除した場合は、データベースエントリーとの競合を阻止するために、その後に REST API への要求を必要とします。- サードパーティーのユーザー追加プラグイン互換性リンク: [RHIDP-447]
- Developer Hub に追加されたサードパーティーのユーザー追加のプラグインは、Developer Hub インスタンスに必要な更新を行わなくても更新できるため、互換性の問題が発生する可能性があります。同様に、Developer Hub インスタンスを更新できるため、既存のサードパーティー製のユーザー追加プラグインとの互換性の問題が発生する可能性があります。