第11章 コアバックエンドサービス設定のオーバーライド
Red Hat Developer Hub (RHDH) バックエンドプラットフォームは、適切にカプセル化された多数のコアサービスで構成されます。RHDH バックエンドは、初期化中にこれらのデフォルトのコアサービスを静的にインストールします。
バックエンドソースコードをカスタマイズし、Developer Hub アプリケーションを再構築することで、これらのコアサービスを設定できます。または、動的プラグイン機能を使用してコアサービスを BackendFeature としてインストールし、カスタマイズできます。
動的プラグイン機能を使用して RHDH アプリケーションのコアサービスをカスタマイズするには、特定のデフォルトのコアサービスが静的にインストールされないようにバックエンドを設定する必要があります。
たとえば、すべての受信要求を処理するミドルウェア関数を追加するには、基礎となる Express アプリケーションへのアクセスを許可する root HTTP ルーターバックエンドサービスのカスタム configure 関数をインストールします。
受信 HTTP 要求を処理する BackendFeature ミドルウェア関数の例
// Create the BackendFeature
export const customRootHttpServerFactory: BackendFeature =
rootHttpRouterServiceFactory({
configure: ({ app, routes, middleware, logger }) => {
logger.info(
'Using custom root HttpRouterServiceFactory configure function',
);
app.use(middleware.helmet());
app.use(middleware.cors());
app.use(middleware.compression());
app.use(middleware.logging());
// Add a the custom middleware function before all
// of the route handlers
app.use(addTestHeaderMiddleware({ logger }));
app.use(routes);
app.use(middleware.notFound());
app.use(middleware.error());
},
});
// Export the BackendFeature as the default entrypoint
export default customRootHttpServerFactory;
上記の例では、BackendFeature が HTTP ルーターサービスのデフォルト実装をオーバーライドするため、Developer Hub がデフォルトの実装を自動的にインストールしないように、ENABLE_CORE_ROOTHTTPROUTER_OVERRIDE 環境変数を true に設定する必要があります。
11.1. 環境変数のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
動的プラグインがコアサービスのオーバーライドをロードできるようにするには、対応するコアサービス ID 環境変数を true に設定して Developer Hub バックエンドを起動する必要があります。
| 変数 | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|