71 Commits

Author SHA1 Message Date
Gero Posmyk-Leinemann
561fde446c
[server] Fix custom CA (#20770)
Configure NODE_EXTRA_CA_CERTS env var to point to the CA certificate bundle file
2025-04-24 06:21:34 -04:00
Gero Posmyk-Leinemann
aaa27c2821
[server] Add /ready probe to smooth rollout of server pods (#20673)
* [server] Move /ready to /startup, and rename code to StartupController (because it's used by the StartupProbe)

Tool: gitpod/catfood.gitpod.cloud

* [server] Introduce special /ready handler that only returns "false" during the shutdown phase

Tool: gitpod/catfood.gitpod.cloud
2025-03-18 11:28:47 -04:00
Gero Posmyk-Leinemann
fad0801ca8
[server] Fix broken /ready endpoint and chaned the probe to be a StartupProbe (#20672)
Tool: gitpod/catfood.gitpod.cloud
2025-03-18 06:34:47 -04:00
Gero Posmyk-Leinemann
89e09307b9
[server] Introduces ReadinessProbe (#20669)
* [server] Introduce ReadinessController and probe at /ready

Tool: gitpod/catfood.gitpod.cloud

* [server] Move /live and /ready endpoints to a separate express app and port

Tool: gitpod/catfood.gitpod.cloud

* [memory-bank] task-related learnings

Tool: gitpod/catfood.gitpod.cloud

* [server] Introduce `server_readiness_probe` feature flag so we can disable the ReadinessProbe if required

Tool: gitpod/catfood.gitpod.cloud

* docs: formalize Product Requirements Document workflow

- 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

* [server] ReadinessProbe: add redis as dependency

Tool: gitpod/catfood.gitpod.cloud

* review comments

Tool: gitpod/catfood.gitpod.cloud

* [dev] Remove outdated gopls config

Tool: gitpod/catfood.gitpod.cloud

* [server] Fix import

Tool: gitpod/catfood.gitpod.cloud
2025-03-17 11:44:46 -04:00
iQQBot
52a7727b4f
[node-labeler] Refactor node labeling to use taints instead of labels (#20652)
* [node-labeler] Refactor node labeling to use taints instead of labels

* [agent-smith] Add toleration to daemonset

* Add workspace component tolerations to various Gitpod components if it running in Full installation

* Apply suggestions from code review

Co-authored-by: Kyle Brennan <kyle@gitpod.io>

* Update components/node-labeler/cmd/run.go

Co-authored-by: Kyle Brennan <kyle@gitpod.io>

---------

Co-authored-by: Kyle Brennan <kyle@gitpod.io>
2025-03-11 03:30:39 -04:00
Gero Posmyk-Leinemann
76781bf322
[dev] Update workspace libraries to match kubernetes (containerd, runc, buildkit) (#20526)
* [workspace] Set lib versions: containerd to 1.6.36, runc 1.1.14 and buildkit to 0.12.5

Reasoning: https://linear.app/gitpod/issue/CLC-982/update-containerd-to-latest-patch-16x-k8s-and-runc-libs-in-gitpod-mono#comment-d5450e2c

* [golangci] Remove superfluous notlint and checks

* [image-builder-mk3] Fix incomplete tests where a library made the field "mediaType" non-optimal

    Original change: https://github.com/opencontainers/image-spec/pull/1091

* [docker] Switch from github.com/docker/distribution/reference to github.com/distribution/reference

* [ws-daemon] Internalize libcontainer/specconv because it got dropped between runc 1.1.10 and 1.1.14
2025-01-20 09:32:10 -05:00
Gero Posmyk-Leinemann
940f234205
[server] Move ff google_cloud_profiler into env var/installer config (#19912) 2024-06-20 13:19:15 +02:00
Pudong
6cc2aae832
[service-waiter] add addition image condition in annotation (#19494)
* [service-waiter] add addition image condition in annotation

* use common-go package
remove spec.image check

* change download source for kubectl
2024-03-05 16:08:15 +02:00
Manuel Alejandro de Brito Fontes
692963d2e9
Update containerd and buildkit go modules (#19376)
* Update containerd and buildkit go modules

* Fix build

* Fix typecheck errors

---------

Co-authored-by: Thomas Schubart <thomas@gitpod.io>
2024-02-01 20:22:44 +02:00
Anton Kosyakov
352484b34d
node grpc spike dashboard to server (#18691)
* [public-api] add dummy service for testing

* [public-api] proxy dummy to server

* [public-api] hello service server impl

* [server] fix API contribution bindings

* [dashboard] emulate unary call

* only if actually called

* [dummy] auth

* fix tests

* [server] add interceptor to public api

* add server side observability

* fix port name

* change to unimplemented for unknown methods

* [public-api] client metrics

* fix metrics imports

* align server metrics

* actually fix metrics

* add feature flags

* fix server side streams

* [dashboard] hook error reporting

* rebase and fix imports

* feature flagged metrics from dashboard

* revert GRPC_TYPE

* address feedback
2023-09-15 13:46:54 +02:00
Thomas Schubart
55c9165c0d
Support managed redis (#18581)
* [installer] Specify redis configuration for server

* [server] Configure Redis authentication

* [wsman-bridge] Configure Redis authentication

* [wsman-bridge] Add redis credentials to environment
2023-08-24 10:30:50 +02:00
Huiwen
700b6050ba
Make db waiter to wait latest migration (#18455)
* Make db waiter to wait latest migration

* Move generate out of build

* Remove conn require

* Allow to ignore migration check

* Use shell

* Use fail and remote useless log

* Generate service-waiter txt when create migration

* Revert "Generate service-waiter txt when create migration"

This reverts commit 11c12b83544a448f9784f8aa94cdfd69cfb15f45.

* Add log
2023-08-10 13:51:36 +02:00
Milan Pavlik
a778e6dd76
[installer] Remove messagebus WEB-618 (#18216)
* [server] Publish events during workspace starter

* retest

* fix

* fix

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* [server] Publish events during workspace starter

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* fix

* [installer] Remove messagebus

* fix

* fix
2023-07-24 20:51:40 +08:00
Milan Pavlik
a3d54e2a13
[service-waiter] Extend to support redis WEB-602 (#18196)
* [service-waiter] Extend to support redis

* hook up to installer
2023-07-07 17:59:24 +08:00
Milan Pavlik
3683679d97
[server] Use chainguard node image WEB-575 (#18062)
* [server] Use chainguard node image

* Fix

* Fix

* fix

* fix

* Fix

* remove heapdump

* fix

* fix
2023-06-28 18:26:46 +08:00
Thomas Schubart
2fb046fc1c
[wsman-mk2] Remove ws-manager-mk1 (#17738) 2023-05-25 17:05:59 +08:00
Thomas Schubart
09bb1b218c
[installer] Use mk2 tls certificates for server (#17317) 2023-04-24 19:19:45 +08:00
Milan Pavlik
b57424a76f
[jwt] Installer configures expiry & issuer WEB-102 (#17314)
* [jwt] Installer configures expiry & issuer

* Fix

* Fix

* retest

* Fix

* Fix

* Fix
2023-04-24 17:07:45 +08:00
Milan Pavlik
bce4700f97
[installer] Remove payment endpoint - WEB-144 (#17233)
* [installer] Remove payment endpoint

* fix

* fix

* Fix
2023-04-17 19:48:49 +08:00
Milan Pavlik
0bf91e58fd
[installer] Add key id for each auth keypair - WEB-100 (#17219)
* [installer] Add key id for each auth keypair

* retest

* fix

* fix
2023-04-17 18:41:49 +08:00
Milan Pavlik
c8f22f7ce8
[server] Load auth-pki into server config (#17214) 2023-04-14 13:54:53 +02:00
Jan Keromnes
f7101c5aed
Implement user account verification with LinkedIn during onboarding (#17074)
* Implement user account verification with LinkedIn during onboarding

* updating connect with linked-in banner

* removing unused imports

* Store token, fix binding

* Refactor LinkedInToken to LinkedInProfile

* Actually write the LinkedIn secret to the server config

* Fetch LinkedIn user profile and email address

* Add creationTime column to d_b_linked_in_profile

* Add more debug logging

* Fix LinkedIn API calls, mount LinkedInProfileDB

* Also bind LinkedInProfileDB

* Add LinkedIn scope r_liteprofile

* Enhance LinkedIn profile retrieval, store the profile, ensure uniqueness

* Align with UX spec and complete onboarding flow

* Prevent the LinkedIn button from auto-submitting the onboarding form

* Address nits (LinkedInService to /src and minor spacing)

---------

Co-authored-by: Brad Harris <bmharris@gmail.com>
2023-04-12 16:39:52 +02:00
Milan Pavlik
2c1ff94cea
[server] Expose gRPC API port to public-api & usage (#17032) 2023-03-27 10:55:25 +02:00
Manuel Alejandro de Brito Fontes
555ee279fe
Remove licensor component (#16983)
* Remove licensor component

* Update docker version to v20.10.23
2023-03-23 10:35:15 +01:00
Manuel Alejandro de Brito Fontes
5b30eb5b8c
Remove unused caCertSecret (#16793)
* Add trust.cert-manager.io for to bundle CA certificates

Signed-off-by: Manuel de Brito Fontes <aledbf@gmail.com>

* Configure CA volume and volumemount in components

* Update ws-manager golden files

* Deploy trust manager in preview

* Remove duplicated volume

* Update installer golden files

* Generate a bundle only for registry-facade

* Update golden files

* Fix initcontainer volume mounts

* Update golden files

* Fix registry-facade certificate

* Update golden files

* Disable skip_verify

* Enable force conflict with apply server side

Signed-off-by: Manuel de Brito Fontes <aledbf@gmail.com>

* Avoid random werft namespace errors

Signed-off-by: Manuel de Brito Fontes <aledbf@gmail.com>

---------

Signed-off-by: Manuel de Brito Fontes <aledbf@gmail.com>
2023-03-21 11:44:13 +01:00
Manuel Alejandro de Brito Fontes
97f8d4b802
Ensure the spread of pods on different nodes (#16810)
* Ensure the spread of pods on different nodes

* Replace string ClusterFirst

* Replace Always string in DNSPolicy

* Fix registry-facade affinity

* Fix ws-proxy affinity

* Address feedback

* Update golden files
2023-03-15 10:21:07 +01:00
Milan Pavlik
e9fcb45d72
[server] Remove admin OTS create/use flow (#16761) 2023-03-14 11:13:06 +01:00
Milan Pavlik
9110a66b46
[server] Mount admin-credentials (#16760)
* fix

* Fix

* Fix
2023-03-09 12:15:45 +01:00
Pudong Zheng
23a8fee3c1 clean up deprecated server-ide-config 2023-02-03 10:01:41 +01:00
Gero Posmyk-Leinemann
06c91990e2 [server, installer] Make admin-login-secret configurable (new default: not set) 2023-02-02 11:53:40 +01:00
Gero Posmyk-Leinemann
11caa55346 [installer] Replace flag withoutWorkspaceComponents with 'Kind != "Full"' 2023-02-02 11:17:40 +01:00
Milan Pavlik
86024e436e [server] Add config for interacting with spicedb 2023-01-31 12:17:38 +01:00
Gero Posmyk-Leinemann
dea13072e9 [server] Add config.admin.loginKey 2023-01-20 11:27:27 +01:00
Alex Tugarev
682eb3d14e [installer] allow ingress from c/iam to c/server
A dedicated service host will be exposed internally to the IAM component.
2023-01-03 12:10:42 +01:00
Wouter Verlaek
b1d53399e7 Experimental app cluster without ws components
Workspace image builds

Update golden output

Deploy ws-manager tls secret in webapp

Remove ws-manager secrets

Update golden outputs

Enable movedImageBuilder by default

Add wsmanager tls to server if not meta install

Update output.golden

Install ws-proxy in meta

Update golden

Move wsproxy to IDE objs

Create experimental flag

Move ws-proxy to idecomponents

Remove ws-manager TLS cert from ws-proxy

skipSelf if WithoutWorkspaceComponents enabled

Fix ws-proxy config
2022-12-13 16:12:23 -03:00
Christian Weichel
478a75e744 Switch license to AGPL 2022-12-08 13:05:19 -03:00
Tarun Pothulapati
c2eb0c15d1 [installer] manually set allowPrivilegeEscalation to false
This PR manually sets the `allowPrivilegeEscalation` container
config to false where we don't need extra capabilities. This
is needed as not setting this explicitely could mean that
it could still be `true` based on other settings.

This also helps us future proof on any behaviour changes around
this.

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2022-12-05 06:28:15 -03:00
Milan Pavlik
6f0deca146 [server] Configure PAT signing key 2022-11-30 05:30:59 -03:00
Milan Pavlik
f5dc3d8334 [server] Remove createSubscriptionOnUsage feature flag 2022-11-21 05:13:50 -03:00
Manuel Alejandro de Brito Fontes
def55ee7ba Add option to add authentication to Jaeger and custom tags 2022-10-11 13:51:26 +02:00
Andrew Farries
f2ec516013 [installer] Add liveness probe for server
Add a liveness probe for server that fails if the nodejs event loop lag
exceeds a given threshold.
2022-09-22 16:10:23 +02:00
Simon Emms
53932cef34 [installer]: set the server URLs to the FQDN and add no_grpc_proxy envvar
The @grpc/grpc-node package does not support wildcards in the no_proxy
envvar. Add the FQDN's for the components that the server calls to the
no_grpc_proxy envvar so that these calls are not proxied
2022-09-13 12:38:14 +02:00
Sven Efftinge
79b75ab4d5 Add phone verification 2022-08-29 09:36:13 +02:00
Simon Emms
2fd3dd3586 [installer]: remove the custom labels from the selector labels 2022-08-09 04:16:53 -03:00
Manuel Alejandro de Brito Fontes
14095f470b Refactor configuration of localhost address, metric and debug ports 2022-07-23 11:19:18 -03:00
Thomas Schubart
88e5beb8d6 [bridge] Regularly check for class updates 2022-07-06 23:15:53 +05:30
Simon Emms
8fad588e6b [installer]: add customization functions to components 2022-06-24 17:02:33 +05:30
Milan Pavlik
58a9ebbe3f [experiments] Configure ConfigCat SDK through installer 2022-06-24 15:28:33 +05:30
Jan Keromnes
b93288865e [server] Make Stripe usage-based product price IDs configurable 2022-06-20 14:52:29 +05:30
Andrew Farries
f3680fe1a9 Configure server to use stripe secret 2022-06-13 21:32:23 +05:30