156 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
7f43d48115
[server, dashboard] Introduce multi-org (behind feature flag) (#20431)
* [server config] Introduce isDedicatedInstallation, and use it to replace isSIngleOrgInstallation

incl. further cleanup around getConfiguration and server config

* [server, dashboard] Remove enableDedicatedOnboardingFlow feature flag and replace is with getInstallationConfiguration.IsDedicatedInstallation

* [dashboard, server] Remove "sinlgeOrgMode"

* [server] OrganizationService: block createTeam consistently for org-owned users

* [server, dashboard] Introduce "enable_multi_org" feature flag to allow admin-user to create organizations

* [dashboard] introduce "/?orgSlug=", which allows to pre-select an org in a "create workspace" URL (e.g. "/?orgSlug=org1#github.com/my/repo")

* [db] Auto-delete container "test-mysql" if it's already present

* fix tests

* [dashboard] Check if localStorage is available before using it

* [dashboard] SSOLogin: fix orgSlug source precedence to: path/search/localStorage

* [server] Deny "joinOrganization" for org-owned users

* Gpl/970-multi-org-tests (#20436)

* fix tests for real

* [server] Create OrgService.createOrgOwnedUser, and use that across tests to fix the "can't join org" permission issues

* Update components/server/src/orgs/organization-service.ts

Co-authored-by: Filip Troníček <filip@gitpod.io>

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2024-12-09 08:00:16 -05:00
Filip Troníček
da1053e101
Make auth cookie stricter (#19973)
* Use `__Host-` prefix for cookie

* Fix tests

* Remove domain from cookie

* Fix logout

* remove unused fn

* fix user logout properly

* [server] Make domain-only cookie work for GitHub oauth login

... by adding additional step so we can set the cookie for the base domain only

* test: fix by redirecting before callbacl/authorize

* [server] SessionHandler: Allow to login with both primary and secondary cookies

* [server] Clear 2ndary cookie on logout

* Fix filtering cookie values when primary cookie is empty

* Fix logouts

* Fix tests

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2024-07-01 08:53:14 +02: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
Sven Efftinge
1fc416440e
Increase frequency of the gc job (#19516) 2024-03-07 11:19:16 +02:00
Sven Efftinge
1e3adce9db
[server] icnrease content deletion chunk (#19512) 2024-03-06 20:06:16 +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
Milan Pavlik
f09c35a02d
[installer] Change cookie name (#18958)
* [installer] Change cookie name

* fix test

* fix
2023-10-19 17:35:28 +03: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
Manuel Alejandro de Brito Fontes
f27b16ee31
Add support for pod disruption budget (#18547) 2023-08-25 22:06:51 +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
fe08421325
[ws-daemon] Remove full workspace backup (#17803) 2023-06-01 17:36:06 +08:00
Thomas Schubart
2fb046fc1c
[wsman-mk2] Remove ws-manager-mk1 (#17738) 2023-05-25 17:05:59 +08:00
Sven Efftinge
2ed2597c5f
[server] garbage collect ws less often (#17704) 2023-05-23 14:47:56 +08:00
Sven Efftinge
dd7f5f70ba
[dedicated] explicit single-org config (#17547) 2023-05-22 20:08:56 +08:00
Sven Efftinge
dc7fa38db4
remove long-running migrations (#17638) 2023-05-17 21:23:51 +08:00
Milan Pavlik
0965bc98a8
[server] Remove grant first user admin (#17301) 2023-05-04 21:16:42 +08:00
Milan Pavlik
5bd95a774a
[installer] First user is no longer admin (#17300) 2023-05-04 19:55:42 +08:00
Milan Pavlik
6328d8f602
[server] Setup redis mutex to replace leader election (#17369)
* [server] Setup redis mutex to replace leader election

* injectable

* fix

* fix

* fix
2023-04-26 02:16:46 +08:00
Thomas Schubart
09bb1b218c
[installer] Use mk2 tls certificates for server (#17317) 2023-04-24 19:19:45 +08:00
Milan Pavlik
233ec9457a
[installer] Add JWT cookie opts to config WEB-101 (#17332)
* retest

* retest

* [installer] Add cookie name to config

* Fix

* fix
2023-04-24 17:46: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
5c9e8b4c47
[installer] Remove chargebee refs - WEB-144 (#17250)
* [installer] Remove chargebee refs

* fix
2023-04-18 15:55:50 +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
ac0dbf8c52
[papi] Mount Auth PKI - WEB-101 (#17218)
* [papi] Mount Auth PKI

* Fix

* Fix test
2023-04-14 15:39:54 +02:00
Milan Pavlik
c8f22f7ce8
[server] Load auth-pki into server config (#17214) 2023-04-14 13:54:53 +02:00
Milan Pavlik
92331d9826
[server] Generate key-pair for signing JWT sessions (#17205) 2023-04-14 10:19: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
41c14a137c
[usage] Add server address to config - WEB-94 (#17094)
* [usage] Add server address to config

* Fix

* Fix
2023-04-11 10:42:50 +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
Sven Efftinge
3177900282 [installer] args to disable jobs 2023-02-13 17:16:18 +01:00
Sven Efftinge
181076af92 [server] disable long migrations via config 2023-02-13 16:14:18 +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