Skip to main content

Configuration management

Configuration management provides a flexible approach for overseeing application deployment, enabling seamless versioning and expediting fast delivery.

Parts of Deployment Configuration

  1. Configuration files - files that specify configuration parameters used by the application
  2. Runtime configuration - configuration of resource limits and number of replicas
  3. Connected services - configuration of connections to Managed or External services used by the application

Deployment Configuration Types

  1. Default Configuration
  2. Preview Configuration
  3. Manually Created Deployment Configuration

All mentioned types of deployment configurations encompass all three previously mentioned Parts of Deployment Configuration. However, their distinction lies in the scenario and scope in which they are used.

note

The Default and Preview configurations are primarily utilized for the development of a single component.

The Manually Created Deployment Configuration are designed for the holistic development of the entire application, spanning multiple components and enabling centralized management of configurations across the entire system.

Default Configuration

Furthermore, we can distinguish the default configuration for

  • specific branches
  • release build versions

Branch configuration

Each component maintains an individual default configuration, stored within its respective Git repository. Specifically, this implies that each branch possesses its unique configuration.

Release build configuration

It is derived from the configuration stored in the branch used for creating the release build. Therefore, to modify the configuration for a specific release build version, adjustments must be made in the corresponding branch, followed by the creation of a new release build from that updated branch.

Preview Configuration

When creating a new preview build, the first step is to select the target environment for deploying the newly built component. Once the deployment target environment is chosen, a configuration comparison is displayed. This comparison is between the last-used configuration for the deployment target environment and the default branch configuration.

If this is the first time deploying to the selected environment, the configuration template your scaffolder will be compared against the default branch configuration.

tip

The configuration can be edited by clicking on the parts shown in the configuration comparison. For more information check this create/edit preview configuration manual.

Preview build comparison

Manually Created Deployment Configuration

Deployment configurations apply to multiple components that can be encapsulated into application packages. This implies that deployment configurations are not only environment-specific but also specific to the version of the application package.

When creating a new deployment configuration, the template used is the previous deployment configuration (for earlier versions of the application package for a specific environment). Alternatively, if no configuration exists for a specific environment, the default release build configurations of individual components are utilized.

Mapping Deployment Configurations to Application Package Versions

Mapping deployment configurations to application packages operates in closed intervals. This means that each deployment configuration for a specified application package version will also be applied to all application package versions greater than this one until a different deployment configuration with a higher application package version is encountered.

note

If we have application packages 1.0.0 and 2.0.0, we can create deployment configurations either for the range from 1.0.0 to 2.0.0 inclusively or solely for the specific application package version 2.0.0. If a new application package with a higher version number is created, the deployment configuration designed for the specified range will automatically be applied to it.

For example, if a new application package 3.0.0 is introduced, the new range of previously created deployment configuration will now be either 1.0.0 - 3.0.0 or 2.0.0 - 3.0.0.

What's next?