Skip to content

Improve GitOps user experience #608

Closed as not planned
Closed as not planned
@maxgio92

Description

@maxgio92

This is a draft of the proposal.

Describe the feature

It would be useful to let Capsule set all the needed RBAC and identities for a machine Tenant Owner, that would be responsible of reconciling Tenant resources.

What would the new user story look like?

As a platform/admin user, I want to provide tenant users the ability to declare their resources and let a GitOps Kubernetes operator reconcile them from Git, with an unprivileged identity.

Expected behavior

RBAC

By using a knob (e.g. spec.gitopsReady=true) the admin user could request that the Tenant would be prepared to have:

  • Tenant Owner as ServiceAccount, to be used by GitOps operators and placed into a dedicated Namespace ("Tenant Owner Home")
  • necessary (Cluster)Roles bound, in order to patch, work with custom resources inside the Tenant (admin ClusterRole is not enough, cluster-admin is needed)
  • (optional) ClusterRole bound in order to impersonate himself (e.g. needed on Flux use case
  • (optional) Secret with generated kubeconfig to let the Tenant Owner SA communicate over Capsule Proxy

I'm going to refine this propsal with more detail and the rationale behind it.

Client config for Proxy

For each robot Tenant Owner (i.e. ServiceAccount type) a Secret containing kubeconfig to configure a client to communicate as Tenant Owner through the Capsule Proxy.

Related issues

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions