- Notifications
You must be signed in to change notification settings - Fork928
chore: scope workspace quotas to organizations#14352
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Quotas are now a function of (user_id, organization_id). They arestill sourced from groups. Deprecate the old api endpoint.
a8ff394
to61ed7e1
CompareapiKeyMiddleware, | ||
httpmw.ExtractOrganizationParam(api.Database), | ||
// Intentionally using ExtractUser instead of ExtractMember. | ||
// It is possible for a member to be removed from an org, in which |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
This is fine here, but longer term, is this behavior desirable to administrators? Is there a default dormancy behavior here or any mechanism to clean up these workspaces?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
It's desirable because the alternative is to forcibly terminate workspaces when a user is removed. A workspace should remain in case:
- Removing the user was an accident
- There is data in the workspace that is valuable before termination
I think we do have some dormant workspace behavior today to eventually delete this. Ideally there is some page of "orphaned" workspaces an admin could go through and clean these up.
But this PR does not address any of that. It just makes sure thequota
api call still works in this case. Otherwise the/{workspace}
page would fail to load because of this failed api call.
// defer to the new endpoint using default org as the organization | ||
chi.RouteContext(r.Context()).URLParams.Add("organization", defaultOrg.ID.String()) | ||
mw := httpmw.ExtractOrganizationParam(api.Database) | ||
mw(http.HandlerFunc(api.workspaceQuota)).ServeHTTP(rw, r) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Man I wish I could just rip this stuff out 😆
a359879
intomainUh oh!
There was an error while loading.Please reload this page.
Quotas are now a function of (user_id, organization_id). They are still sourced from groups. Deprecate the old api endpoint.
Closes#14349