fluxcd/flux2-multi-tenancy

Manage multi-tenant clusters with Flux

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓

fluxcd/flux2-multi-tenancy has 600+ stars and 250+ forks on GitHub and was last pushed on May 8, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 7 minutes ago
Added to GitGenius on October 15th, 2026
Created on November 27th, 2020
Open Issues & Pull Requests: 6 (+0)
GitHub issues: Enabled
Number of forks: 279
Total Stargazers: 607 (+0)
Total Subscribers: 21 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.
Sign in

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Flux2-multi-tenancy is an example repository that demonstrates how to manage multi-tenant Kubernetes clusters with Flux v2 using Git as the source of truth.

The repository addresses the challenge of isolating multiple tenants on a shared Kubernetes cluster while allowing each to deploy applications independently through Git. Flux accomplishes this by leveraging Kubernetes namespaces and RBAC to enforce isolation boundaries. When multi-tenancy lockdown is enabled, Flux prevents cross-namespace access to custom resources, blocks remote Kustomize bases to ensure only approved sources affect cluster state, and impersonates tenant service accounts rather than using the controller's account for reconciliation. The repository demonstrates this through a fleet structure where a platform admin manages cluster-wide resources and policies while tenants deploy only to their assigned namespaces via their own Git repositories.

This repository is designed for platform administrators setting up shared Kubernetes clusters that need to support multiple independent teams or customers. It suits organizations where tenants should have no direct API access and all changes flow through Git. The example shows how to structure both the fleet repository, which contains cluster configuration and admission policies, and individual tenant repositories, which contain application deployments. The reconciliation hierarchy ensures policies are applied before tenant resources, maintaining security guarantees.

The project maintains a structured example with clear separation between platform admin responsibilities and tenant capabilities. The repository includes concrete implementations of Kubernetes ValidatingAdmissionPolicy resources and demonstrates the dependsOn mechanism to enforce policy application order. Documentation covers the distinct roles of platform admins and tenants, showing what each can and cannot do within the multi-tenancy model.