Replies: 3 comments 7 replies
-
Provisioner isolation is also a challenge. Our current (single-tenant) recommendation is that operators deploy a runtime environment for provisionerd (often combined with Coderd in practice) that is credentialed to access the IaaS APIs used to create workspaces. While this could work for multi-tenancy, it means operators would deploy multiple provisionerd environments--one per organization. This replicates the problem with standing up multiple Coder deployments (albeit with fewer moving parts). If we want to ease that burden, then Coder must build "multi-tenant" provisionerd that provides at least:
|
Beta Was this translation helpful? Give feedback.
-
I might be in left field with this, but I'd like to suggest that Coder just be a "dumb" server and allow clients to command it to do its work via API only. By that I mean, leave the burden and the responsibility of user management and access control, etc. all to the client. I don't believe you'll ever find a one size fits all formula to make everyone happy in terms of multi-tenancy without ending up having to build out a full blown platform yourselves. Coder should just be a service inside the (client's) platform and offer an API to handle the things Coder can do best. The UI itself should just be for admins and not (really) for the devs. Making the platform for their devs should be their job. A great example of the same kind of mentality can be found with the suite of Argo tools. ArgoCD, Workflows, etc. The "dev UI" experience Coder offers, at best, should only be a simple example of what is possible for the platform engineers to build themselves and also for demoing. There should be a clear "break" between admin and dev operations too i.e. between template management and using workspaces, which currently isn't the case AFAICT. Do correct me if I am wrong. My 2 cents.... 😁 Scott |
Beta Was this translation helpful? Give feedback.
-
+1 for @smolinari 's thoughts above, that is how we use Coder v2 OSS today: users are spread across multiple Coder deployments, user & token management done entirely via API, groups & access control, high level features are provided by our services. I also agree that there is no "one size fits all" formula, especially when it comes to Enterprises with iften very complex internal user/team structures, policies, processes and a variety of existing developer tools / ecosystem to seamlessly integrate with. However, the proposed changed above are perfectly fine! Users who need such isolated Orgs capability should benefit from them. One suggestion though is that we found |
Beta Was this translation helpful? Give feedback.
-
Coder deployment scale is frequently blocked by our lack of user management features. For example, it's impossible to have multiple groups of templates with distinct, isolated admins (#7633). It's also impossible to have two sets of users with no knowledge of each other and no ability to interact, a must-have for security and compliance.
A common workaround is standing up multiple Coder deployments. Not only does this bring more administrative burden to the operators, it makes it more difficult for us to license our software, threatening our revenue and thus our sustainability as a project.
This issue is meant to be a long-running conversation on multi-tenancy, a potential solution to our user management problems as well as the path towards delivering Coder as SaaS.
Challenges
This is an incomplete list of the major engineering work required to support multi-tenancy:
--disable-password-auth
, which should be org-scoped.Next Steps
Beta Was this translation helpful? Give feedback.
All reactions