Busola Configuration ​
Learn how the configuration works in Busola and how to change it.
Configuration Sources ​
Busola builds its configuration by gathering and merging settings from several individual sources. The order matters — Busola applies sources from least to most important, as listed in the Backend and Frontend sections below.
Configuration Levels ​
You can configure Busola at two levels:
- Installation-Level Configuration — adjusts backend and frontend for all clusters.
- Per-Cluster Configuration — configures the Busola frontend for a specific cluster only. Configured using the
busola-configConfigMap.
TIP
To customize Busola for your installation, use environment variables (ENVs). Other configuration files may change between releases and are not recommended for customization.
Backend ​
- Busola backend default cluster configuration, loaded from the defaultConfig.yaml file.
- Busola cluster configuration available at
public/config/config.yamlfor local development or/core-ui/config/config.yamlin the container. To mount the configuration in a deployed Busola on a Kubernetes cluster, create the ConfigMapbusola/busola-configunder the key config. - Environment-specific configuration with
config.yamllocated inbackend/environments. Activate it with theactive.envfile. See Environment-Specific Settings.
Frontend ​
- Busola frontend default cluster configuration, loaded from the defaultConfig.yaml file.
- Busola cluster configuration available at
public/config/config.yamlfor local development or/core-ui/config/config.yamlin the container. To mount the configuration in a deployed Busola on a Kubernetes cluster, create the ConfigMapbusola/busola-configunder the key config. - Environment-specific configuration with
extensibilityandconfiglocated inpublic/environments. Activate it with theactive.envfile. See Environment-Specific Settings. - Per-cluster configuration, available in the target cluster in ConfigMap
kube-public/busola-configunder the key config. Busola requests that resource during the bootstrap process.
Changing the Configuration ​
With the feature toggles, you can switch each Busola feature on or off and configure them to fit your needs. Features comprise the following elements:
FEATURE_ID: Unique identifier, as defined in the Busola source codeisEnabled: Activates or deactivates the feature, overwriting the status set byselectorselector: The Kubernetes resources that can activate the featureconfig: Provides additional configuration options as needed for each feature. For details, see the README in the specific component or feature.
For more information, see the available Busola feature flags.
Environment-Specific Settings ​
You can provide an override to the default configuration with your own environment-specific settings. Follow this pattern to structure your custom environment directory and place it in public/environments.
my-env/
├── config
│ └── config.yaml
└── extensions
├── extensions.yaml
└── wizards.yamlWARNING
The extensions.yaml, statics.yaml, wizards.yaml, and config.yaml files are necessary for Busola to work properly.
To activate your environment configuration, create or edit the active.env file in the public directory. Follow this example of the active.env file:
ENVIRONMENT=your-environment-nameWhen ENVIRONMENT is set to my-env, Busola looks for your custom configuration in public/environments/my-env. If ENVIRONMENT is not set, Busola fetches the default configuration with the same structure as the custom configuration located in the public directory.
In the Docker image, Busola creates the active.env file at startup from the ENVIRONMENT variable.