/k8s-gitops-template

A repo template for following a GitOps mindset on your K8s project

Primary LanguageShellApache License 2.0Apache-2.0

GitOps on Kubernetes

A sample K8s project template following GitOps mindset.

Table of Contents

Prerequisites

The following tools are required to use this project:

Please refer to each tool's installation instructions to setup your environment.

Tutorials

Please refer to tutorials section for detailed instructions on how to use this project.

Environments

This project template assumes you're using two different environments (two different K8s clusters) to deploy your services:

  • Production cluster: public cluster for production workloads.
  • Staging cluster: internal cluster for validating new features and fixes.

You can find the chart values & k8s manifests used to deploy the services on each environment under the environments/charts-values & environments/manifests directories, respectively.

Secrets management

This project uses Sealed Secrets & the Sealed Secrets Updater in combination with git-crypt to adopt a GitOps approach & ensuring everything is committed in the Git repository. You can find more information about this setup in the tutorials below:

Note: you can find the Sealed Secrets Updater config files used for each environment the .sealed-secrets-updater directory.