40 Commits

Author SHA1 Message Date
Manuel Alejandro de Brito Fontes
692963d2e9
Update containerd and buildkit go modules (#19376)
* Update containerd and buildkit go modules

* Fix build

* Fix typecheck errors

---------

Co-authored-by: Thomas Schubart <thomas@gitpod.io>
2024-02-01 20:22:44 +02: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
b983b6276f
[ws-manager] use workspace class description (#19164) 2023-11-29 14:11:06 +02:00
Christian Weichel
bb51f07988
Collect workspace classes from workspace cluster (#19003)
* Extend ws-manager API to support workspace class descriptions

fixes ENG-1065

* Extend  DescribeCluster in ws-manager-mk2

to acurately report the available workspace classes

fixes ENG-1066

* Add workspace classes to cluster in DB

* Intergrate workspace cluster collection in ws-manager-bridge

* Feature flag off discovered workspace class usage

* Fix build

* Add unittest for getSupportedWorkspaceClasses

* Fix workspace class storage

* Adress review feedback
2023-11-10 13:13:48 +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
f27b16ee31
Add support for pod disruption budget (#18547) 2023-08-25 22:06:51 +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
Kyle Brennan
34b4602286
[ws-manager-mk2] remove experimental mode feature (#18513)
* [installer] remove experimental mode

* [ws-manager-mk2] remove experimental node selector

* [ws-manager-api] remove ExperimentalMode from configuration

* Add `ws-manager-api` to vscode workspace

* [preview] remove experimental & bump deps

Depends on https://github.com/gitpod-io/gitpod-packer-gcp-image/pull/246

* [preview] LocalStorageCapacityIsolation is GA, no needed as a gate in 1.27
2023-08-15 06:37:41 +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
Manuel Alejandro de Brito Fontes
de4bbbea1c
Add a new trust bundle for custom SSL certificates (#18450)
* Add a new trust bundle for custom SSL certificates

* Mount the customer certificate in the workspace

* Use the custom certificate in components

* Cleanup

* Set env variables and mount the crt in a different file

* rename custom ca cert file name

* Fix the filename in env vars

* Enable custom SSL certificate conditionally

---------

Co-authored-by: nandajavarma <nandaja.varma@gmail.com>
2023-08-08 16:46:34 +02:00
Thomas Schubart
2cab1406dd
[ws-manager-mk2] Remove persistent volume claim feature (#17860)
* [ws-daemon] Remove PVC

* [installer] Remove PVC

* [workspacekit] Remove PVC

* [content] Remove PVC

* [preview] Remove PVC

* [wsman-api] Remove PVC

* [ws-daemon-api] Remove PVC

* [workspacekit] Mount workspace directory

* [supervisor] Remove PVC

* [test] Remove PVC

* Fix build
2023-06-13 18:35:04 +08:00
Thomas Schubart
460875058f
[ws-manager-mk2] Remove ws-manager-mk2 from experimental section (#17848)
* [wsman-mk2] Remove ws-manager-mk2 from experimental

* [ws-daemon] Remove readiness check for service

* [ws-daemon] Use mk2 working area only

* [preview] Remove mk2 customization

* [installer] Remove constant
2023-06-06 22:56:57 +08:00
Thomas Schubart
2fb046fc1c
[wsman-mk2] Remove ws-manager-mk1 (#17738) 2023-05-25 17:05:59 +08:00
Wouter Verlaek
8861acb8a3
[ws-manager-mk2] Remove maintenance CM from installer (#17693) 2023-05-23 17:05:57 +08:00
Thomas Schubart
476d0929e7
Seperate mk1 and mk2 deployment (#17201)
* [installer] Only deploy one ws-manager

* [installer] Adapt image builder

* [installer] Update ws-proxy

* [installer] Review comment
2023-04-14 14:22:53 +02:00
Wouter Verlaek
dc68610c0e
[ws-manager-mk2] Ignore container killed failures (#17118)
* [ws-manager-mk2] Ignore container killed failures

* ClusterRole + Binding
2023-03-31 23:31:41 +02:00
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
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
Wouter Verlaek
f51a377471
[installer] Fix ClusterIssuerKind for mk2 (#16950)
* [installer] Fix ClusterIssuerKind for mk2

* Remove setup init container
2023-03-21 21:05:13 +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
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
Manuel Alejandro de Brito Fontes
97f8d4b802
Ensure the spread of pods on different nodes (#16810)
* Ensure the spread of pods on different nodes

* Replace string ClusterFirst

* Replace Always string in DNSPolicy

* Fix registry-facade affinity

* Fix ws-proxy affinity

* Address feedback

* Update golden files
2023-03-15 10:21: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
ee9ea036d7
[ws-manager-mk2] Fix stopped status (#16665) 2023-03-06 16:28: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
Thomas Schubart
400be836fb
[ws-manager-mk2] Protect environment secrets (#16601)
* [installer] Configure RBAC access to secrets

* [wsman-mk2] Create environment workspace secret

* [wsman-mk2] Delete workspace secret after start/stop

* [ws-manager-mk2] Update tests

* [ws-manager-mk2] Remove poll
2023-03-06 12:42:03 +01:00
Thomas Schubart
0f190439c2
[ws-manager-mk2] Setup separate image builder deployment for mk2 (#16519)
* [installer] Setup seperate image builder deployment for mk2

* [image-builder] Route to wsman-mk2

* [wsman-mk2] Set default class

* [installer] Update render tests

* [ws-manager-mk2] Use image builder secret

* [image-builder] Update render tests
2023-03-02 12:31:59 +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
172c58c0eb [ws-manager-mk2] Workspace timeouts 2023-02-10 10:49:15 +01:00
Wouter Verlaek
8601821885 [ws-manager-mk2] Configure leader election 2023-02-03 15:02:42 +01:00
Wouter Verlaek
3651262ba2 [ws-manager-mk2] Configure health probes and leader election 2023-01-27 04:12:34 +01:00
Wouter Verlaek
1bf2bd4cf6 [ws-manager-mk2] Rename TLS secrets 2023-01-24 12:54:31 +01:00
Thomas Schubart
445b834d59 [installer] Use new node label and update golden files 2023-01-23 14:14:30 +01:00
Thomas Schubart
9490cc90f2 [installer] Fix content init 2023-01-23 14:14:30 +01:00
Thomas Schubart
4d536ffb1d [installer] Add tls for image builder 2023-01-23 14:14:30 +01:00
Thomas Schubart
53b5de84da Fix build 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
8caac1cd5b [ws-manager-mk2] Integrate into installer 2023-01-23 14:14:30 +01:00