49 lines
1.7 KiB
YAML
49 lines
1.7 KiB
YAML
# ------------------------------------------------------------------------------
|
|
# Platform: Cilium — Helm upgrade + LB IPAM + Gateway API
|
|
# Wave 4 — no dependencies, Cilium is pre-installed via Talos bootstrap
|
|
#
|
|
# This Application does two things:
|
|
# 1. Manages Cilium itself via Helm (enables Gateway API, keeps config in git)
|
|
# 2. Applies LB pool and L2 announcement manifests
|
|
#
|
|
# On first sync, ArgoCD will upgrade Cilium in-place with --reuse-values
|
|
# plus our additions (gatewayAPI.enabled, l2announcements, etc.).
|
|
# Cilium operator and daemonset will rolling-restart automatically.
|
|
#
|
|
# IP Allocation:
|
|
# 10.1.71.80 — ingress-nginx (reserved, not from pool)
|
|
# 10.1.71.81 — Cilium Gateway (reserved, not from pool)
|
|
# 10.1.71.82-.89 — ingress-nginx LB pool (future additional controllers)
|
|
# 10.1.71.90-.99 — Cilium Gateway LB pool
|
|
# ------------------------------------------------------------------------------
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: cilium-config
|
|
namespace: argocd
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "4"
|
|
spec:
|
|
project: default
|
|
sources:
|
|
# Source 1: Cilium Helm chart — manages Cilium itself
|
|
- repoURL: https://helm.cilium.io
|
|
chart: cilium
|
|
targetRevision: 1.17.4
|
|
helm:
|
|
valuesFiles:
|
|
- $values/cluster/platform/cilium-config/values.yaml
|
|
# Source 2: Our repo — provides the values file and manifests
|
|
- repoURL: https://gitea.mk-labs.cloud/rblundon/homelab.git
|
|
targetRevision: main
|
|
ref: values
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: kube-system
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- ServerSideApply=true
|