55 Commits

Author SHA1 Message Date
Christian Weichel
5742c6a542 [ws-managr] Retry controlPort on conflict 2021-12-06 18:17:32 +01:00
Manuel Alejandro de Brito Fontes
037eb40107 Refactor ws-manager to stop using services 2021-11-05 10:33:03 +01:00
Christian Weichel
20adf1dbe6 [ws-manager] Introduce stoppedByRequest condition 2021-10-14 18:12:01 -03:00
Manuel Alejandro de Brito Fontes
fb8117655b [image-builder-mk3] Fix image build error "did not produce a workspace image" 2021-10-14 00:27:00 -03:00
Manuel Alejandro de Brito Fontes
1eb8f86a7b Refactor GRPC TLS connection default 2021-10-12 16:09:59 -03:00
Manuel Alejandro de Brito Fontes
12f10c68f9 Refactoring integration tests 2021-09-30 11:31:47 -03:00
Christian Weichel
c9d4e37444 [ws-manager] Provide ordering of status updates 2021-09-29 07:37:46 -03:00
Manuel Alejandro de Brito Fontes
e1e1ca5234 [ws-manager] Fix invalid logic to remove old endpoint 2021-09-22 02:50:47 -03:00
Manuel Alejandro de Brito Fontes
34aa730609 [ws-manager] Add validation of connections in the pool 2021-09-20 14:00:45 -03:00
Christian Weichel
d60599cd95 [common-go] Support client side gRPC metrics 2021-09-17 08:34:42 -03:00
Manuel Alejandro de Brito Fontes
092ec2f700 [ws-manager] Change log level for starting new workspaces 2021-09-13 18:24:38 +05:30
Christian Weichel
e5551dcd1b [ws-manager] Make config part of the API 2021-09-13 10:51:38 +05:30
Manuel Alejandro de Brito Fontes
48e0fdc817 [ws-manager] Refactor activity map to sync.Map 2021-09-02 16:19:09 +02:00
Manuel Alejandro de Brito Fontes
b7a3b87337 Remove duplication of GRPC configuration 2021-09-01 17:44:31 +02:00
Manuel Alejandro de Brito Fontes
18f11881b6 [ws-manager] Ensure status before setting phase tag 2021-08-23 09:37:22 +02:00
Christian Weichel
140c897d0d Remove old headless log infrastructure 2021-07-28 12:33:31 +02:00
Christian Weichel
5002453de7 [image-builder-mk3] Adapt to new log infrastructure 2021-07-22 16:32:26 +02:00
Christian Weichel
c61b777ef6 [ws-manager] Handle AlreadyExists in StartWorkspace 2021-07-22 16:32:26 +02:00
Christian Weichel
07f97d3f27 [ws-manager] Add support for workspace annotations 2021-07-22 16:32:26 +02:00
Gero Posmyk-Leinemann
8f0c24af66 [ws-manager, supervisor, bridge] Prebuild workspaces are done when their container stops 2021-07-08 09:27:34 +02:00
Manuel Alejandro de Brito Fontes
adc1ddf507 Fix propagation of span error 2021-07-07 05:40:06 -04:00
Christian Weichel
eb0f0c37d8 [ws-manager] Backport #4405 to use nodeName 2021-06-25 15:50:48 +02:00
rl
ceb0b26180 [ws-daemon] Add ws-daemon headless service
Use endpoint on the ws-manager node to avoid pod/nodePort access issues.
2021-06-25 15:50:48 +02:00
Manuel Alejandro de Brito Fontes
8b224a0b10 [ws-manager] Set GracePeriodSeconds for deletion of objects 2021-06-25 05:29:32 -04:00
Manuel Alejandro de Brito Fontes
6ab9ee12a9 [registry-facade] Add client-side reconnection 2021-06-24 11:24:20 -04:00
Gero Posmyk-Leinemann
8fcdaa2720 [ws-manager] Create services for all kinds of workspaces 2021-06-23 13:53:30 +02:00
Cornelius A. Ludmann
caa322c871 Make port visibility private by default 2021-06-21 16:22:15 +02:00
Manuel Alejandro de Brito Fontes
660c7ecd87 Refactor span log helpers 2021-06-03 09:37:22 -04:00
Manuel Alejandro de Brito Fontes
59e8ca174f Lint code 2021-05-18 07:27:57 -04:00
Christian Weichel
7f5fe36356 [ws-manager] Add metric counting totakl open ports 2021-04-23 09:39:58 -03:00
Manuel Alejandro de Brito Fontes
dfda855db9 Embed the Unimplemented implementation 2021-04-07 07:39:04 -04:00
Christian Weichel
2b5b6e7c86 [ws-manager] Remove all PLIS leftovers 2021-03-24 09:56:21 +01:00
Christian Weichel
724ed7a92a [ws-manager] Replace PLIS with k8s finalizer 2021-03-24 09:56:21 +01:00
Manuel Alejandro de Brito Fontes
53189d3fa6 [ws-manager] Lint code and cleanup protobuf 2021-03-16 07:35:57 -03:00
Gero Posmyk-Leinemann
8d1249a797 [cleanup] Removed ingressPortAllocator 2021-03-12 08:50:06 +01:00
Christian Weichel
e159c8035a [ws-manager] Correctly delete workspace pod 2021-03-02 14:52:44 +01:00
Christian Weichel
eb82716b7f [ws-manager] Correctly report workspace stop errors 2021-03-02 14:52:44 +01:00
Manuel Alejandro de Brito Fontes
3b4ebc9bad Migrate deprecated methods from ioutil package 2021-03-02 06:37:49 -03:00
Manuel Alejandro de Brito Fontes
2b6a56bc40 Update go imports 2021-03-02 06:37:49 -03:00
Manuel Alejandro de Brito Fontes
08774bd177 [ws-manager] Switch to controller-runtime abstraction 2021-03-01 14:00:58 -03:00
Manuel Alejandro de Brito Fontes
bd022f2e6f
[ws-manager] Field metadata.name only allows lowercase values (#3212) 2021-02-18 09:08:29 -03:00
Christian Weichel
1046faf0f9 [registry-facade] Remove feature flag
and enable registry-facade by default.
2021-02-18 09:25:56 +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
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
Christian Weichel
0fd958c8da [ws-manager] Make compatible with Kubernetes v1.20.1 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
b7dda84ad0 [license] Update license header from TypeFox GmbH to Gitpod GmbH 2021-01-04 15:12:02 +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
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
Sven Efftinge
7dd708aaa6 [ws-man] avoid 'fatal error: concurrent map read and map write' 2020-11-25 13:09:51 +01:00