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:
4
infrastructure/kustomization.yaml
Normal file
4
infrastructure/kustomization.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- traefik
|
||||
33
infrastructure/traefik/helmrelease.yaml
Normal file
33
infrastructure/traefik/helmrelease.yaml
Normal 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
|
||||
9
infrastructure/traefik/helmrepository.yaml
Normal file
9
infrastructure/traefik/helmrepository.yaml
Normal 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
|
||||
6
infrastructure/traefik/kustomization.yaml
Normal file
6
infrastructure/traefik/kustomization.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- helmrepository.yaml
|
||||
- helmrelease.yaml
|
||||
4
infrastructure/traefik/namespace.yaml
Normal file
4
infrastructure/traefik/namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: traefik
|
||||
Reference in New Issue
Block a user