liveBook · Manning

Configuration management server

As explained in Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform

A system that stores and manages named configuration fields and their values for consumption by automation or infrastructure processes.

When multiple infrastructure tools need to exchange metadata, a configuration manager provides a shared abstraction: it stores named fields and values for automation to consume. It can hide differences between tool-state formats, but it must be maintained and remain accessible to infrastructure code. section 4.2.2

Apply the pattern when coordinating infrastructure automation:

  • Store values such as network addresses or other resource metadata in a key-value-style interface. section 4.2.2
  • Let network automation and other consumers read those values without parsing each provisioning tool’s state format. section 4.2.2
  • Maintain access from infrastructure code and weigh the manager against querying a provider API directly. section 4.2.2
  • Split a monolithic configuration manager by extracting independent automation first, injecting dependencies, and testing resource state after each change. section 10.2.3

Installing a shared server dependency

For a promotions application, use a configuration manager to push the Cloud SQL Auth proxy installation to every applicable server. This makes the package and process configuration repeatable instead of leaving it in a one-off startup script. section 11.3.1

Figure 4.4 Dependency inversion returns an abstraction of the low-level resource metadata to the resource that depends on it.

See how dependency inversion returns an abstraction of low-level resource metadata to the resource that depends on it. section 4.2.2

How Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform covers it

How deep it goes
Defines the abstraction, explains its maintenance trade-off, and sketches dependency-aware refactoring without specifying a product implementation.
Examples
Uses network metadata exchange, Cloud SQL Auth proxy installation, and dependency-ordered infrastructure refactoring as concrete examples.
What it assumes
Builds on infrastructure-as-code state, resource dependencies, metadata, and provider APIs rather than teaching those concepts from zero.
What you can do after
Apply it via automation that shares resource metadata and separates configuration into independently testable, dependency-aware units.
How it connects
Connects configuration management with tool state, dependency inversion, key-value stores, infrastructure APIs, and drift reconciliation.

Also explained in

Compare how 2 books explain configuration management server →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform. The section links point to the parts of the book it draws on.