38 Commits

Author SHA1 Message Date
Kyle Brennan
58c9a1808a
[ws-manager-mk2] update to support k8s 0.30 API (#20580)
* [go components] Fixed "go test ./..." in various components

Tool: gitpod/catfood.gitpod.cloud

* [go components] Update k8s 0.29.3 -> 0.30.9 API

 - update the go-update-wc-deps.sh script to handle the brunt of that transition
 - fixes Maintenance- + Subscriber-Controller
 - document steps

Tool: gitpod/catfood.gitpod.cloud

* [ws-manager-mk2] Decide how to apply appamor config based on serverversion to support k8s 1.30+

Tool: gitpod/catfood.gitpod.cloud

* [gpctl] Missing go mod tidy

Tool: gitpod/catfood.gitpod.cloud

* Replace vulnerable outcaste-io/badger/v3 with original dgraph-io/badger/v3

Tool: gitpod/catfood.gitpod.cloud

* more go mod tidy

Tool: gitpod/catfood.gitpod.cloud

* [image-builder-bob, installer] Select the correct version of containerd....

Tool: gitpod/catfood.gitpod.cloud

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2025-02-07 03:58:22 -05:00
Kyle Brennan
8179aed523
[ws-manager-mk2] allow the k8s client a higher limit (#19695)
This helps unblock consumers, such as gRPC and controller reconcilation.

The side effects are:
* the longest running reconcilation for mk2 is no longer 2s, it floats between 250-600ms.
* mk2  workqueue latency is consistent, and the duration doesn't become excessive anymore.
* mk2 work queue depth is high now, but, flattens as start workspace requests cease, and drops as workspaces stop (MarkActive volume)
* increased memory utilization for the API server (it doubles)
2024-05-02 02:55:41 +08:00
Pudong
8b0382173c
[ws-mananger-mk2] fix metrics (#19586) 2024-03-28 15:28:37 +01:00
Manuel Alejandro de Brito Fontes
5992b0f614
Update go dependencies (#19577)
* Update go dependencies

* Update S3

* Caddy plugins cannot use 1.22

* Update controller runtime signatures

* Update webhook suite test

* Update IPFS signatures

* Update go modules

* Update ipfs-cluster to v1.0.8

* Fix node-labeler build

* Fix IPFS CID parsing

* Update ipfs-cluster version

* Update controller-runtime signature

* Update statefulset signature

* Disable controller-runtime metrics

* Add comments
2024-03-26 20:55:35 +01:00
Pudong
10fe5b9699
[sshgateway] use ssh CA to auth (#19147)
* [sshgateway] use ssh CA to auth

* change name

* add error log

* fix

* mark volume optional

* [installer] validate ssh-ca secret

* Revert "[installer] validate ssh-ca secret"

This reverts commit ca6ede78a7b5a720fd315eca32eb277cb5063069.

We must support the scenario where the installer has the secret, but, it is not in the cluster yet.

---------

Co-authored-by: Kyle Brennan <kyle@gitpod.io>
2023-11-30 19:17:08 +02:00
Pudong
81ff3d16e4
[ws-manager-mk2] redact log (#18906)
* update to logrusr v4

* Add DeepCopyStruct to scrubber

* use DeepCopyStruct to scrub log

* mark wrokspace.stauts.url redact
2023-10-16 13:48:23 +03:00
Wouter Verlaek
9ff81ee69e
Add maintenance metric (#18703) 2023-09-12 13:25:52 +02:00
Manuel Alejandro de Brito Fontes
887a8b55e4
Avoid ws-manager-mk2 metrics duplication (#18625) 2023-09-04 19:44:01 +02:00
Manuel Alejandro de Brito Fontes
687f337899
Enable leader election in ws-manager-mk2 (v3) (#18539)
* Enable leader election in ws-manager-mk2

* Update go modules

* Move workspace activity to CRD

* Remove workspace activity

* Cleanup

* Update ws-manager-mk2 CRD

* Cleanup

* Restore lastActivity logic

* TEST

* Disable observability

* Start the grpc server after leader election

* Bount the source of subscribers to an informer

* Cleanup

* Avoid deepCopy

* Remove goroutine to execute OnReconcile

* Refactor last activity to be consistent acrtoss the controllers

* Address feedback
2023-08-26 22:28:52 +02:00
Manuel Alejandro de Brito Fontes
7e3ccd1197
Revert "Enable leader election in ws-manager-mk2 (#18511)" (#18537)
This reverts commit 2838b782309bb22b9341b2cf7ead718fc34bcba8.
2023-08-17 13:02:43 +02:00
Manuel Alejandro de Brito Fontes
2838b78230
Enable leader election in ws-manager-mk2 (#18511)
* Enable leader election in wa-manager-mk2

* Switch to four parallel tests

* Cleanup

* Update activity started time after leader election

* Count maintenance test failures

* Wait before updating the activity started time
2023-08-17 11:13:43 +02:00
Manuel Alejandro de Brito Fontes
02b5cbe5ac
Revert "Enable leader election in ws-manager-mk2 (#18419)" (#18508)
This reverts commit 12d743072f0d287c3e1a9218016e3825f09a4836.
2023-08-14 11:54:40 +02:00
Manuel Alejandro de Brito Fontes
12d743072f
Enable leader election in ws-manager-mk2 (#18419)
* Enable leader election in wa-manager-mk2

* Remove old flag
2023-08-14 10:28:40 +02:00
Wouter Verlaek
85324b6951
[ws-manager-mk2] Refactor lastActivity (#17548) 2023-05-11 15:29:56 +08:00
Wouter Verlaek
ce04b77c29
[ws-manager-mk2] Maintenance continue reconciles (#17136) 2023-04-28 05:42:36 +08:00
Thomas Schubart
c5efa71b4d
[wsman-mk2] Emit event for timed out workspaces (#17003) 2023-03-23 17:38:16 +01:00
Wouter Verlaek
2155667050
[ws-manager-mk2] Use common-go/log (#16921) 2023-03-21 11:36: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
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
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
6694cf138b
[ws-manager-mk2] Enable tracing, add debug logs (#16643) 2023-03-06 16:22:03 +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
8fcec5e4f5 [ws-manager-mk2] Fix workspace URL 2023-02-15 10:55:19 +01:00
Wouter Verlaek
172c58c0eb [ws-manager-mk2] Workspace timeouts 2023-02-10 10:49:15 +01:00
Thomas Schubart
ab0ab235d3 [ws-manager-mk2] Ensure values are set despite update conflict 2023-02-09 12:30:14 +01:00
Thomas Schubart
1cf621f4c9 [ws-manager-mk2] Support tls for imagebuilder proxy 2023-02-09 12:30:14 +01:00
Wouter Verlaek
971c3d6412 [ws-manager-mk2] Implement MarkActive 2023-02-07 10:51:45 +01:00
Wouter Verlaek
8601821885 [ws-manager-mk2] Configure leader election 2023-02-03 15:02:42 +01:00
Thomas Schubart
63f168ab38 [ws-manager-mk2] Add metrics 2023-01-30 23:22:38 +01:00
Thomas Schubart
2e5ac7e4de [ws-manager-mk2] Register metrics 2023-01-30 23:22:38 +01:00
Wouter Verlaek
3651262ba2 [ws-manager-mk2] Configure health probes and leader election 2023-01-27 04:12:34 +01:00
Christian Weichel
abeea17ab5 Move ws-manager-mk2 CRD to API package 2023-01-23 14:14:30 +01:00
Christian Weichel
3b835ef533 Integrate content init and disposal 2023-01-23 14:14:30 +01:00
Christian Weichel
d147fd1c58 [ws-manager-mk2] Add gRPC service 2023-01-23 14:14:30 +01:00
Christian Weichel
a4f800583d Debug commit: about to start the controller 2023-01-23 14:14:30 +01:00
Christian Weichel
02aeede401 [ws-manager-mk2] Add validating webhook 2023-01-23 14:14:30 +01:00
Christian Weichel
cef3909630 Initial ws-manager-mk2 commit 2023-01-23 14:14:30 +01:00