Overview
Cattage is a Kubernetes controller that enhances the multi-tenancy of Argo CD with Accurate.
Features
-
Management of root-namespaces for tenants
When an administrator creates a tenant resource, root-namespaces for the tenant will be created. A RoleBinding resource will be created in the namespace so that the namespace can only be accessed by the tenant's users. Tenant users can create sub-namespaces in those root-namespaces.
-
Automatic update of Argo CD AppProject resources
An AppProject resource can control namespaces where users can deploy manifests. When a tenant user creates a sub-namespace, the AppProject will be automatically updated accordingly. Tenant users will be able to deploy applications with Argo CD to the namespaces.
-
The ownership of sub-namespaces can be changed between tenants
Sometimes users may want to move the ownership of an application to another tenant. When the parent of a sub-namespace is changed, Cattage will automatically update the permissions.
-
Sharding application-controller instances
Cattage can shard application-controller instances by the tenant. This feature is useful when you have a large number of tenants and want to avoid a single application-controller instance from being overloaded.