Enabling UI feature flags on Kubernetes

Use a template override to update the installation CR with settings that control UI features.

About this task

You can add a template override to the Management subsystem CR and use it to control whether specific features are available in the UI. Some features can be optionally disabled by users (by disabling them in the browser) provided you have enabled the feature for the cluster as a whole. Table 1 describes the available feature flags.

Table 1. Flags and settings for controlling UI features
Feature ID Default Value Partial Override For Description
ffAdvancedPublish true   Enable advanced publish option (deprecated)
allOmniSearch true   Enables OmniSearch for all lists. This flag is used in conjunction with other flags.
draftsOmniSearch true allOmniSearch Enable OmniSearch for drafts list
catalogProductsOmniSearch true allOmniSearch Enable OmniSearch for catalog
orgsOmniSearch true allOmniSearch Enable OmniSearch for org lists
appsOmniSearch true allOmniSearch Enable OmniSearch for apps
subscriptionsOmniSearch true allOmniSearch Enable OmniSearch for subscriptions, if disabled, subscription lists will be removed from catalog list
requestedApprovalsOmniSearch true allOmniSearch Enable OmniSearch for requested approvals
approvalTasksOmniSearch true allOmniSearch Enable OmniSearch for approvals
productApisOmniSearch true allOmniSearch Enable OmniSearch for apis within products
membersOmniSearch true allOmniSearch Enable OmniSearch for member lists

Procedure

  1. If you already deployed API Connect, retrieve the name of the deployed CR for the Management subsystem by running the following command:
    kubectl get managementcluster -n <management_namespace>

    If you did not deploy API Connect yet, skip this step.

  2. Edit the management CR by running the following command:
    kubectl edit managementcluster <management-cr-name> -n <management_namespace>
  3. In the editor, append the feature-flag definition to the end of the spec: section, making sure to adhere to the spacing used in the file.

    The following example enables the OmniSearch feature on all possible UI pages.

    spec:
      template:
        - name: ui
          containers:
          - name: ui
            env:
              - name: APIC_UI_FEATURES
                value: allOmniSearch=always

    APIC_UI_FEATURES is a URL-encoded string. Each parameter is formed as featureId=$featureValue, and you can list multiple parameters with the & delimiter (featureId=$featureValue&featureId=$featureValue).

    Use the featureId values from Table 1. For each feature, specify one of the following featureValue settings:

    • true - On by default, but can be overridden by the user, for their browser alone
    • false - Off by default, but can be overridden by the user, for their browser alone
    • never - Off regardless of browser setting, disabled in feature flag page
    • always - On regardless of browser setting, disabled in feature flag page
  4. Save the update.

    The cluster is updated to enable or disable features as specified.