-
Notifications
You must be signed in to change notification settings - Fork 41
GitOps
GitOps is a way of implementing Continuous Deployment for cloud native applications. It focuses on a developer-centric experience when operating infrastructure, by using tools developers are already familiar with, including Git and Continuous Deployment tools.
The core idea of GitOps is having a Git repository that always contains declarative descriptions of the infrastructure currently desired in the production environment and an automated process to make the production environment match the described state in the repository. If you want to deploy a new application or update an existing one, you only need to update the repository - the automated process handles everything else. It’s like having cruise control for managing your applications in production.
GitOps is a way to do application delivery. It works by using Git as a single source of truth for declarative infrastructure and applications, together with tools ensuring the actual state of infrastructure and applications converges towards the desired state declared in Git. With Git at the center of your delivery pipelines, developers can make pull requests to accelerate and simplify application deployments and operations tasks to your infrastructure or container-orchestration system (e.g. Kubernetes).
The term GitOps was first coined by Weaveworks, and its key concept is using a Git repository to store the environment state that you want.
https://github.com/weaveworks/awesome-gitops
https://cloud.google.com/kubernetes-engine/docs/tutorials/gitops-cloud-build
https://zwischenzugs.com/2021/07/31/a-hello-world-gitops-example-walkthrough/
https://github.com/fluxcd/flagger
https://github.com/fluxcd/flux2
https://felipelujan.medium.com/gitops-setup-in-google-kubernetes-engine-using-flux-cd-1e26b0ef1fc7
https://github.com/stefanprodan/podinfo
Terraform GitOps Framework.
https://github.com/argoproj/argo-cd
https://www.cncf.io/blog/2020/12/17/solving-configuration-drift-using-gitops-with-argo-cd/
https://www.kubestack.com/catalog/argo-cd
https://thenewstack.io/gitops-on-kubernetes-deciding-between-argo-cd-and-flux/
This tutorial explains how to manage infrastructure as code with Terraform and Cloud Build using the popular GitOps methodology.
The tutorial uses Cloud Build to automatically apply Terraform manifests to your environment.
https://cloud.google.com/architecture/managing-infrastructure-as-code