56 Commits

Author SHA1 Message Date
Anton Kosyakov
01487c9a61 [supervisor] fix gitpod config changed analytics 2022-08-09 09:54:53 -03:00
Christian Weichel
ae7f3fd8c0 [supervisor] Make compatible with run-gp 2022-06-21 19:35:30 +05:30
JenTing Hsiao
9631a0b57b Remove deprecated function
The function grpc.WithInsecure() is deprecated, use
grpc.WithTransportCredentials(insecure.NewCredentials()) instead.

Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>
2022-06-15 13:07:24 +05:30
Anton Kosyakov
52e422189c [supervisor] fix #9521: add resources endpoint respecting cgroup v1 2022-05-18 13:06:32 +05:30
Manuel Alejandro de Brito Fontes
90fe82a508 Remove ghost from the codebase 2022-02-28 14:17:07 +05:30
Christian Weichel
ec94c225e9 [supervisor] Improve init shutdown behaviour 2022-02-12 15:56:33 +01:00
Pudong Zheng
70606e9c4f move reaper to another process 2022-02-09 09:10:30 +01:00
Pudong
fb99a9f5eb [ide] add user-agent header to ws connection to server 2021-12-20 07:21:44 +01:00
Manuel Alejandro de Brito Fontes
d70eb53070 [supervisor] Lint code 2021-11-03 14:58:11 +01:00
Manuel Alejandro de Brito Fontes
f25de2cdbf Log error changing default level 2021-09-22 10:15:47 -03:00
Manuel Alejandro de Brito Fontes
e6d1cea54d Enable GRPC logging 2021-09-13 21:09:39 +05:30
Christian Weichel
8c38329044 [supervisor] Add gitpod user if it doesn't exist 2021-08-04 14:59:04 +02:00
Manuel Alejandro de Brito Fontes
bd3ba7cdec Refactor port parsing 2021-06-16 10:45:31 -04:00
Anton Kosyakov
f7b2e37cbd [supervisor] support tunneled ports 2021-05-20 09:49:33 +02:00
Manuel Alejandro de Brito Fontes
d3ebfd454b Update golangci-lint 2021-05-11 07:15:24 -04:00
Christian Weichel
c2a2352f12 [supervisor] Add config change analytics 2021-05-06 16:21:40 +02:00
Anton Kosyakov
5e39b06cb5 [gitpod-cli/protocol] remove dependency to common-go 2021-03-29 16:10:34 +02:00
Christian Weichel
800f5fe251 [supervisor] Minor post-notification PR cleanup 2021-03-22 12:20:47 +01:00
Manuel Alejandro de Brito Fontes
7e9da6ce3b [supervisor] Lint code 2021-03-16 07:35:57 -03:00
Jan Koehnlein
9321428573 [supervisor] added notification API (#3038) 2021-03-11 13:05:16 +01:00
Manuel Alejandro de Brito Fontes
2b6a56bc40 Update go imports 2021-03-02 06:37:49 -03:00
Gero Posmyk-Leinemann
133e2c367c [ws-scheduler] Re-use PriorityQueue from k8s incl. metrics 2021-03-01 10:17:16 +01: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
Anton Kosyakov
4cc6245ab8 [supervisor] terminal API enhancements 2021-01-28 09:33:09 +01:00
Christian Weichel
e086599357 [supervisor] Add annotations to terminals 2021-01-15 14:11:21 +01:00
Christian Weichel
2e2f00127a [supervisor] Provide the PID of terminal processes 2021-01-15 14:11:21 +01:00
Christian Weichel
ef66ca19a1 [supervisor] execve into ring3 2021-01-08 15:58:39 +01:00
Christian Weichel
7935b7f015 [gitpod-protocol] Move Go server API client to gitpod-protocol
This way it's accessible from packages other than supervisor,
e.g. future integration tests.
2021-01-08 13:40:43 +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
b7dda84ad0 [license] Update license header from TypeFox GmbH to Gitpod GmbH 2021-01-04 15:12:02 +01:00
Christian Weichel
028552b19f [supervisor] Don't nil-deref on broken Gitpod connection 2020-12-17 09:42:52 +01:00
Christian Weichel
cad0421768 [supervisor] Add supervisor ghost command 2020-12-08 16:35:44 +01:00
Christian Weichel
c3ccf1cab4 [supervisor] Gracefully close terminals on shutdown 2020-11-27 17:41:04 +01:00
Christian Weichel
48fe5e606b [supervisor] Don't use JSON logging for CLI 2020-11-19 08:38:35 +01:00
Christian Weichel
09e33777b5 [supervisor] Introduce ring1 shutdown timeout to ensure proper cleanup
ring1ShutdownTimeout is the time ring1 gets between SIGTERM and SIGKILL.
We do this to ensure we have enough time left for ring0 to clean up prior
to receiving SIGKILL from the kubelet.

This time must give ring1 enough time to shut down (see time budgets in supervisor.go),
and to talk to ws-daemon within the terminationGracePeriod of the workspace pod.
2020-11-16 12:34:08 +01:00
Christian Weichel
cac490b36b [supervisor] Restore Pdeathsig after uid/gid maps are written in ring1
the reexec in combination with writing the uid_map/gid_map resets
the processes prctl.
2020-11-11 11:59:32 +01:00
Christian Weichel
34cd879ded [supervisor] Use runc's pivotRoot which properly unmounts the old root 2020-11-05 08:08:32 +01:00
Christian Weichel
ffabc9f0d4 [supervisor] Synchronise rings using pipe rather than signals 2020-11-05 08:08:32 +01:00
Christian Weichel
c8d46111a6 [ws-daemon] Improve userns container preparation 2020-11-05 08:08:32 +01:00
Christian Weichel
2d692fef08 [ws-daemon] Support proc mount API 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
43e26558bb [merge] Provide instance updates 2020-11-04 05:50:23 +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
438c234bb2 [ws-daemon] Rename InWorkspaceHelper to more apt InWorkspaceService
and introduce rate limiting on that service to mimic the behaviour of
the former canaries.
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
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
Christian Weichel
a6a84d0c93 [supervisor] Use SIGTERM instead of PreStop hook 2020-10-23 16:20:08 +02:00
Christian Weichel
3a6587470a [supervisor] Directly support newuid/newgidmap CLI 2020-10-13 11:10:53 +02:00
Christian Weichel
a494eb7cff [ws-manager-node] Add uidmapper canary support 2020-10-13 11:10:53 +02:00