Skip to content

Repository files navigation

My home Kubernetes cluster ⛵

... managed by Flux and serviced with RenovateBot 🤖




🛠 Gitops

This repository utilizes Flux. Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration when there is new code to deploy. Please have a look at the docs.

Also have a look at this great chart: overview

📁 Repository Structure

cluster/
├── base/flux-system/   # Flux controllers, GitRepository, HelmRepositories, encrypted secrets
├── crds/               # Custom Resource Definitions
├── core/               # Infrastructure components
└── apps/               # Applications, organized by namespace

Flux reconciles in order: basecrdscoreapps.

🔐 Secrets

Secrets are encrypted at rest using SOPS + age. Files matching *.sops.yaml are automatically decrypted by Flux during reconciliation. The age key is expected at ~/.config/sops/age/keys.txt.

🏁 Quickstart

Tools & Requirements

Tool Why?
age Modern encryption tool used by SOPS
sops Simple and flexible tool for managing secrets
kustomize Customization of kubernetes YAML configurations
direnv Unclutter your .profile
go-task A task runner / simpler Make alternative written in Go
flux Continuous and progressive delivery solutions for Kubernetes
pre-commit A framework for managing and maintaining multi-language pre-commit hooks

Before you start simply do this:

$ brew bundle
$ task pre-commit:init

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages