第 10 章 覆盖核心后端服务配置


Red Hat Developer Hub (RHDH)后端平台由多个已封装的核心服务组成。RHDH 后端在初始化过程中静态安装这些默认核心服务。

您可以通过自定义后端源代码和重建 Developer Hub 应用程序来配置这些核心服务。或者,您可以使用动态插件功能将核心服务安装为 BackendFeature 来自定义核心服务。

要使用动态插件功能在 RHDH 应用程序中自定义核心服务,您必须配置后端以避免静态安装给定的默认核心服务。

例如,可以通过为 root HTTP 路由器后端服务安装自定义配置功能来处理所有传入请求,从而添加中间件功能来处理所有传入的请求,以允许访问底层 Express 应用。

处理传入 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 路由器服务的默认实现,您必须将 ENABLE_CORE_ROOTHTTPROUTER_OVERRIDE 环境变量设置为 true,以便 Developer Hub 不会自动安装默认实施。

10.1. 覆盖环境变量

要允许动态插件加载核心服务覆盖,您必须启动 Developer Hub 后端,并将对应的核心服务 ID 环境变量设置为 true

Expand
表 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

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部