568 Commits

Author SHA1 Message Date
Christian Weichel
1046faf0f9 [registry-facade] Remove feature flag
and enable registry-facade by default.
2021-02-18 09:25:56 +01:00
Manuel Alejandro de Brito Fontes
5186adfcc0
[ws-manager] Refactor notification signals (#3194)
[ws-manager] Refactor notification signals
2021-02-17 09:10:40 -03:00
Christian Weichel
5b6325f0de Remove privileged feature flag and permission
now that we have user-namespaced workspaces the privileged flag
has become even more of a nuisance and technical debt.

Fixes gitpod-io/gitpod#3058
2021-02-12 09:19:48 +01:00
Christian Weichel
47c7d9a8c9 [leeway] Run leeway fmt 2021-02-12 09:11:53 +01:00
ArthurSens
986bd94858 Reconfigure Prometheus buckets for workspace startup time histograms
Signed-off-by: ArthurSens <arthursens2005@gmail.com>
2021-02-08 10:10:41 -03:00
Christian Weichel
c913675274 [ws-manager] Provide subscription queue metric
A gauge vector reporting the fill levels of all subscriber queues.
2021-02-08 09:50:10 +01:00
Christian Weichel
227e6bd192 [ws-manager] Replace our own gRPC prom metrics with grpc_ecosystem
Fixes gitpod-io/gitpod#3090
2021-02-08 09:49:09 +01:00
Anton Kosyakov
8da435d6dc [code] fix user data URI on windows machine 2021-02-05 11:14:52 +01:00
Christian Weichel
d940209ffd [go.mod] Run leeway link to clean up go replace 2021-02-01 15:22:53 +01:00
Cornelius A. Ludmann
ab4c6f5a7b Fix go.mod links with leeway link 2021-02-01 13:07:43 +00:00
Christian Weichel
e641afad2b [workspacekit] Move all user namespace setup stuff to its own component
To keep supervisor free from CGO e.g. libcap or libseccomp
2021-01-29 17:46:53 +01:00
Sven Efftinge
55dad24136 [content-init] apply UID mapping symmetrically 2021-01-29 09:22:12 +01:00
Cornelius A. Ludmann
70fe39a8ba [content-store] Add a content-store component with blobs API 2021-01-28 14:15:31 +01:00
Gero Posmyk-Leinemann
54b314bffc
[ws-scheduler] Make ghost workspaces more effective by integrating them with scheduler (#2552)
* [ws-manager] Do not delete ghost workspace on start

* [ws-scheduler] Enable asynchronous binding of pods

* [ws-scheduler] Introduce ghosts

 - remove a ghost before binding a regular workspace
 - make ghosts "invisible" to strategy

* [scheduler] Wait longer on ghost deletion to prevent OOM errors

* [scheduler] Make isRegularWorkspace -> makeGhostsInvisible explicit

* [scheduler] cancel ghost.Delete if it takes too long (5s)

* [ws-scheduler] Add tests for ghost-sepcific state computation

* [scheduler] Make sure ghost are only selected for deletion once

* [scheduler] delete ghosts: ctxDeleteTimeout > gracePeriod

* [scheduler] Don't bind terminated pods

* [scheduler] Make all non-ghost workspaces replace ghosts

* [scheduler] review comments
2021-01-27 17:07:24 +01:00
Cornelius A. Ludmann
48734036cf [minio] update minio library to v7 2021-01-20 16:51:35 +01:00
Christian Weichel
0fd958c8da [ws-manager] Make compatible with Kubernetes v1.20.1 2021-01-11 15:25:05 +01:00
Christian Weichel
72a120e0c8 Update Kubernetes client-go to v1.20.1
Fixes gitpod-io/gitpod#2689
2021-01-11 15:25:05 +01:00
ArthurSens
be14b4897a Add golangci-linter and fixes most linting issues
Signed-off-by: ArthurSens <arthursens2005@gmail.com>
2021-01-05 08:38:03 -03:00
Christian Weichel
9ad74422c1 [ws-manager] Update Go dependencies 2021-01-04 15:12:02 +01:00
Christian Weichel
b7dda84ad0 [license] Update license header from TypeFox GmbH to Gitpod GmbH 2021-01-04 15:12:02 +01:00
Sven Efftinge
d0fc7eb84a go mod updates 2020-12-10 11:53:43 +01:00
Christian Weichel
bdbbd3e373 [ws-manager] Fix broken CDWP test case
/werft no-preview
2020-12-09 15:56:50 +01:00
Anton Kosyakov
f53f2fbb35 [proxy] mini browser host pattern 2020-12-09 14:50:45 +01:00
Christian Weichel
423f67fb03 [ws-manager] Correctly compute NodeAffinity with registry_facade
/werft no-preview
2020-12-09 08:18:53 +01:00
Christian Weichel
adc29f35e6 [ws-scheduler] Introduce ghost-workspace scaler 2020-12-08 16:35:44 +01:00
Christian Weichel
31372243e2 [ws-manager] Support ghost workspaces
which act as palceholders for actual workspaces.
2020-12-08 16:35:44 +01:00
Christian Weichel
44e6aa820b [ws-manager] Add metrics for unary gRPC methods 2020-12-08 09:34:40 +01:00
Christian Weichel
86562cac2c [ws-manager] Support configurable gRPC rate limits 2020-12-08 09:34:40 +01:00
Christian Weichel
71d616c363 [ws-manager] Don't complain when dangling service is already gone 2020-12-03 14:43:20 +01:00
Christian Weichel
4206fda07d [ws-manager] Don't request 0 resources, but don't request at all
/werft no-preview
2020-12-02 13:11:50 +01:00
Christian Weichel
2cd97bb049 [ws-manager] Follow Prometheus naming best practices 2020-12-01 15:48:45 +01:00
Christian Weichel
ed5058bb6f [ws-manager] Remove ws-daemon node selector
now that we have ws-scheduler doing this for us
2020-11-27 14:59:44 +01:00
Christian Weichel
f0b4643f13 [ws-manager] Add requiredNodeServices annotation 2020-11-27 14:59:44 +01:00
Christian Weichel
8d7deffb49 [ws-manager] Less noisy marking of timed out WS in intermediate state 2020-11-27 09:57:18 +01:00
Christian Weichel
72c5e488d0 [ws-manager] Close headless listener properly
fixes #2280
2020-11-25 16:46:05 +01:00
Anton Kosyakov
01a9ccde32 fix #2253: use more specific type for headless task messages 2020-11-25 16:24:46 +01:00
Anton Kosyakov
2b74b1e742 [dashboard] redirect from prebuild only when it is stopped 2020-11-25 16:24:46 +01:00
Sven Efftinge
7dd708aaa6 [ws-man] avoid 'fatal error: concurrent map read and map write' 2020-11-25 13:09:51 +01:00
Christian Weichel
9f98c92a25 [ws-manager] Properly report FallbackToLogsOnError termination messages 2020-11-06 13:54:09 +01:00
Christian Weichel
70f5232603 [misc] Misc auto-generated files 2020-11-06 13:53:47 +01:00
Christian Weichel
b914e2df86 [ws-daemon] Allow user-namespaced ops only in user-namespaced workspaces 2020-11-05 08:08:32 +01:00
Anton Kosyakov
94981bd214 [theia] move port handling to the supervisor 2020-11-04 05:50:23 +01:00
Christian Weichel
56175a4950 [ws-manager] Change workspace container termination msg policy
so that we get the last log output rather than a termination message.
2020-11-04 05:50:23 +01:00
Christian Weichel
cab9957da9 [ws-manager] Make workspace seccomp profile configurable 2020-10-28 08:46:58 +01:00
Christian Weichel
ecfa0b4ed6 [ws-daemon] Install custom seccomp profile for user namespaced workspace 2020-10-28 08:46:58 +01:00
Christian Weichel
11406fc397 [user namespace] Disable seccomp to make clone work
The default containerd seccomp profile seems to prevent the clone
syscall with `CLONE_NEWUSER` and/or `CLONE_NEWNS`.
2020-10-23 16:20:08 +02:00
Christian Weichel
4444675ce0 [user namespaces] Start IDE and terminals as gitpod user again 2020-10-23 16:20:08 +02:00
Christian Weichel
f4e06ea96c [ws-manager] Set restartPolicy to never
ws-manager deletes failed workspace pods and we don't
support failed workspace restarts this way. Kubernetes
trying to restart the container breaks things occasionally.
2020-10-23 16:20:08 +02:00
Christian Weichel
4a9c8f910e [ws-daemon] Provide IWH through unix socket rather than canaries 2020-10-23 16:20:08 +02:00
Christian Weichel
5a7903b089 [supervisor] Introduce user-namespace rings 2020-10-23 16:20:08 +02:00