-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Epic: Get rid of OTS (One-Time Secret) #10134
Comments
Added to workspace teams' project, even though it's shared work between WebApp and Workspace, to avoid this being forgotten. |
@atduarte Added for Team WebApp as well! Please notify when you have the interface changes (w/o impl, maybe). Happy to jump on the changes on our end. |
@kylos101 Should we sync on the current status here? I feel we're pretty close. 👍 |
Next step IMHO is to connect the |
@csweichel what about the integration test? |
Added: #12554 to the epic |
There still seem to be OTS implementation on Server, and it's also being called/used - metrics |
From an internal conversation it looks like the other client which is generating traffic against the OTS endpoints are Desktop IDEs. @loujaybee @akosyakov Would you be able to validate if this is indeed the case and the Desktop IDEs use the OTS? What would be the effort to remove OTS from them so that we can remove the endpoints entirely? |
@kylos101 @csweichel Does it mean we can remove SUPERVISOR_ENVVAR_OTS now? Also gitpod/components/supervisor/pkg/supervisor/config.go Lines 348 to 365 in 09642ab
|
@akosyakov maybe? I added a conversation here, socializing that it would help to get more data about the client. |
@akosyakov @easyCZ inboxed this epic to IDE and WebApp, as there appears to be some additional cleanup needed to fully remove OTS, and set the status for workspace back to In-Validation. |
@akosyakov @kylos101 @atduarte FYI: I thought we can close this issue, but it turns out here is one thing left: AdditionalContentContext. 😬 @kylos101 Let's sync how we want to go about this one. |
Summary
The one-time secret (OTS) mechanism is used to deliver secrets to the workspace cluster. It's not location-aware which breaks workspace startup across regions.
Context
The one-time secret (OTS) mechanism is used to deliver secrets to the workspace cluster. During workspace startup,
server
will create up to three OTS:A one-time secret is stored in the database and identified by a UUID. Using this UUID it can be downloaded once, after which it's removed from the database. When the OTS is created,
server
produces a URL from which the OTS can be downloaded. This URL is not location-specific, but uses the load balancer (i.e. gitpod.io/...).Because the different regions use different databases which are synchronised using db-sync, and because the OTS URL is not region-aware, a workspace created in another region will race db-sync. This can lead to workspace startup failure.
Value
Removing OTS will
Acceptance Criteria
This work is complete when
Measurement
We are successful here when there's no loss of functionality, and no more need for the OTS mechansim.
Tasks
StartWorkspace
request can carry named secretsInitWorkspace
supervisor
The text was updated successfully, but these errors were encountered: