This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第10章 コアバックエンドサービス設定のオーバーライド
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;
// 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
に設定する必要があります。
10.1. 環境変数のオーバーライド
動的プラグインがコアサービスのオーバーライドをロードできるようにするには、対応するコアサービス ID 環境変数を true
に設定して Developer Hub バックエンドを起動する必要があります。
変数 | 説明 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|