Skip to content
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

[server] Introduces ReadinessProbe #20669

Merged
merged 9 commits into from
Mar 17, 2025
Merged

[server] Introduces ReadinessProbe #20669

merged 9 commits into from
Mar 17, 2025

Conversation

geropl
Copy link
Member

@geropl geropl commented Mar 17, 2025

Description

We never had a ReadinessProbe in server - until now.
Why? To avoid error spikes during rollouts, when requests hit server instances but they are not "Ready", yet.

More specifically, this is about authorization issues when server instances haven't successfully connected to spicedb, yet (see CLC-1230 for details).

To mitigate any unforeseen operations cases where this blocks us, this is guarded by a feature flag called server_readiness_probe

Note: Against our usual pattern, and due to timing issues, this feature flag defaults to true.

Related Issue(s)

Fixes CLC-1230

How to test

  • open a workspace on this branch
  • scale server up and down using these commands:
    • watch kubectl get pods
    • kubectl scale --replicas=8 deployment/server
    • kubectl scale --replicas=3 deployment/server
    • etc.

Documentation

Preview status

Gitpod was successfully deployed to your preview environment.

Build Options

Build
  • /werft with-werft
    Run the build with werft instead of GHA
  • leeway-no-cache
  • /werft no-test
    Run Leeway with --dont-test
Publish
  • /werft publish-to-npm
  • /werft publish-to-jb-marketplace
Installer
  • analytics=segment
  • with-dedicated-emulation
  • workspace-feature-flags
    Add desired feature flags to the end of the line above, space separated
Preview Environment / Integration Tests
  • /werft with-local-preview
    If enabled this will build install/preview
  • /werft with-preview
  • /werft with-large-vm
  • /werft with-gce-vm
    If enabled this will create the environment on GCE infra
  • /werft preemptible
    Saves cost. Untick this only if you're really sure you need a non-preemtible machine.
  • with-integration-tests=all
    Valid options are all, workspace, webapp, ide, jetbrains, vscode, ssh. If enabled, with-preview and with-large-vm will be enabled.
  • with-monitoring

/hold

geropl added 6 commits March 17, 2025 09:08
Tool: gitpod/catfood.gitpod.cloud
…sable the ReadinessProbe if required

Tool: gitpod/catfood.gitpod.cloud
- Add PRD workflow to systemPatterns.md as a standardized development process
- Update .clinerules with instructions to follow the PRD workflow
- Update activeContext.md and progress.md to reference the new workflow

This formalizes the process we used for implementing the server readiness probe feature.

Tool: gitpod/catfood.gitpod.cloud
Tool: gitpod/catfood.gitpod.cloud
geropl added 3 commits March 17, 2025 14:17
Tool: gitpod/catfood.gitpod.cloud
Tool: gitpod/catfood.gitpod.cloud
Tool: gitpod/catfood.gitpod.cloud
@geropl geropl requested a review from a team as a code owner March 17, 2025 14:43
@iQQBot
Copy link
Contributor

iQQBot commented Mar 17, 2025

I haven't run test yet, did you run any test? @geropl

@geropl
Copy link
Member Author

geropl commented Mar 17, 2025

I haven't run test yet, did you run any test?

Yes, the manual one's mentioned above 👍

Just waiting for the build to pass - not sure why it's different than local leeway run dev:preview.... 🤔

@iQQBot
Copy link
Contributor

iQQBot commented Mar 17, 2025

Just waiting for the build to pass - not sure why it's different than local leeway run dev:preview.... 🤔

It's same, but I don't know the preview URL ...

@geropl
Copy link
Member Author

geropl commented Mar 17, 2025

/unhold

@roboquat roboquat merged commit 89e0930 into main Mar 17, 2025
32 checks passed
@roboquat roboquat deleted the gpl/1230-server-ready branch March 17, 2025 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants