204 Commits

Author SHA1 Message Date
Thomas Schubart
697d81ecbf
[ws-manager-mk2] Introduce experimental mode (#17048)
* [installer] Add experimental mode for mk2

* [wsman-mk2] Use ExperimentalMode flag
2023-03-28 17:56:26 +02:00
Wouter Verlaek
c14a25cfdf
[ws-manager-mk2] Report content init/dispose failures (#17015) 2023-03-27 17:22:25 +02:00
Thomas Schubart
c64c4f3530
[ws-manager-mk2] Rely on controller concurrency mechanism for content init and backup (#16823)
* [wsman-mk2] Replace in memory state handling

* [ws-daemon] Operate on latest workspace CR

* [ws-daemon] Review comments
2023-03-23 16:31:17 +01:00
Wouter Verlaek
57840fc6ed
[ws-manager-mk2] Refactor maintenance mode to end at a timestamp (#16925)
* [ws-manager-mk2] Maintenance until

* Fix configmap

* Always show field

* Remove todo
2023-03-22 16:39:14 +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
Thomas Schubart
42a3602fce
[ws-manager-mk2] Emit events for workspaces and snapshots (#16907)
* [wsman-mk2] Emit workspace events

* [installer] Permissions for events

* [ws-man-mk2] Emit snapshot events

* [installer] Update render tests

* [wsman-mk2] Include review comments
2023-03-20 13:59:12 +01:00
Wouter Verlaek
3a561bf274
[ws-manager-mk2] Check empty ns, delete secrets before finalizer (#16900) 2023-03-20 11:32:12 +01:00
Thomas Schubart
ace513ad7e
[ws-manager-mk2] Refactor workspace status conditions (#16896)
* [wsman-mk2] Refactor conditions

* [wsman-mk2] Specify reason
2023-03-20 11:10:12 +01:00
Thomas Schubart
c800175c72
[ws-manager-mk2] Protect tokens (#16806)
* [wsman-mk2] Create token secret

* [installer] Fix casing for namespace type metadata

* [installer] Create secrets namespace

* [installer] Configure roles and bindings

* [installer] Move namespace constant to common pkg

* [installer] Create permissions for ws-daemon

* [wsman-mk2] Watch on multiple ns

* [ws-daemon] Use token secret

* [wsman-mk2] Remove secret from initializer

* [wsman-mk2] Test token secret

* [werft] Fix document index

* [installer] Update render tests

* [wsman-mk2] Fix imports

* [wsman-mk2] Ensure maintenance controller required permissions

* [wsman-mk2] Retry deleting secret

* [installer] Ensure objects in secrets namespace are only created with mk2 option
2023-03-15 12:57:07 +01:00
Thomas Schubart
2c259c4dc8
[ws-manager-mk2] Support public SSH keys (#16413) 2023-03-13 14:50:49 +01:00
Wouter Verlaek
25220bb30b
[ws-manager-mk2] Maintenance mode (#16702)
* [ws-manager-mk2] Maintenance mode reconciler

* [ws-manager-mk2] Check for maintenance mode

* [ws-manager-mk2] Default to maintenance mode on startup

* [ws-manager-mk2] Disable maintenance on unmarshal failure
2023-03-09 17:25:45 +01:00
Wouter Verlaek
311da7324c
[ws-manager-mk2] Add duration validation (#16687) 2023-03-06 18:39:04 +01:00
Wouter Verlaek
1631a4a038
[ws-manager-mk2] Loadgen fixes, concurrent reconciliation (#16613)
* [ws-manager-mk2] Loadgen fixes, concurrent reconciliation

* [ws-manager-mk2] Update tests with content readiness

* Simplify content ready check

* Fix json tags

* Revert poll interval
2023-03-06 15:18:04 +01:00
Milan Pavlik
e4e05143e2
[baseserver] Initialize tracer with server (#16586)
* [baseserver] Initialize tracer with server

* fix

* Fix

* fix
2023-03-03 14:57:01 +01:00
Wouter Verlaek
bec87139a9
[ws-manager-mk2] Remove headless field (#16611) 2023-03-01 12:14:59 +01:00
Wouter Verlaek
df3e15a1d4
[ws-manager-mk2] Remove headless from status (#16530) 2023-02-23 17:36:53 +01:00
Thomas Schubart
116a5b97b2
[ws-manager-mk2] Support workspace snapshots (#16471)
* [ws-manager-mk2] Scaffold snapshot CRD

* [ws-mangaer-mk2] Generate snapshot type

* [ws-manger-mk2] Provide snapshot endpoint

* [ws-daemon] Handle snapshots

* [ws-manager-mk2] Harmonize imports

* [ws-manger-mk2] Set owner reference

* [installer] Install snapshot CRD

* [ws-manager-api] Fix descriptions

* [ws-manager-mk2] Review comments

- Name controller
- Return early in case of error
- Reduce scope of permissions
2023-02-23 16:45:53 +01:00
Wouter Verlaek
00229da4af [ws-manager-mk2] Add finalizer on workspace, handle deletion 2023-02-15 11:27:19 +01:00
Thomas Schubart
ad3b05c064 [ws-manager-mk2] Support system environment variables 2023-02-15 08:22:19 +01:00
Wouter Verlaek
e62c773362 [ws-manager-mk2] Aborted condition, grace period 2023-02-14 12:04:19 +01:00
Wouter Verlaek
65d5cb2d88 [ws-manager-mk2] Cleanup EverReady condition 2023-02-14 11:28:19 +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
Wouter Verlaek
172c58c0eb [ws-manager-mk2] Workspace timeouts 2023-02-10 10:49:15 +01:00
Wouter Verlaek
093338cca3 Increase envtest start/stop timeout 2023-02-08 16:47:46 +01:00
Wouter Verlaek
a4e0b11fe2 [ws-manager-mk2] Fix and enable controller tests 2023-02-08 16:47:46 +01:00
Sven Efftinge
74aa6db6e4 [ws-manager-api] Add region for cluster selection 2023-02-08 10:51:46 +01:00
Wouter Verlaek
971c3d6412 [ws-manager-mk2] Implement MarkActive 2023-02-07 10:51:45 +01:00
Thomas Schubart
382bde1767 [ws-manager-mk2] Switch to lru cache 2023-01-30 23:22:38 +01:00
Thomas Schubart
a485cb69a9 [ws-manager-mk2] Ensure metrics are only counted once 2023-01-30 23:22:38 +01:00
Thomas Schubart
a80ee4a26b [ws-manager] Delete workspace CR on stop 2023-01-30 14:59:37 +01:00
Thomas Schubart
f1454d3994 [ws-daemon] Only handle k8s operations in controller 2023-01-30 14:59:37 +01:00
Wouter Verlaek
3651262ba2 [ws-manager-mk2] Configure health probes and leader election 2023-01-27 04:12:34 +01:00
Wouter Verlaek
8aa5a1d12c [ws-manager-mk2] Add print columns and shortname 2023-01-23 15:41:31 +01:00
Christian Weichel
572fcbb008 [ws-daemon] Start workspace controller based content init 2023-01-23 14:14:30 +01:00
Christian Weichel
7ca2a11572 [ws-manager-mk2] Remove ws-daemon connection 2023-01-23 14:14:30 +01:00
Christian Weichel
a3f8d86f3b [ws-manager-mk2] Fix build after rebase 2023-01-23 14:14:30 +01:00
Christian Weichel
99bff04aa5 [ws-manager-mk2] Rework CRD to better match k8s best practice 2023-01-23 14:14:30 +01:00
Christian Weichel
f91abd8a1e [ws-manager-mk2] Add workspace class support 2023-01-23 14:14:30 +01:00
Christian Weichel
56961e02a1 [ws-manager-mk2] Improve status extraction 2023-01-23 14:14:30 +01:00
Christian Weichel
9992d4fa32 [ws-proxy] Support workspace CRD 2023-01-23 14:14:30 +01:00
Christian Weichel
abeea17ab5 Move ws-manager-mk2 CRD to API package 2023-01-23 14:14:30 +01:00
JenTing Hsiao
4af9af4a1e Apply suggestions from code review
Co-authored-by: Pavel Tumik <18602811+sagor999@users.noreply.github.com>
2023-01-03 23:48:43 +01:00
JenTing Hsiao
af04243b3b If dryRun, return gRPC FailedPrecondition
If dryRun enables on StartWorkspace/StopWorkspace/TakeSnapshot,
return gRPC FailedPrecondition status code and error message
`under maintenance mode`.

Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>
2023-01-03 23:48:43 +01:00
Wouter Verlaek
72d9152a71 [image-builder] Enable TLS in workspace clusters
Fix cyclic import cycle

Update altnames

Update golden testdata, todo

Update grpc opts

Testing

Remove blocking dial

Only add TLS in ws cluster

Conditional TLS

Add comments
2022-12-20 02:45:29 -03: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
JenTing Hsiao
a4dacef491 ws-manager: add prebuild PVC configuration
Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>
2022-11-09 14:58:39 +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
Thomas Schubart
8382abc381 [ws-manager-api] Generate grpc for psi 2022-10-21 10:42:36 +02:00