第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;
Copy to Clipboard

上記の例では、BackendFeature が HTTP ルーターサービスのデフォルト実装をオーバーライドするため、Developer Hub がデフォルトの実装を自動的にインストールしないように、ENABLE_CORE_ROOTHTTPROUTER_OVERRIDE 環境変数を true に設定する必要があります。

10.1. 環境変数のオーバーライド

動的プラグインがコアサービスのオーバーライドをロードできるようにするには、対応するコアサービス ID 環境変数を true に設定して Developer Hub バックエンドを起動する必要があります。

表10.1 環境変数およびコアサービス ID
変数説明

ENABLE_CORE_AUTH_OVERRIDE

core.auth サービスをオーバーライドします。

ENABLE_CORE_CACHE_OVERRIDE

core.cache サービスをオーバーライドします。

ENABLE_CORE_ROOTCONFIG_OVERRIDE

core.rootConfig サービスをオーバーライドします。

ENABLE_CORE_DATABASE_OVERRIDE

core.database サービスをオーバーライドします。

ENABLE_CORE_DISCOVERY_OVERRIDE

core.discovery サービスをオーバーライドします。

ENABLE_CORE_HTTPAUTH_OVERRIDE

core.httpAuth サービスをオーバーライドします。

ENABLE_CORE_HTTPROUTER_OVERRIDE

core.httpRouter サービスをオーバーライドします。

ENABLE_CORE_LIFECYCLE_OVERRIDE

core.lifecycle サービスをオーバーライドします。

ENABLE_CORE_LOGGER_OVERRIDE

core.logger サービスをオーバーライドします。

ENABLE_CORE_PERMISSIONS_OVERRIDE

core.permissions サービスをオーバーライドします。

ENABLE_CORE_ROOTHEALTH_OVERRIDE

core.rootHealth サービスをオーバーライドします。

ENABLE_CORE_ROOTHTTPROUTER_OVERRIDE

core.rootHttpRouter サービスをオーバーライドします。

ENABLE_CORE_ROOTLIFECYCLE_OVERRIDE

core.rootLifecycle サービスをオーバーライドします。

ENABLE_CORE_SCHEDULER_OVERRIDE

core.scheduler サービスをオーバーライドします。

ENABLE_CORE_USERINFO_OVERRIDE

core.userInfo サービスをオーバーライドします。

ENABLE_CORE_URLREADER_OVERRIDE

core.urlReader サービスをオーバーライドします。

ENABLE_EVENTS_SERVICE_OVERRIDE

events.service サービスをオーバーライドします。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat