Skip to content

Feature Flags ​

The document explains the usage of feature flags in Busola, lists and describes all the available feature flags, and provides their configuration examples.

Configuring Feature Flags ​

To learn how to work with the Busola configuration files, see Configuration.md.

Configurable Flags for Frontend ​

TIP

The list is in alphabetical order.

This table lists the configurable frontend feature flags, their descriptions, and default values.

Feature flagDescriptionDefault value
EXTENSIBILITYIndicates whether the Busola extensibility feature is enabled.isEnabled: true
EXTENSIBILITY_CUSTOM_COMPONENTSIndicates whether entire custom extensions can be added to Busola. See this example.isEnabled: false
EXTENSIBILITY_INJECTIONSIndicates whether extensibility injections can be added to Busola. For more information, see Widget Injection.isEnabled: true
EXTERNAL_NODESProvides a list of links to external websites. category: a category name, icon: an optional icon, scope: either namespace or cluster (defaults to cluster), children: a list of pairs (label and link).
  • isEnabled: true
  • nodes.category: My Category
  • nodes.icon: course-book
  • nodes.scope: cluster
  • nodes.children.label: Example Node Label
  • nodes.children.link: https://github.com/kyma-project/busola
FEEDBACKDetermines whether the feedback icon, which redirects the user to the survey, is displayed in the top bar.
  • isEnabled: true
  • config.link: https://www.youtube.com/watch?v=dQw4w9WgXcQ
GET_HELP_LINKSShows or hides helper links. In config, you can find the unchangeable keys (for example, you cannot use helpSapCom instead of help-sap-com). The keys include the default link, which takes you to the default address.
  • config.kyma-project-io.default: https://kyma-project.io
  • config.help-sap-com.default: https://help.sap.com
HIDDEN_NAMESPACESDefines a list of namespaces that are considered system and are hidden by default.
  • isEnabled: true
  • config.namespaces: kube-system
KUBECONFIG_IDConfigures the URL to which Busola sends a request to download a kubeconfig file. If you add ?kubeconfigID={your ID} to the Busola URL, Busola tries to download the kubeconfig from {kubeconfigUrl}/{yourID}. If the operation succeeds, Busola adds the kubeconfig file to the cluster. If you use a full address in the kubeconfigUrl field, Busola also reads it. With the optional showClustersList, you can instruct Busola to show Clusters rather than the current context cluster, after the clusters are loaded. When connecting to a new cluster at the end there is a return to the Clusters instead of a redirect to the new cluster. defaultKubeconfig defines the optional default KUBECONFIG_ID to load this kubeconfig when you visit Busola homepage / and there are no memorized clusters in the application.
  • isEnabled: true
  • config.kubeconfigUrl: https://kyma-env-broker.cp.dev.kyma.cloud.sap/kubeconfig
  • config.showClustersList: false
  • config.defaultKubeconfig: AAAAA-BBBBB
KYMA_COMPANIONDetermines whether the Kyma Companion chat window is available in Busola.isEnabled: false
LEGAL_LINKSShows or hides legal links. In config, you can find the unchangeable keys (you cannot use legalDisclosure instead of legal-disclosure). The keys include both the default link, which takes you to the default address, and a link that depends on your chosen language. The link under the given key is selected based on your language code (de, en, pl, and more). If the code is not available, the default link is used.
  • config.legal-disclosure.default: https://www.sap.com/corporate/en/legal/impressum.html
  • config.legal-disclosure.de: https://www.sap.com/corporate/de/legal/impressum.html
  • config.privacy.default: https://help.sap.com/viewer/82bdf2271c6041f79387c122147cf774/Cloud/en-US
  • config.copyright.default: https://www.sap.com/corporate/en/legal/copyright.html
  • config.copyright.de: https://www.sap.com/corporate/de/legal/copyright.html
  • config.trademark.default: https://www.sap.com/corporate/en/legal/trademark.html
  • config.trademark.de: https://www.sap.com/corporate/de/legal/trademark.html
PROTECTED_RESOURCESBlocks the edit and delete functions based on the determined rules. If the resource meets the rule requirements, the resource becomes protected and cannot be edited or deleted. Each resource requires the match field, which includes a list of key-value pairs. The proper rule description is when the definition given in the key matches the value. To switch comparison mode from standard to regex, set the regex parameter to true. Optionally, you can provide the message parameter, which displays a simple message, or messageSrc, which is a YAML path where the message to be displayed is included. If neither message nor messageSrc is provided, a generic message is used. The match keys and messageSrc must use the format described in the jsonpath repository.
  • isEnabled: true
  • config.resources.match: { $.metadata.labels.foo: bar }
  • config.resources.message: This resource is protected
  • config.resources.match: { $.metadata.labels.foo: bar, $.metadata.labels.baz: qux }
  • config.resources.messageSrc: $.metadata.annotations.protected-message
  • config.resources.match: { $.metadata.labels.foo: ^[a-zA-Z0-9]$ }
  • config.resources.regex: true
RESOURCE_VALIDATIONDetermines the selected policies for resource validation. They can be overwritten in the user settings.
  • isEnabled: true
  • config.policies: Default
SENTRYEnables monitoring of uncaught exceptions, which are then analyzed and repaired. The address to which you send the information is located under the dsn key.
  • isEnabled: false
  • config.dsn: ''
SNOWDetermines whether the snow animation is enabled in Busola.isEnabled: false

Configurable Flags for Backend ​

NOTE

Backend features cannot be modified at the cluster's ConfigMap level.

Feature flagDescriptionDefault value
ALLOW_PRIVATE_IPSControls whether the backend allows connections to private IP addresses and .cluster.local domains. When disabled (default), the backend blocks requests to private IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), link-local addresses (169.254.0.0/16), localhost (127.0.0.0/8), and cluster-local domains to prevent Server-Side Request Forgery (SSRF) attacks. Enable this flag only in trusted development environments (for example, when connecting Busola running in a container to local Kubernetes clusters like k3d). Warning: Enabling this feature disables SSRF protection for private IP addresses. Only enable in trusted environments where connecting to local/private networks is required.isEnabled: false
GZIPIndicates whether responses from the backend server should be compressed.isEnabled: true
KYMA_COMPANIONConfigures the location of the Kyma Companion API.
  • config.feedbackLink: https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • config.documentationLink: https://help.sap.com/
  • config.model: 'gpt-4.1'
  • config.queryMaxTokens: 8000