Glossary · Automation software engineering and architecture
Configuration as code
Also known as: Config as code
German: Konfiguration als Code
In software engineering, configuration as code is the practice of managing application and system configuration in machine-readable text files kept under version control, so that configuration changes are reviewed, versioned, tested and deployed in the same way as source code.
- Software engineering
In one sentence
Configuration as code keeps configuration in version-controlled text files, so changes are reviewed, tested and deployed like code.
Example
The OPC UA server's node mapping and the gateway's alarm thresholds are stored as YAML files in the repository and deployed by the pipeline instead of being edited on the device.
How it applies
- Engineering: Configuration as code makes configuration reproducible and reviewable. Differences between plants or lines become visible as file differences instead of hidden settings on individual devices.
- Operation: Changes made directly on devices bypass the process and cause drift between the repository and reality. Teams need a rule for emergency changes and a way to detect drift afterward.
- Documentation: The version-controlled configuration is part of the Configuration baseline and supports Configuration control. Parameter documentation can be generated from the same files, so manuals and commissioning reports show the configuration that is actually deployed.
Configuration as code vs. infrastructure as code
Infrastructure as code (IaC) describes the platform: servers, networks, containers. Configuration as code describes how applications on that platform behave. Both follow the same principles, and many tools cover both.
Configuration files can contain credentials; keep secrets out of the repository and manage them separately.