-
Notifications
You must be signed in to change notification settings - Fork 2
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
Allow users to have multiple instances #581
Comments
To clarify... We are using team/org/instance sometimes interchangeably, and sometimes to mean different things. Right now, they do all mean the same thing. Let's call it 'instance' for now, and ditch all the other terms. There is a 1-1 relationship between instances and tokens (the thing you tell your probes when pointing them at Weave Cloud). Everything reported by these probes will be treated by Weave Cloud as "belonging together"; all views a user is looking at in Weave Cloud are scoped (pun intended) to a single instance. Right now there is a n-1 relationship between users and instances. This issue is about relaxing that relationship to a n-m relationship: i.e. a single user can access multiple instances That requires introducing the following new functionality
(3) is an extension of the existing 'invite' functionality and comes in two flavours: a) inviting a new user to scope - I think this is exactly as it works now (4) and (5) are existing functionality extended to the multi-instance case. As part of this, we should probably change the sign-up process s.t. it doesn't automatically create an instance. |
What happens to an instance when no user has access to it? I reckon that should deny access by probes with the instance's token, and deny access to the 'view instance' functionality (and any other instance-related functionality that may exist). We shouldn't actually remove any data though, so that a later point we can introduce functionality to resurrect such 'disabled' instances. |
There is currently an n-1 relationship between users and 'instances' Plus, the backend has support for n-m, but we punted on the UX pieces so it is intentionally blocked. |
Ah yes, otherwise the present invite feature would be pointless. Have updated the text.
Understood. |
I've updated the description with what I think are all the exit criteria for this ticket. |
Looks reasonable, though I suggest clarifying what is meant by "my instances". It's simply the list of all instances I have access to. not the list of instances I have created. i.e. the notions of ownership and access are one and the same. |
|
I can't revoke my own access to an instance, but that's OK for now, because that adds extra complexity. We should definitely do it later. I've filed #687 to track that and will update the checklist in this issue's description to remove those elements. |
I'll hold off looking at the invite wording change's until @paulbellamy's big refactoring (starting #678) gets merged |
Invitation wording is #692. This bug is done. Thanks all! |
Currently a user can only have one scope instance. They may want to have more than one, and to share those instances with others.
This requires introducing the following new functionality:
As a Weave Cloud user, I should be able to
POST /api/users/org
)GET /api/users/lookup
)GET /private/api/user/lookup/{orgName}
– already called by our authenticator)GET /api/users/org/{orgName}/users
, already used by the UI.)DELETE /api/users/org/{orgName}/users/{userEmail}
): Revoke user access to org #661GET /api/users/org/{orgName}
)revoke my own access to an instanceRevoke my own access to an instance #687DELETE /api/users/org/{orgName}/users/{myUserEmail}
): Revoke user access to org #661UIThese have some corollaries:
Terminology note: "my instances" means "instances that I have access to" rather than "instances I have created. Having a concept of instance ownership is out of scope for this work.
The text was updated successfully, but these errors were encountered: