Add Flux GitOps bootstrap for minikube

Set up a complete GitOps pipeline using Flux CD to manage a minikube
cluster. Includes bootstrap script, Traefik ingress controller via
HelmRelease, and a hello-world nginx deployment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-22 15:55:11 +00:00
commit ac3a4639f6
15 changed files with 233 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- traefik

View File

@@ -0,0 +1,33 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: traefik
namespace: flux-system
spec:
interval: 10m0s
targetNamespace: traefik
storageNamespace: traefik
chart:
spec:
chart: traefik
version: ">=34.0.0 <35.0.0"
sourceRef:
kind: HelmRepository
name: traefik
reconcileStrategy: ChartVersion
install:
createNamespace: true
remediation:
retries: 3
upgrade:
remediation:
retries: 3
values:
service:
type: NodePort
ports:
web:
nodePort: 30080
websecure:
nodePort: 30443

View File

@@ -0,0 +1,9 @@
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: traefik
namespace: flux-system
spec:
interval: 1h0m0s
url: https://traefik.github.io/charts

View File

@@ -0,0 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- helmrepository.yaml
- helmrelease.yaml

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: traefik