Client Organizations

These endpoints support the managed-service-provider model. A platform site admin creates dedicated “client organizations” (a specialized kind of KubeDB Platform organization), imports spoke clusters into them, and then manages per-cluster user access on behalf of each client.

There are two concerns, split across two pages:

  • Client Org Management — site-admin lifecycle of client organizations: list/get/create/delete client orgs, add or remove clusters, and query client-org status. Routes live under /api/v1/user/client*.
  • Cluster User Permissions — organization-admin management of the OCM users belonging to a client org on a specific cluster: list users, create a user with permissions, inspect and update permissions, generate a kubeconfig, and remove a user. Routes live under /api/v1/clusters/{owner}/{cluster}/permission/*.

All routes are served under the /api/v1 prefix and require a personal access token (Authorization: token <token>). Client-org management routes are site-admin only; the per-cluster permission routes require organization-admin authorization on the owner (which must resolve to a client organization).

For managed-service providers: site admins create “client orgs” and manage per-cluster user access.

MethodPathAuthDescription
GET/api/v1/user/clientsSite-admin authzList client organizations
GET/api/v1/user/client/:idSite-admin authzGet a client organization
POST/api/v1/user/client/createauthzCheck(create_client_org)Create a client organization
POST/api/v1/user/client/:orgname/{add-cluster,delete-cluster}authzCheckAdd / remove a cluster
GET/api/v1/user/client/:orgname/status, /api/v1/user/client/:orgname/cluster/:cluster/statusauthzCheckClient org / cluster status
DELETE/api/v1/user/client/delete/:idauthzCheck(delete_client_org)Delete a client organization
GET/api/v1/clusters/:owner/:cluster/permission/usersToken + client-orgList users of a client org
POST/api/v1/clusters/:owner/:cluster/permission/user/createOrg-admin authzCreate an OCM user for a client org
POST/api/v1/clusters/:owner/:cluster/permission/user/:idOrg-admin authzGet client-org user info
GET/api/v1/clusters/:owner/:cluster/permission/user/:id/kubeconfigOrg-admin authzKubeconfig for a client-org user
POST/api/v1/clusters/:owner/:cluster/permission/user/:id/{remove,update}Org-admin authzManage permissions
DELETE/api/v1/clusters/:owner/:cluster/permission/user/:id/deleteOrg-admin authzDelete the OCM user

Pages