Chapter 5. Customizing the Tech Radar page in Red Hat Developer Hub
In Red Hat Developer Hub, the Tech Radar page is provided by the tech-radar
dynamic plugin, which is disabled by default. For information about enabling dynamic plugins in Red Hat Developer Hub see Configuring plugins in Red Hat Developer Hub.
In Red Hat Developer Hub, you can configure Learning Paths by passing the data into the app-config.yaml
file as a proxy. The base Tech Radar URL must include the /developer-hub/tech-radar
proxy.
Due to the use of overlapping pathRewrites
for both the tech-radar
and homepage
quick access proxies, you must create the tech-radar
configuration (^api/proxy/developer-hub/tech-radar
) before you create the homepage
configuration (^/api/proxy/developer-hub
).
For more information about customizing the Home page in Red Hat Developer Hub, see Customizing the Home page in Red Hat Developer Hub.
You can provide data to the Tech Radar page from the following sources:
- JSON files hosted on GitHub or GitLab.
- A dedicated service that provides the Tech Radar data in JSON format using an API.
5.1. Using hosted JSON files to provide data to the Tech Radar page
Prerequisites
You have installed Red Hat Developer Hub by using either the Operator or Helm chart.
For more information, see Installing Red Hat Developer Hub on OpenShift Container Platform.
Procedure
To access the data from the JSON files, complete the following step:
Add the following code to the
app-config.yaml
file:proxy: endpoints: # Other Proxies # customize developer hub instance '/developer-hub': target: <DOMAIN_URL> # i.e https://raw.githubusercontent.com/ pathRewrite: '^/api/proxy/developer-hub/tech-radar': <path to json file> # i.e /redhat-developer/rhdh/main/packages/app/public/tech-radar/data-default.json '^/api/proxy/developer-hub': <path to json file> # i.e /redhat-developer/rhdh/main/packages/app/public/homepage/data.json changeOrigin: true secure: true # Change to "false" in case of using self hosted cluster with a self-signed certificate headers: <HEADER_KEY>: <HEADER_VALUE> # optional and can be passed as needed i.e Authorization can be passed for private GitHub repo and PRIVATE-TOKEN can be passed for private GitLab repo
5.2. Using a dedicated service to provide data to the Tech Radar page
When using a dedicated service, you can do the following:
- Use the same service to provide the data to all configurable Developer Hub pages or use a different service for each page.
-
Use the
red-hat-developer-hub-customization-provider
as an example service, which provides data for both the Home and Tech Radar pages. Thered-hat-developer-hub-customization-provider
service provides the same data as default Developer Hub data. You can fork thered-hat-developer-hub-customization-provider
service repository from GitHub and modify it with your own data, if required. -
Deploy the
red-hat-developer-hub-customization-provider
service and the Developer Hub Helm chart on the same cluster.
Prerequisites
- You have installed the Red Hat Developer Hub using Helm Chart.
For more information, see Installing Red Hat Developer Hub on OpenShift Container Platform with the Helm chart.
Procedure
To use a separate service to provide the Tech Radar data, complete the following steps:
Add the following code to the
app-config-rhdh.yaml
file:proxy: endpoints: # Other Proxies '/developer-hub/tech-radar': target: ${TECHRADAR_DATA_URL} changeOrigin: true # Change to "false" in case of using self hosted cluster with a self-signed certificate secure: true
where the
TECHRADAR_DATA_URL
is defined ashttp://<SERVICE_NAME>/tech-radar
, for example,http://rhdh-customization-provider/tech-radar
.NoteYou can define the
TECHRADAR_DATA_URL
by adding it torhdh-secrets
or by directly replacing it with its value in your custom ConfigMap.- Delete the Developer Hub pod to ensure that the new configurations are loaded correctly.