OpenGitOps is a CNCF community project working to create a standard for git-based operations from the GitOps Working Group
This prevents confusion that might be caused by individual opinions
It aims to create a common understanding of GitOps principles
The creation of the GitOps Working Group was first announced in November 19th of 2020, by companies such as Amazon, Codefresh, GitHub, Microsoft and Weaveworks
*The Principles of GitOps*
Using Git as a core component, GitOps makes use of certain principles that has some roots in lessons learned over the years
Lets take a look at the key principles
1) Declarative systems
A system managed by GitOps must have its desired state expressed declaratively.
This ensures that the production environment is always true to the Git repository it is created from.
2) Versioned and Immutable
Desired state is stored in a way that enforces immutability, versioning and retains a complete version history.
This is a key characteristic of Git repositories.
3) Changes Are Pulled Automatically
Software agents automatically pull the desired state declarations from the source.
This separates GitOps from previous methods like infrastructure as code where every change is pushed, not pulled.
4) Continuously Reconciled
Software agents continuously observe actual system state and attempt to apply the desired state.
This prevents the production system from drifting from the defined state in Git.
*Benefits*
Git workflows contain an audit log making it easy to trace cluster changes which increases stability
The standardization of these principles will in turn make it simpler to create promotional and educational material for GitOps
Spreading awareness with these materials will help increase implementation of GitOps
It can also help create opportunities for analysis of benefits and drawbacks of GitOps principles almost making it like open-source code
Consistency of these principles in turn increases consistency of workflows across your organization
GitOps is a fast-growing practice that helps you deliver software faster
If you've considered GitOps, or if you already do some form of GitOps, you'll want to familiarize yourself with these four core OpenGitOps principles.
To know more about OpenGitOps and related topics, please visit www.TwainTaylor.com