Commit Graph

13 Commits

Author SHA1 Message Date
aTheo 91484fee07
feat(ws): retry failed reconciles much less aggressively (#256)
* feat:Notebooks 2.0 // retry reconciliation failures less aggressively

Signed-off-by: Adriana Theodorakopoulou <atheodorak@outlook.com>

* mathew: fixes 1

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Adriana Theodorakopoulou <atheodorak@outlook.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2025-04-15 23:12:23 +00:00
Mathew Wicks 6f147902d7
feat(ws): add `podTemplatePod` to Workspace status, for backend logs (#210)
* feat(ws): add `podTemplatePod` to Workspace status, for backend logs

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* remove accidental diff

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2025-02-14 22:05:37 +00:00
Mathew Wicks e1da4cad78
fix(ws): handle empty pod metadata in controller (#193)
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2025-02-04 17:23:36 +00:00
Mathew Wicks e920dd99de
chore: update go linting + update dependencies for controller (#137)
* chore: update controller kubebuilder

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* chore: add new controller linting

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* chore: update backend (similar to controller kubebuilder update)

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* chore: add new backend linting

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-12-02 16:56:58 +00:00
Adem Baccara bc4e4454bc
feat(ws): add validation webhooks for Workspace and WorkspaceKind (#34)
* add validating webhook

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* add tests for workspacekind and workspace webhooks

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* re-add cert-manager

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* refactor  ValidateCreate and ValidateUpdate functions in wokrspaceKind webhook

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* add e2e test for webhooks

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* mathew refactor 1

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* mathew refactor 2

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* mathew refactor 3

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-08-29 00:14:03 +00:00
Adem Baccara 38b8955d68
feat(ws): set `status.pauseTime` on workspace (#26)
* feat(ws): populate the status.pauseTime on the workspace

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* test(ws): add unit test

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* mathew commit 1

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-08-06 01:42:39 +00:00
Adem Baccara 12610f06e9
test(ws): add e2e tests (#30)
* test(ws): add e2e tests

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* mathew updates 1

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* mathew updates 2

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-08-06 00:40:39 +00:00
Adem Baccara 0cacff77ee
feat(ws): initial Workspace and WorkspaceKind controller loops (#22)
* feat(ws): implement a reconciliation loop for the workspace

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* remove comments

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* add correct rbac permission for controller

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* implemented collision handling using ownerReferences

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* update the status field during workspace reconciliation

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* add watcher to workspace kind

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* handle the case that multiple ports are specified for an image

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* generate correctly the StatefulSet spec

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* set status.state of the Workspace

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* add rbac permission for configmap

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* update dockerfile

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* mathew updates

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* mathew updates 2

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* mathew updates 3

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* fix todos

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* mathew updates 4

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* handle extraEnv value replacement

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>

* mathew updates 5

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* mathew updates 6

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Adem Baccara <71262172+Adembc@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-07-15 21:21:55 +00:00
Mathew Wicks ca78327ea5
fix(ws): use correct `nodeSelector` type and add CRD validation tests (#21)
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-07-05 19:38:48 +00:00
Mathew Wicks a8de501944
feat(ws): add `containerSecurityContext` to WorkspaceKind (#20)
* feat(ws): add `containerSecurityContext` to WorkspaceKind + cleanup descriptions

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* feat(ws): make all optional fields go pointers

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* feat(ws): remove `readOnlyRootFilesystem=true` from tests

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-06-30 17:01:43 +00:00
Mathew Wicks 565a740adf
feat(ws): update `Workspace` and `WorkspaceKind` definitions (#16)
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-06-21 19:00:07 +00:00
Jiri Daněk 0ff4d0371a
feat(ws): add `Workspace` and `WorkspaceKind` CRD scaffolds (#6)
* feat(ws): add `Workspace` and `WorkspaceKind` CRD scaffolds

Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* fixup, regenerate WOrkspaceKind to be cluster scope

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* fixes to crd spec

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* updates to CRD spec

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Jiri Daněk <jdanek@redhat.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-06-19 01:00:59 +00:00
Jiri Daněk 20a3de3bd7
feat(ws): initial commit for controller (#5)
* feat: Generate kubebuilder project

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* fixup add unittests gha

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* fixup disable permissions for all of the available scopes

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* fixup add triggers for release branches

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* fixup remove duplicated gitignores

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* fixup remove workflow dispatch

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* Apply suggestions from code review

Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* fixup rename the project to workspace-controller

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

* fixup update kubebuilder to 3.15

https://github.com/kubernetes-sigs/kubebuilder/releases/tag/v3.15.0

Signed-off-by: Jiri Daněk <jdanek@redhat.com>

---------

Signed-off-by: Jiri Daněk <jdanek@redhat.com>
2024-05-23 18:36:26 +00:00