Curiously Chase

Configuration as Code

An overview of Configuration As Code from my perspective and experience.

Configuration as Code is a term that describes a process for managing software. Instead of configuring software in a Graphic User Interface (for example, changing how your software works in a web browser), you configure your software by running a executable that uses your code to define how the software should look.

Configuration is usually managed as a versioned artifact, so it's easy to understand how your software will be different if you make a change, easy to share the configuration before it's applied and easy to historically see how your software has changed.

Some examples of configuration as code:

  • Setting the value for workbench.preferredDarkColorTheme inVS Code's settings.json to a theme value

Some tools that can be used for configuring web technologies as code (note that these are primarily tools for Infrastructure as Code)

  • Terraform
  • Ansible
  • Salt
Share on Twitter