GitOps - bobbae/gcp GitHub Wiki
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
GitOps style continuous delivery with Cloud Build
https://cloud.google.com/kubernetes-engine/docs/tutorials/gitops-cloud-build
GitOps, GKE, Cloud Build
Gitops walkthrough
https://zwischenzugs.com/2021/07/31/a-hello-world-gitops-example-walkthrough/
Flagger
https://github.com/fluxcd/flagger
FluxCD
https://github.com/fluxcd/flux2
https://felipelujan.medium.com/gitops-setup-in-google-kubernetes-engine-using-flux-cd-1e26b0ef1fc7
Podinfo
https://github.com/stefanprodan/podinfo
KubeStack
Terraform GitOps Framework.
Argo CD
https://github.com/argoproj/argo-cd
Argo and GitOps
https://www.cncf.io/blog/2020/12/17/solving-configuration-drift-using-gitops-with-argo-cd/
Argo CD Terraform module
https://www.kubestack.com/catalog/argo-cd
Argo CD and Flux
https://thenewstack.io/gitops-on-kubernetes-deciding-between-argo-cd-and-flux/
Examples
Terraform GitOps via Cloud Build
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
Building docker images with github actions
Gitlab GitOps with Anthos
https://www.youtube.com/watch?v=npc08ggdTOw