Skip to content

olegenii/gitops-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitOps-example repo

Description

This is a training repo for exploring newest tools and technologies as GitOps, ControlPlanes and etc.

Note: All scripts were created for Mac M1 CPU!

Repo consist of one control-cluster kind-control-plane definition with Crossplane running in kind locally and a target small workload cluster d1-blue running in Azure AKS created by Crossplane, which was mentioned earlier. Both clusters configuration described with FluxCD manifests.

Kind cluster going to be bootstrapped with bashscript. Then another script install flux operator in kind control cluster. Finally flux will do other steps itself.

All secrets store inside .env file.

Installation steps

  1. Install toolset on your machine:
    • kubectl*
    • helm*
    • kind* - local k8s cluster
    • gh - work with github
    • ngrok - exposing local container outside for exposing.
      • mandatory tools
  2. Create/fork a repo where flux will store state.
  3. Create a GitHub App for authentication to flux repo.
  4. Save pem cert from GHApp into ghapp.pem file. Install GHApp into flux repo with at least write code permission.
  5. Execute start.sh - it creates kind cluster and bootstrap flux into it. It also create k8s secret with azure creds for crossplane ProviderConfig.

Finish with stop.sh - it destroy kind cluster.

Note: Check Azure resource after destroying kind control cluster!

Note: I prefer zsh as working shell with some plugins and autocompletion to speed up Ops tasks.

About

GitOps repo for Crossplane and Workload clusters

Topics

Resources

Stars

Watchers

Forks