Commit Graph

172 Commits

Author SHA1 Message Date
Eder Ignatowicz f852c1683e
Notebooks 2.0 // Backend // List Workspaces API (#60)
Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>
2024-09-23 21:54:32 +00:00
Mathew Wicks b0af8ae418
feat(ws): use controller-runtime for backend (#43)
* feat(ws): use controller-runtime with backend

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

* revert healthcheck to normal results

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

---------

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-09-14 20:18:24 +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
Jiri Daněk e4e0aff6d6
ci(ws): run `make test-e2e` on GitHub Actions (#11)
* run the kubebuilder e2e test

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

* fixup cluster must be named kind

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

* fixup, specify kind version

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

* mathew commit 1

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

* mathew commit 2

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-08-06 01:00: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 50fda656e8
test(ws): add safety prompt for E2E test execution (#28)
* test(ws): add safety prompt for E2E test execution

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>

---------

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-05 16:42:39 +00:00
Eder Ignatowicz 574ed81e65
chore(ws): remove unused libraries `react-axe` and `react-docgen-typescript-loader` (#24)
Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>
2024-07-18 16:39:57 +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
Eder Ignatowicz b0367e8b3d
feat(ws): initial commit for frontend (#19)
* feat: client ui frontend scaffolding

In this PR:
- UI frontend scaffolding
- Github Action for frontend and backend

Most of the content of this PR is extract from https://github.com/patternfly/patternfly-react-seed/tree/v6. Thank you so much patternfly team for the seed!

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>

* Changes requested by code review

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>

* Fixing icons

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>

---------

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>
2024-06-28 00:48:41 +00:00
Mathew Wicks 3e89605c4d
chore: clean up OWNERS file (avoid non-maintainers) (#17)
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-06-24 19:06:09 +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
Eder Ignatowicz a42f0a3e13
feat(ws): add kubernetes client to backend (#15)
* feat (ws): Backend Kubernetes client

- Creation of Kubernetes Client;
- Wrapping the client on application;

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>

* Update workspaces/backend/cmd/main.go

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

* Adding .docker ignore

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>

---------

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>
Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-06-08 19:25:05 +00:00
Eder Ignatowicz 9a945fb4bb
feat(ws): initial commit for backend (#7)
* feat(ws): initial commit for backend

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>

* Fixing docker build

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>

* Fixing git ignore

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>

---------

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>
2024-05-31 00:45:52 +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
Mathew Wicks 04d25717d8
Update README with warning about migration (#2)
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-05-09 15:21:44 +00:00
Mathew Wicks f2b5a30849
add README and `.gitignore` (#1)
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
2024-05-03 13:24:51 +00:00
James Liu 4ffb27b136
Create OWNERS
Grant initial permission necessary to set up the repo
2024-05-02 10:11:42 -07:00
James Liu b7dc3a819d
Initial commit 2024-05-02 10:09:50 -07:00