Chapter 11. Overriding Core Backend Service Configuration


The Red Hat Developer Hub (RHDH) backend platform consists of a number of core services that are well encapsulated. The RHDH backend installs these default core services statically during initialization.

Customize a core service by installing it as a BackendFeature by using the dynamic plugin functionality.

Procedure

  1. Configure Developer Hub to allow a core service override, by setting the corresponding core service ID environment variable to true in the Developer Hub app-config.yaml configuration file.

    Expand
    Table 11.1. Environment variables and core service IDs
    VariableOverrides the related service

    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

  2. Install your custom core service as a BackendFeature as shown in the following example:

Example of a BackendFeature middleware function to handle incoming HTTP requests

// 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;

+ In the previous example, as the BackendFeature overrides the default implementation of the HTTP router service, you must set the ENABLE_CORE_ROOTHTTPROUTER_OVERRIDE environment variable to true so that the Developer Hub does not install the default implementation automatically.

Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top