Despite platforms, such as Kubernetes, which deal with container orchestration, it isn’t always easy to provide and manage container-based applications that are executed in cluster systems or the cloud. GitOps is a method that is designed to use experiences and tools derived from development work to operate applications. There are four basic principles behind the method:
- Declarative description: resources are described in formal language in their target status.
- Automation: the integrating of descriptions from the repository into the runtime environment must be fully automated, repeatable and must give the same result, even if they are executed several times.
- ‘Single source of truth’: system status must be described clearly and comprehensively. There is a single source that summarizes the overall status of the system.
- Reconciliation: software agents compare the current status of the system with the target status. As soon as any deviations emerge, the relevant actions are triggered.