122 Commits

Author SHA1 Message Date
Gero Posmyk-Leinemann
5d557f73c8
[spicedb] Fix intermittent "Error: 4 DEADLINE_EXCEEDED...Waiting for LB pick" (#20637)
* [dev] Bump grpc/grpc-js 1.10.8 -> 1.12.6 and authzed/authzed-node 0.15.0 -> 1.2.2

Tool: gitpod/catfood.gitpod.cloud

* [server] Streamline spicedb gRPC client usage and creation options

 - instead of doing retries on two levels, rely on the gRPC-level retries
 - to mitigate the loss of insights, introduce createDebugLogInterceptor
  - client options: use sane defaults derived from the documentation instead of the excessive ones we had in place before
  - use "waitForReady" option: it should a) make our calls for responsive on re-connects, while b) - because we keep re-trying on DEADLINE_EXCEEDED - should be as reliable as before

Tool: gitpod/catfood.gitpod.cloud

* [protocol] Centralize grpc.isConnectionAlive

Tool: gitpod/catfood.gitpod.cloud

* [server] SpiceDB client: retry with new client on "Waiting for LB pick" error

Tool: gitpod/catfood.gitpod.cloud
2025-03-17 05:13:46 -04:00
Gero Posmyk-Leinemann
26f7f5d742
Add more initializer-related info to /insights API (#20572)
* [ws-manager, ws-daemon] Store initializer metrics in workspace.Status.InitializerMetrics

Tool: gitpod/catfood.gitpod.cloud

* [ws-mananger-api, -mk2] Emit new field .Status.InitializerMetrics

Tool: gitpod/catfood.gitpod.cloud

* [db] Introduce DBWorkspaceInstanceMetrics and persist all metrics from ws-manager-api into it

Tool: gitpod/catfood.gitpod.cloud

* [api] Expose session.Metrics.InitializerMetrics

Tool: gitpod/catfood.gitpod.cloud

* [dashboard] Export metrics into CSV

Tool: gitpod/catfood.gitpod.cloud

* [content-service] Fix: emit fromBackup stats

Tool: gitpod/catfood.gitpod.cloud

* Update components/ws-manager-api/core.proto

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

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2025-02-26 14:34:12 -05:00
Filip Troníček
5bb738a530
Add WS image metrics to workspace instances (#20426)
* Add WS image metrics to workspace instances

* Update tests

* fix ws-manager-api field description

* Prefer existing DB values for metrics

* Copy proto comments over to protocol type
2024-12-09 05:01:16 -05:00
Gero Posmyk-Leinemann
2686bc2f47
[server, bridge] Bump grpc-js and authzed clients (#19849)
* [yarn] Bump @grpc/grpc-js to 1.10.8 and @authzed/authzed-node to 0.15.0

* [server] SpiceDB: explicit re-try on UNAVAILABLE

We tried to configured this inside the SpiceDBClientProvider already, but somehow it still surfaced.

* [server, bridge] Configure "grpc.dns_min_time_between_resolutions_ms" to be 2s instead of 30s
2024-06-06 13:57:19 +08:00
Anton Kosyakov
521e6a5aab
[dashboard] use HTTP endpoint for telemetry (#19223)
* [dashboard] use HTTP endpoint for telemetry

* 💄

---------

Co-authored-by: Jean Pierre <jeanpierre@gitpod.io>
2023-12-12 14:56:19 +02:00
Pudong
6ecc991ff5
[experimental] add ssh certificate authorities as feature flags (#19208) 2023-12-07 22:59:14 +02:00
Christian Weichel
bb51f07988
Collect workspace classes from workspace cluster (#19003)
* Extend ws-manager API to support workspace class descriptions

fixes ENG-1065

* Extend  DescribeCluster in ws-manager-mk2

to acurately report the available workspace classes

fixes ENG-1066

* Add workspace classes to cluster in DB

* Intergrate workspace cluster collection in ws-manager-bridge

* Feature flag off discovered workspace class usage

* Fix build

* Add unittest for getSupportedWorkspaceClasses

* Fix workspace class storage

* Adress review feedback
2023-11-10 13:13:48 +02:00
Huiwen
181c983405
[server,dashboard] verify image accessibility when updating org workspace image setting (#18747)
* [server] verify image accessibility before update settings

* [dashboard] update org settings page

* fixup disable button for members

* Update components/dashboard/src/teams/TeamSettings.tsx

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* Update components/dashboard/src/teams/TeamSettings.tsx

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* Update components/dashboard/src/teams/TeamSettings.tsx

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* Update components/dashboard/src/teams/TeamSettings.tsx

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* Update components/dashboard/src/teams/TeamSettings.tsx

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* hid change button for members

* Update components/dashboard/src/teams/TeamSettings.tsx

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* Update components/dashboard/src/teams/TeamSettings.tsx

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

* update image hint

* Add description to WorkspaceImageButton

* Lighter description

* render desc list

---------

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>
Co-authored-by: Filip Troníček <filip@gitpod.io>
2023-09-20 23:01:59 +02:00
Alex Tugarev
0189623c4b
🧹 Update mocha and remove resolutions (#18736)
* remove resolutions in root package.json

update mocha to avoid pulling in minimatch@3.0.4

* adjust mocha config

* also consider *.spec.db.*

* re-add missing exclude of node_modules

* remove recursive

* fix mocha execution
2023-09-19 09:22:58 +02:00
Gero Posmyk-Leinemann
938f0ba841
[ws-manager-api] Remove deprecated fields (#18641) 2023-09-01 14:38:58 +02:00
Sven Efftinge
841b616c34
[spicedb] fix stale connection handling (#18631) 2023-09-01 12:53:58 +02:00
Sven Efftinge
7f81d83956
fix watch mode (#18414) 2023-08-07 17:04:33 +02:00
Alex Tugarev
afac02330b
Downgrade grpc-js (#18346)
Current version seems to have issues with tearing down the node processes.
2023-07-26 17:46:42 +08:00
Gero Posmyk-Leinemann
d7acfb662a
Updated outdated dependencies to avoid CVEs (#18144)
* Update grpc/grpc-js

* Update http-cache-semantics

* decode-uri-component
2023-07-04 16:40:21 +08:00
Gero Posmyk-Leinemann
cc52d25280
Upgrade yarn packages (#18128)
* [ts] Pin mimimatch and minimist

* [server] Update minio

* [ts] Remove superfluous node-pre-gyp dep

* [ts] Pin jsonwebtoken to 9.0.0

* [grpc] Update grpc-toolsis

* [ts] Upgrade from mocha-typescript to  @testdeck/mocha

* fix rimraf
2023-07-03 14:47:19 +08:00
Milan Pavlik
2933eeef54
Upgrade ts-node to 10.4 WEB-575, WEB-576 (#18102)
* Upgrade ts-node to 10.4

* [server] Make typings work in workspace AND leeway

* [leeway] Increase node heap size to 8GB

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2023-06-30 20:26:48 +08:00
Gero Posmyk-Leinemann
909955d2c4
[db, ts] Introduce a generic db.transaction() (#17980)
* [ts] Upgrade inversify 5.0.1 -> 6.0.1

* [server, db] Introduce TransactionalDB for User, Workspace, Projects

* Fix tests
2023-06-21 16:12:11 +08:00
Gero Posmyk-Leinemann
54307a551e
[server] Remove dead permissions code (#17918) 2023-06-19 17:45:10 +08:00
Thomas Schubart
c729eb8dd9
[ws-manager-mk2] Make workspace class limiting the default (#17917)
* [wsman-api] Remove class limiting feature flag

* [wsman-mk2] Remove class limiting feature flag
2023-06-15 17:15:05 +08:00
Thomas Schubart
2cab1406dd
[ws-manager-mk2] Remove persistent volume claim feature (#17860)
* [ws-daemon] Remove PVC

* [installer] Remove PVC

* [workspacekit] Remove PVC

* [content] Remove PVC

* [preview] Remove PVC

* [wsman-api] Remove PVC

* [ws-daemon-api] Remove PVC

* [workspacekit] Mount workspace directory

* [supervisor] Remove PVC

* [test] Remove PVC

* Fix build
2023-06-13 18:35:04 +08:00
Thomas Schubart
e4688a23a7
[ws-manager-mk2] Configure max workspace lifetime (#17767)
* [wsman-api] Add maximum lifetime to workspace request

* [wsman-api] Add maximum lifetime to workspace CRD

* [wsman] Set maximum lifetime during workspace start

* [wsman] Check custom max lifetime

* [wsman-api] Fix conflicting raw proto

* [wsman-mk2] Test custom max lifetime
2023-06-12 19:25:02 +08:00
Thomas Schubart
fe08421325
[ws-daemon] Remove full workspace backup (#17803) 2023-06-01 17:36:06 +08:00
Pudong
176393a0c8
Add support to forward https protocol port (#17644)
* add support to forward https protocol port

* Update components/ws-proxy/pkg/proxy/routes.go

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

---------

Co-authored-by: Kyle Brennan <kyle@gitpod.io>
2023-05-19 15:22:53 +08:00
Milan Pavlik
0e2ec6cd24
Remove usage of applicationCluster column from WorkspaceCluster (#16824)
* Remove usage of applicationCluster column from WorkspaceCluster

* fix

* Fix

* fix

* Fix

* fix

* Fix

* fix

* Fix

* Fix

* fix
2023-03-14 13:13:07 +01:00
Milan Pavlik
db05a7f5be [server] Typed workspace region 2023-02-10 15:26:15 +01:00
Pudong Zheng
377f00cb02 [ws-manager] Add custom closed timeout
Co-authored-by: Wouter Verlaek <wouter@gitpod.io>
2023-02-10 11:16:15 +01:00
Sven Efftinge
74aa6db6e4 [ws-manager-api] Add region for cluster selection 2023-02-08 10:51:46 +01:00
Christian Weichel
478a75e744 Switch license to AGPL 2022-12-08 13:05:19 -03:00
Anton Kosyakov
6533581a0e [ssh-proxy] only mark first active when user establish ssh connection
VS Code Remote SSH will reestablish a ssh connection even if window is not uesd.
It will retrigger heartbeat over and over in SSH Gateway.
SSH Gateway should only triggert heartbeat if pty sessions is present.

Co-authored-by: Pudong <tianshi8650@gmail.com>
2022-11-09 21:46:39 +02:00
Andrew Farries
956c97961f Run ws-manager-api typescript tests
The component defines tests but the tests were never run since leeway
was instructed not to to run tests for this component.

Start running the tests and add the necessary dev dependencies to allow
leeway to run them.
2022-11-08 16:33:38 +01:00
Pavel Tumik
17d51f5228 pass workspace type when deleting volume snapshots 2022-11-04 16:14:09 +01:00
Thomas Schubart
7b468c43ef [ws-manager-api] Remove protected secrets from grpc 2022-11-02 21:25:07 +01:00
Andrew Farries
2ede9de6e0 Pass applicationCluster everywhere
Connect the configured installationShortname aka applicationCluster from
server, ws-manager-bridge, and the image-builder-api to workspace
cluster provider.
2022-10-26 17:26:42 +02:00
Andrew Farries
fcf18c43e1 Make client providers filter by app cluster
This reverts commit 17531ae098f1098084e58ce1284a635ee7704483.
2022-10-26 17:26:42 +02:00
Thomas Schubart
8382abc381 [ws-manager-api] Generate grpc for psi 2022-10-21 10:42:36 +02:00
Andrew Farries
dac3b74e8b Revert "Make client providers filter by app cluster"
This reverts commit 83a33cbad6e4acf004ecf475df9bf04c3e50d998.
2022-10-20 13:39:35 +02:00
Andrew Farries
ee54e2c23e Make client providers filter by app cluster 2022-10-20 09:52:35 +02:00
Andrew Farries
975743e715 Update test data 2022-10-17 18:34:32 +02:00
Pudong Zheng
a83040893e [ws-manager] refactory image layers 2022-10-13 20:08:30 +02:00
Milan Pavlik
8b94c543e9 [ws-manager] Remove Probe workspace type 2022-09-29 10:25:30 +02:00
Anton Kosyakov
008ea3fadc [jb] prepare to split backend and plugin images 2022-08-30 09:36:14 +02:00
Thomas Schubart
e1faf34708 [ws-manager-api] Add connection limiting feature 2022-08-24 14:14:40 +02:00
Pavel Tumik
07d80c8fa8 add support for aborting workspaces 2022-08-23 20:20:40 +02:00
Thomas Schubart
e437e18680 [ws-daemon/manager] Use feature flag 2022-08-05 11:42:49 -03:00
Thomas Schubart
4b402429b1 Remove fixed resources 2022-08-04 06:57:48 -03:00
Manuel Alejandro de Brito Fontes
d0e6bd7656 Refactor Manager StartWorkspace 2022-07-22 11:07:17 -03:00
Gero Posmyk-Leinemann
2dc450d595 [protocol, et al] Extract gRPC ClientCallMetrics into protocol 2022-07-20 09:31:15 -03:00
Christian Weichel
65326d58f1 [ws-manager-api] Clean up "ExtendedUser"
after the removal of the has-user-level and
has-more-resources admission constraint
2022-07-15 14:31:02 +02:00
Christian Weichel
76ad6c215e [ws-manager-bridge] Remove HasMoreResources admission constraint
We've moved to workspace classes for this feature.
2022-07-15 14:31:02 +02:00
Gero Posmyk-Leinemann
6ace17b547 [server] Use workspace cluster as image-builder (feature flag: "movedImageBuilder") 2022-07-12 14:40:59 +05:30