Automating delivery and deployment with GitOps
Simply put, GitOps is a methodology for automating the life cycle management of applications and infrastructure. It brings the best practices of DevOps to infrastructure operations. GitOps is often used in cloud-native environments, making it a good choice for a variety of infrastructure and application deployment platforms such as Kubernetes. A case in point is Kubernetes controllers, which are responsible for making sure that the current state of the cluster matches the desired state defined in the manifest file.
Key characteristics of GitOps include the following:
- Version control: All of the code (the desired state of applications and infrastructure) and configuration are stored in a version control system such as Git. A Git repository becomes the single source of truth – the master record for the desired state of the IaC. Using a Git repository as the source of truth for configuration is the main GitOps characteristic...