User-defined Playground

GitOps Bootstrap Playground

A sandbox where you can experiment with different k8s stacks all you want!

Startup configuration
dev-machine
cplane-01
node-01
node-02
GitOps Bootstrap playground: A sandbox where you can experiment with different k8s stacks all you want!

How to?

1. Run gitops-bootstrap-tui

2. Choose your k8s components from the templates

3. Let Flux deploy your choices to k8s for you!

Note: You can find your gitops repo at ~/my-gitops-repo folder locally and my-gitops-repo in the git server after you bootstrap it with the TUI

What's running inside?

ComponentWhat it doesAccess
soft-serveSelf-hosted git server (Docker)ssh git@localhost — port 23231, also drops you into its TUI
my-gitops-repoYour default repo, branch maingit@localhost:my-gitops-repo.git
gitops-bootstrap-tuiScaffolds a GitOps repo from templates, inits git, bootstraps FluxRun gitops-bootstrap-tui
k3sThe Kubernetes cluster Flux reconciles againstkubectl get nodes
FluxWatches the repo over SSH and syncs cluster state to matchkubectl get gitrepository -n flux-system

GitOps repository structure

gitops-bootstrap-tui generates your repo from flux-templates, which lays things out like this:

.
├── bases/
│   ├── repositories/       # Centralized HelmRepository definitions
│   ├── infrastructure/     # Core platform controllers, networking, security
│   ├── databases/          # Data stores and caching solutions
│   └── apps/               # Example applications and workloads
└── clusters/
    └── <your-cluster>/     # Generated, flat Kustomize build for your cluster

The TUI picks components out of bases/, resolves dependencies and conflicts via bases/rules.yaml (e.g. auto-selecting a DB's operator, blocking Grafana if Victoria Metrics is chosen instead), dedupes shared namespaces/HelmRepository defs, and writes the result into clusters/<your-cluster>/ as a flat, monolithic Kustomize build. Flux is then pointed at that path.

Supported stacks

CategoryOptions
DatabasesClickHouse, CockroachDB, Elasticsearch, Kafka, MongoDB, PostgreSQL, Redis
NetworkingCilium, Consul, Istio
ObservabilityPrometheus, Alertmanager, Grafana, Loki, Promtail, Mimir, Tempo, Jaeger, Victoria Metrics, Kube-Prometheus-Stack, ELK (Elasticsearch/Filebeat/Kibana/Logstash), OpenTelemetry Collector/OBI
SecurityCert-Manager, Vault, Tetragon
StorageRook-Ceph
AutoscalingKEDA
UI & DashboardsBackstage, Headlamp, KExp, Redpanda Console
Example appsGrafana Quickpizza, OpenTelemetry Demo

Contribute


Ready? Run gitops-bootstrap-tui and dive in!

Start
Settings