-
Notifications
You must be signed in to change notification settings - Fork 875
Proposal for multi-org resource model #2791
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This will be annoying. For one thing, how do you create a group?
I wonder if this is necessary. Why not have multiple root groups possible?
I don't understand how this conclusion is justified. Admins in any system can manipulate the objects associated with a nominal owner. Workspaces shouldn't be any different. As well, I'm puzzled the idea that I as an admin could "own" a workspace that was created without my knowledge and used exclusively by someone else.
Sounds like a root node to me.
Why preclude this now? I understand not wanting to build it now, but saying we'll never want to seems unnecessarily limitiing.
Not... "group?" |
I'm using the root group to mean the "All Users" group. I'm assuming that organizations are one-level descendants of this root group.
They have ownership because they need credentials to set up the template that creates the workspaces. If credentials are in the provisioner environment instead of the template, they can still expose the credentials via local exec, so we should just assume they have full control of the provisioner environment.
I do think we will want to increase the power of groups eventually.
Lol, "group" is also good. |
Is that a necessary assumption?
Sure, but that doesn't mean they're owners. All my files on my machine are accessible to root, but the owner is not root. Ownership isn't about access. It's about responsibility and authority. The former would defeat the purpose of having an owner concept in pretty much any system with a superuser. |
That organizations cannot be nested within another or that there is one root group?
I think it would be easier to discuss this if we talk about specifics. Here are some things I'm trying to avoid for the sake of the user:
|
I was referring to the latter, but I guess I'm not sure the former is necessary either.
Why do we have to associate a workspace with an organization instead of the user creating it? That seems both unnecessary and unnecessarily rigid.
This seems pretty doable without having to do a non-standard ownership model. A group admin could set policies and quotas for the users and groups in that group, and they could also carve out an exception for anyone in their group using template X. For instance, I'm admin for group Alpha, and I want to set policies like:
|
I meant that template admins should have the lion's share of cost control abilities. E.g, we have
This is my point, that we should begin with workspaces associated to templates and not organizations so no additional step is required. This flows into the whole concept of template admins controlling costs and groups being lighter weight structures. |
I don't believe that template admins will always (or even usually?) be the ones controlling the resource usage of an organization. We certainly shouldn't bake that assumption in. This sounds like something we need customer input to resolve. |
@ammario will be handling this in a future issue! |
Some of this is future-facing since we haven't implemented the multi-org model yet. I will refer to both "organizations" and "teams" as "groups" in this issue.
We have 4 resource types:
When we add multiple groups, we have to decide how resources are associated with them.
Some obvious rules:
The trickier thing is workspace and template association. In v1, groups owned workspaces. In retrospect, this was a flawed decision. The infrastructure owner is the de facto workspace owner because they have the credentials to manipulate it. This is beyond our control. They must have those credentials to create a template. If we also give the group manager control of the workspace, we have two owners now, which is unexpected and confusing.
I propose we leave template admins as the sole owner of the templates' workspaces. Let's keep templates as a top-level resource but allow template admins to control access by choosing which groups and users can use their template.
For naming: "Organization" implies a group with many configuration knobs and its own resource namespace. The group is just a collection of groups and users in my proposed model. There is little configuration and namespacing. "Team" or "Group" could be good names, but there may be more I'm not considering.
Forward compatibility
In the future, we may decide to associate workspaces/templates with a group. The proposed model should leave those doors open. We can always let groups own more resources, but we can't walk back from that.
The text was updated successfully, but these errors were encountered: