Configuration activation internals

Overview

This tutorial describes how configuration changes are activated in Airlock IAM.

 
Info

Scope

This information is about the main configuration (iam-config.yaml or medusa-configuration.xml).

This is not about application parameters.

Configuration changes are activated in the following steps:

No.

Step

Who

Description

1

Storing Configuration

Config Editor

External component

Config automation code

The configuration is written to the configuration file (iam-config.yaml or medusa-configuration.xml in the instance folder).

The file is either written by the Config Editor or by any other tool or configuration manipulating code.

2

Configuration Monitoring

Modules

(loginapp, adminapp, ...) 

All modules constantly monitor their configuration. If the configuration file changes, the corresponding module performs the following steps.

3

Configuration Activation

Modules

(loginapp, adminapp, ...) 

The new configuration is validated and - only if valid - activated. During this step, the module writes the configuration activation state files (see below) in order to inform the Config Editor (and possibly other components) about the progress of the configuration activation.

4

Feedback

Config Editor

External Component 

After storing a new configuration, the Config Editor (or other external component) monitors the activation directory (see below) for configuration activation state files (see below). Reading the configuration activation states, it learns from each module, whether the new configuration has been successfully applied or not or whether the activation is still in progress.

Configuration activation states

To give feedback about the configuration activation process, each module (e.g. the loginapp) writes configuration activation states. These files are read by the Config Editor (or other external component). 

 
Info

The configuration activation state files are XML files written to the configuration activation folder: this is the folder .activated-configs within the instance directory (e.g. ./instances/test/.activated-configs).