This all is 100% open source, so if you would like to contribute, feel free to edit this page.
In order to manually add catalog entities (i.e., not via integrations like the Keycloak binding), you will need to do two steps:
Catalog entities definitions are defined over here. I have added an example implementation for all of them, which you can find back in the folder configurations/catalog-entities. If you want to link to them or import them, you can refer to the GitHub URL: https://github.com/maarten-vandeperre/developer-hub-documentation/tree/main/configurations/catalog-entities.
The main file, which groups everything together is the all.yaml locations file. It will delegate to other locations files, for a specific catalog entity type (e.g., domains-location.yaml, groups-and-users-location.yaml). Feel free to have a look at the definition files and to extend them with your configuration(s). In case some modifications are not picked up, you can debug them as described in the Debug Developer Hub Section.
When imported successfully, you can find them back in the catalog menu within Developer Hub:
The catalog graph as it is configured in my catalog-entities folder, results in the following catalog graph:
Without APIs for readability:
Without users for readability:
In order to link the catalog entities (i.e., defined in previous section) to Developer Hub, you’ll need to apply the following yaml to the Developer Hub Config on anchor_02:
catalog:
processingInterval: { minutes: 1 }
processing:
cache:
enabled: false
lifecycles:
- production
- staging
rules:
- allow: [Location, Component, API, Resource, System, Domain, Group, User, Template]
locations:
- rules:
- allow:
- Group
- User
- Component
- Location
- System
- Resource
- Domain
- API
- Template
target: https://github.com/maarten-vandeperre/developer-hub-documentation/blob/main/configurations/catalog-entities/all.yaml
type: url
If you want to see it in a complete configuration file, feel free to have a look at gitops/developer-hub/11_app-config-rhdh.yaml, which contains all the integrations, described in this README file.
!!! Have a close look to the API definitions: I added both production and staging OpenAPI definitions, as in the real world, API definitions can differ, depending on the given environment.