Skip to main content
Version: 14.x (Next)

Plugin

Plugins are services that can be instantiated from the microservices section of the Console Design area. Practically speaking, plugins are Docker images that comes with some predefined configurations to make them work in Console projects (e.g., environment variables, config maps, probes...).

To create or edit a plugin, you need to provide a manifest, whose resources property should adhere to the following JSON schema.

tip

The JSON schemas of the plugin resources and of the full plugin manifest are available on GitHub.

Loading ....

Values interpolation

The values of the defaultLabels, defaultAnnotations, and defaultEnvironmentVariables fields can contain placeholders that will be replaced with the actual values when a Console user creates the service.

Here is an exhaustive list of the placeholders that can be used:

  • %MICROSERVICE_NAME%: the name of the created microservice.
  • %PROJECT_ID%: the human-readable ID of the project. It is a dash-separated string generated by the Console when a project is created, based on the project name.
  • %COMPANY_ID%: the ID of the company that owns the project.
  • %TENANT_ID%: alias for %COMPANY_ID%.
info

Any unrecognized placeholder will be left as is in the final value.

As example, consider a plugin with the following defaultEnvironmentVariables:

[
{
"name": "SOME_ENV_VAR",
"value": "ms name: %MICROSERVICE_NAME%; project id: %PROJECT_ID%; company id: %COMPANY_ID%"
}
]

Given a Project with the id my-project, and a Company with the ID my-company, if user creates a microservice named my-ms from such plugin, the result will be:

{
"name": "SOME_ENV_VAR",
"value": "ms name: my-ms; project id: my-project; company id: my-company"
}