IBM Cloud Docs
Configuring App Configuration

Configuring App Configuration

IBM Cloud® App Configuration is a centralized feature management and configuration service that provides a convenient, consistent, and secure approach to accessing, referencing, and reusing collections of feature flags and properties within toolchains.

You can configure an App Configuration instance by using the App Configuration service instance dashboard to add and manage specific environments and collections that contain sets of feature flags and properties. You can further refine the use of feature flags and properties by specifying target segments that evaluate based on user attributes and rules.

You can also add an App Configuration tool integration to a toolchain and apply specific feature flags or properties from the service instance to the environment or trigger properties of the associated pipeline. You can repeat this process across multiple toolchains by using App Configuration service instances, as required. For example, you can use a service instance to centrally store and manage all of the feature flags and properties that are required by toolchains across several environments.

When you apply feature flags or properties to a toolchain, special App Configuration feature flag and property references are saved within the toolchain instead of in the literal values. This feature supports centralized management of feature flags and properties directly from an App Configuration service instance. Feature flags and property values are then immediately available to toolchains that contain references to those feature flags and property values during subsequent pipeline runs.

Creating an App Configuration integration

Before you create an App Configuration tool integration in your toolchain, make sure that you provision an instance of the App Configuration service in a region and resource group that your toolchain can refer to.

  1. If you are configuring this tool integration as you are creating the toolchain, and an App Configuration tool integration exists within the template that you are configuring, click the App Configuration tab. Alternatively, in the More tools section, click App Configuration. To create an authorization between the toolchain and the App Configuration service instance select the Create an authorization for this toolchain option from the Authorization type dropdown. This grants the toolchain access to the feature flags and properties stored in the App Configuration service instance.

  2. If you have an existing toolchain and are adding this tool integration to it, from the IBM Cloud console, click the menu icon hamburger icon and select DevOps. On the Toolchains page, click the existing toolchain to open its Overview page. Alternatively, on your app's Overview page, on the Continuous delivery card, click View toolchain. Then, click Overview.

    a. Click Add tool.

    b. In the Tool Integrations section, click App Configuration.

  3. Type the name that you want to display for this new tool integration on the App Configuration card in your toolchain. This name is used to identify the tool integration in your toolchain.

  4. Select the Region and Resource group where your App Configuration service instance exists.

  5. Select the appropriate App Configuration Environment and App Configuration Collection options from your chosen App Configuration service instance.

  6. To create an authorization between the toolchain and the App Configuration service instance click the Create Authorization button. This grants the toolchain access to the feature flags and properties stored in the App Configuration service instance.

  7. Click Create Integration.

Applying feature flags and properties

After you configure your App Configuration tool integration, you can use it to apply feature flags and properties to the toolchain environment and trigger properties.

  1. Within the Pipeline environment properties tab or the Trigger properties tab, click Add to display the list of available property types.

  2. Select AppConfig value and choose the feature flags or properties that you want to apply to the toolchain environment and trigger properties.

  3. Specify the name for the new toolchain environment or trigger property.

  4. Select the App Configuration tool integration and an Environment and Collection from within it.

  5. Select Feature flag or Property and from the list within your App Configuration service instance, choose the target feature flag or property.

  6. Click OK to apply an App Configuration reference to the field that is associated with it.

Authorizing your toolchain to access feature flags and properties

References to feature flags and properties that are stored in an App Configuration service instance are dynamically resolved when the toolchain runs. To access the required feature flags and properties, you must authorize your toolchain to access the App Configuration instance. If you are creating a toolchain from a template use the Authorization type dropdown when configuring the App Configuration integration. If you are adding a App Configuration integration to an existing toolchain use the Create authorization button.

To view your authorizations in IBM Cloud, complete the following steps:

  1. From the IBM Cloud console, click Manage > Access (IAM).
  2. Click Authorizations.

You can also access your authorizations on the Manage authorizations page.

You can also create the authorization manually, if required. To successfully resolve App Configuration references, your toolchain instance must have both Viewer and Reader access to the correct App Configuration service instance.

Configuring App Configuration by using the API

The App Configuration tool integration supports the following configuration parameters that you can use with the Toolchain HTTP API and SDKs when you create, read, and update tool integrations.

You must specify the tool_type_id property in the request body with the appconfig value.

Table 1. App Configuration tool integration parameters
Parameter Usage Type Terraform argument Description
collection-name required, updatable String collection_id The ID of the App Configuration collection.
environment-name required, updatable String environment_id The ID of the App Configuration environment.
instance-name required, updatable String instance_id The guid of the App Configuration service instance.
name required, updatable String name The name of this tool integration. App Configuration references include this name to identify the App Configuration instance where the configuration values reside. Make sure that each of the App Configuration tools that are integrated into a toolchain have a unique name for resolution to function properly.
region required, updatable String location The IBM Cloud location where the App Configuration service instance is located.
resource-group required, updatable String resource_group_name The name of the resource group where the App Configuration service instance is located.

Learn more about App Configuration

To learn more about App Configuration, see Getting Started with App Configuration.