GitOps with Fully Rendered Configurations: Achieving Faster, Safer Operations by Separating Data from Code

CNCF [Cloud Native Computing Foundation]

Summary:

This presentation introduces an evolution of GitOps focusing on "Write Every Time" (WET) configuration, where Kubernetes YAML is fully rendered without variables or templates.

  • Traditional GitOps with "Don't Repeat Yourself" (DRY) templates like Helm and Kustomize leads to configuration sprawl, making urgent fixes complex, slow, and prone to "blast radius" issues.
  • Operations teams often resort to "breaking glass" by directly editing cluster state, causing drift from Git's desired state.
  • The proposed solution involves storing configuration as plain, fully rendered YAML in a database, allowing programmatic querying and changes.
  • ConfigHub, a tool demonstrating this approach, enables rapid, validated, and bulk configuration updates with a constrained blast radius.
  • This "Configuration as Data" model separates data from programmatic logic, enhancing clarity, safety, and operational efficiency without abandoning existing GitOps tools as packaging mechanisms.
    Comparison of DRY (Don't Repeat Yourself) configuration generators and WET (Write Every Time) plain YAML configuration.
    Comparison of DRY (Don't Repeat Yourself) configuration generators and WET (Write Every Time) plain YAML configuration. [ 00:14:56 ]

Introduction and Presenters' Background [00:00:00]

Challenges with Traditional GitOps and Templated Configurations [00:01:13]

DRY vs. WET Configuration Approaches [00:14:57]

ConfigHub Demo: GitOps with Fully Rendered Configurations [00:17:04]

Key Takeaways: Configuration as Data [00:27:13]