Configuration activation internals
Overview
This tutorial describes how configuration changes are activated in Airlock IAM.
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 ( 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).
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
).