This topic gives you conceptual overviews of how Tanzu Developer Portal Configurator works.
To use your customized portal with all the runtime configuration values used in your pre-built version:
The following sections describe the differences between buildtime configuration and runtime configuration.
Runtime configuration refers to the values that you use to configure your existing portal image. You provide these values in tap-values.yaml
when you install and run your portal. Runtime configuration values can include:
Buildtime configuration refers to the values that you pass to Configurator to generate a new portal image. This configuration consists of a list of Tanzu Developer Portal plug-ins and any default runtime configuration for the portal image.
Tanzu Developer Portal Configurator is the image that contains everything necessary to build a customized version of Tanzu Developer Portal.
Configurator includes a templated version of Tanzu Developer Portal, an internal registry of Tanzu Developer Portal plug-ins, and tools to enable the build process to incorporate external plug-ins.
While Backstage uses Backstage plug-ins to enable the user to customize functions, Tanzu Developer Portal uses Tanzu Developer Portal plug-ins to do the same thing.
A Tanzu Developer Portal plug-in is simply a Backstage plug-in wrapped in a small amount of code to facilitate easy integration into Configurator and Tanzu Developer Portal.
Internal Tanzu Developer Portal plug-ins are included inside the Tanzu Developer Portal Configurator image. These include:
External Tanzu Developer Portal plug-ins are not in the Tanzu Developer Portal Configurator image. They are hosted in, and installed, from an external registry, such as npmjs.com. External Tanzu Developer Portal plug-ins can include custom functions or wrap existing third-party Backstage plug-ins.
Tanzu Developer Portal plug-in surfaces are the mechanism that allows Tanzu Developer Portal plug-ins to change the behavior of the portal.
When adding a Backstage plug-in to an instance of Backstage, code modifications are required. Rather than editing code, Tanzu Developer Portal exposes extension points where Tanzu Developer Portal plug-ins can inject code. These extension points are known as surfaces.
The pre-built version of Tanzu Developer Portal has several surfaces to edit existing functions, including:
https://YOUR_PORTAL_URL/plugin
This pattern of exposing surfaces where Tanzu Developer Portal plug-ins can inject new behavior is not limited to what is offered in the pre-built version of Tanzu Developer Portal.
This pattern can also be applied on top of Tanzu Developer Portal plug-ins themselves. This allows for one Tanzu Developer Portal plug-in to build on top of another Tanzu Developer Portal plug-in.