This repository is a demonstration of a GitOps pipeline held together with Glu.
The project consists of:
- A script for to a Kind Kubernetes (K8s) cluster in your local Docker.
- An example application implemented in Go and published as a container image to GHCR.
- A promotion pipeline implemented in Go using the Glu framework.
- Manifests for deploying these to your local kind cluster using FluxCD.
All of this is triggered via a single start script. Read more below for the necessary dependencies needed to boostrap and run this example.
The start script below will also install Timoni (using
go install
to do so). This is used to configure our Kind cluster. Big love to Timoni ❤️.
Before you get started you're going to want to do the following:
- Fork this repo!
- Clone your fork locally.
- Make a note of your forks GitHub URL (likely
https://github.com/{your_username}/gitops-example
). - Generate a GitHub Personal Access Token (if you want to experiment with promotions).
You will need at-least read and write contents scope (
contents:write
).
Once you have done the above, you can run the start script found in the root of this repository. The script will prompt you for your forks repository URL and access token (given you want to perform promotions).
./start.sh