Skip to content

Manages GitOps commit pinning for cluster-config repository

Notifications You must be signed in to change notification settings

gnunn-gitops/cluster-config-pins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This repository is used to manage commit pins to enable promotion of changes across clusters. The repo retrieves the application objects from the cluster-config repository and then patches them to use specific commit hashes or tags to "pin" the application to a specific revision.

To manage promotions the pins can be updated on a cluster-by-cluster basis to manage the revisions.

How it Works

We are using ACM to manage the bootstrap process for new clusters, ACM has a policy that deploys the OpenShift GitOps operator plus a bootstrap application for a specific cluster. This bootstrap application points to a cluster specific folder under bootstrap/overlays that contains the commit pins for that cluster.

The kustomization for each cluster loads the configuration from the matching path in the cluster-config repository, using a kustomize remote reference, and patches the target revision in the Argo CD Applications for specific pins. In the cluster-config repo we label the applications with a repo label so we can have kustomize match the pins on a per repo basis.

Diagramming the flow, it looks like this:

ACM Policy (acm-hub-bootstrap HEAD)
     ↓
Cluster Config Pins (cluster-config-pins HEAD)
     ↓
Cluster Config (cluster-config TAG)

About

Manages GitOps commit pinning for cluster-config repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages