liveBook · Manning

Opinionated default

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

An opinionated default is a preset configuration value that deliberately favors a recommended secure or standardized behavior over unrestricted flexibility.

An opinionated default is a preset configuration value that favors recommended secure, functional, or standardized behavior over unrestricted flexibility. Infrastructure modules use embedded defaults so teams can deploy working resources without knowing every underlying option. section 5.4 section 13.1.1

Apply the pattern by:

  • Setting prescriptive defaults for common infrastructure use cases. section 5.4
  • Exposing only the input variables teams need, rather than every possible attribute. section 13.1.1
  • Allowing overrides or module updates when flexibility is necessary, while requiring approval for potentially disruptive changes. section 5.4 section 5.5
  • Checking documentation, compatibility tests, security, and lifecycle before adopting an external module or tool. section 13.1.1 section 13.5

Database module

A shared database module pins a tested database version and supplies secure defaults. A team needing PostgreSQL 12 can update the module, but the release waits for infrastructure-team approval before other teams consume it. section 5.4 section 13.1.1

Figure 5.13 An application team can update the database module. However, the team must wait for approval from subject-matter experts before being able to use the new release.

Shows the collaboration path from an application team’s module update to subject-matter approval and release. section 5.4

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

How deep it goes
Defines defaults, overrides, compatibility checks, and approval governance, but stops short of implementation code.
Examples
Uses shared database modules, pinned database versions, limited input variables, overrides, and approval workflows.
What it assumes
Assumes familiarity with infrastructure modules and configuration inputs while teaching secure defaults from the deployment scenario.
What you can do after
Apply it through infrastructure-as-code modules to deploy predictable resources and govern exceptions.
How it connects
Links infrastructure as code, modules, security, versioning, testing, and governance.

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.