Configuration management is the systematic process of handling changes to IT systems, infrastructure, and software configurations in a controlled, consistent, and documented manner. It encompasses tracking state across resources, maintaining version control over infrastructure code, and ensuring idempotency in deployments to prevent configuration drift. Configuration management bridges the gap between initial provisioning and ongoing operational stability, enabling teams to define, deploy, and maintain desired states across development, staging, and production environments while reducing manual errors and enforcing compliance through automated, repeatable processes. In 2026, the discipline has expanded to include platform engineering patterns like Internal Developer Platforms (IDPs) and golden paths, alongside Kubernetes-native control planes like Crossplane.
What This Cheat Sheet Covers
This topic spans 19 focused tables and 166 indexed concepts, 128 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Core Concepts
These are the foundational ideas you'll keep bumping into no matter which tool you reach for — idempotency, drift, desired state, and the various flavors of "as code." Getting comfortable with this vocabulary is what makes the rest of the cheat sheet click into place.
| Concept | Example | Description | |
|---|---|---|---|
ansible-playbook site.yml (run multiple times, same result) | • Ability to apply an operation multiple times without changing the result beyond initial execution • ensures consistent configurations regardless of run frequency. | ||
Manual server change bypasses automation; detected by comparing actual vs. desired state | • Gradual divergence of a system's active state from its intended baseline • occurs when manual changes accumulate outside the configuration management process. | ||
Define server should have IIS enabled; tool ensures it remains enabled | • Declarative approach where you specify what the system should look like rather than how to configure it • the system automatically maintains that state. | ||
Terraform .tf files or Ansible playbooks define all infrastructure in version-controlled code | Managing and provisioning infrastructure through machine-readable configuration files rather than manual processes or interactive tools. | ||
YAML/JSON files defining system settings instead of GUI clicks | Treating configuration like software code: stored in version control, peer-reviewed, tested, and deployed through automated pipelines. | ||
terraform.tfstate file tracking deployed infrastructure | • Tracking of current infrastructure configuration to compare against code and detect changes • essential for reconciling actual vs. intended state. | ||
Git repository storing all infrastructure code with full commit history | • Managing changes to configuration code over time • enables rollback, audit trails, and collaborative development through branching and merging. | ||
Tool runs every 30 minutes to enforce compliance policies | • Ongoing automated enforcement of configurations • continuously monitors and corrects drift to maintain desired state without manual intervention. |