FluxCD — Advanced
Multi-Tenancy at Scale — Sharding and Tenant Bootstrapping
Overview covered the core multi-tenancy mechanism (per-tenant GitRepository + scoped ServiceAccount). At real scale — dozens of tenants on one cluster — two additional concerns matter. First, tenant bootstrapping should itself be GitOps-managed and repeatable, not a manual per-tenant setup: a template that generates a new tenant's GitRepository, ServiceAccount, RoleBinding, and initial Kustomization from a single input (tenant name, namespace) keeps onboarding consistent and auditable. Second, sharding — Flux supports assigning specific controllers to specific tenant workloads via label-based sharding, so one enormous shared kustomize-controller instance isn't reconciling every tenant's resources serially and becoming a bottleneck as tenant count grows:
Monitoring Flux Itself — Prometheus Integration
Flux's controllers expose Prometheus-compatible metrics natively — reconciliation duration, success/failure counts per Kustomization, and suspended-resource counts are all queryable the same way any other cluster workload's metrics are, which matters because a GitOps controller silently failing to reconcile is a serious, easy-to-miss blind spot (the cluster looks fine; it's just running increasingly stale config):
Disaster Recovery — Git as the Actual Source of Truth
The practical DR story for a GitOps-managed cluster is fundamentally different from a traditionally-managed one: since the cluster's entire desired state already lives in Git, recovering from a total cluster loss is largely "provision a new cluster, bootstrap Flux pointing at the same Git repository" — Flux reconciles the new cluster to match Git without needing a separate backup/restore process for application configuration specifically. This doesn't cover data (persistent volume contents, database state), which still needs its own backup strategy — but for the configuration and desired-state layer, Git already is the backup, continuously, by construction.
Progressive Delivery — Flagger Integration
FluxCD alone does apply-and-reconcile, not gradual traffic shifting — for canary deployments (shift 10% of traffic to a new version, watch metrics, proceed or roll back automatically), Flux integrates with Flagger, a separate CNCF project that automates the canary process itself, driven by the same GitOps loop:
Flagger watches the target Deployment (updated via the normal Flux/ImageUpdateAutomation loop), automatically creates a canary version, shifts traffic incrementally while checking the defined success-rate metric, and rolls back automatically if the metric breaches threshold at any step — this is what turns "GitOps deploys the new version" into "GitOps safely, gradually rolls out the new version with automatic rollback," a materially different risk profile for production deploys.

