[PR #53] [MERGED] Wolf-Agent DRA: Update App CRD & Session controller to use statefulsets instead of deployments #53

Closed
opened 2026-10-15 12:47:02 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/fenrir/pull/53
Author: @axolotlite
Created: 7/26/2026
Status: ✅ Merged
Merged: 8/20/2026
Merged by: @axolotlite

Base: staging ← Head: chore/restructure-structs


📝 Commits (9)

  • 79fc045 [lobby] init lobby crd and wolfapi client
  • afa9868 [wolfapi] remove app since it's not needed
  • 3c7f7cb [session] remove commented out gatewayapi and configmap code
  • f3d9485 [session] move from deployment to statefulset
  • f1bda63 [session: wolf-container] comment out HOST_APPS_STATE_FOLDER
  • 51a7e1a [lint] apply linter recommendations
  • 826306f [lint] apply auto fixes
  • 24450bd Merge branch 'staging' into chore/restructure-structs
  • 619ad61 [dev] apply statefulset to the direwolf operator

📊 Changes

44 files changed (+2952 additions, -1261 deletions)

View changed files

📝 cmd/operator/main.go (+2 -2)
📝 crds/direwolf.games-on-whales.github.io_apps.yaml (+460 -210)
➕ crds/direwolf.games-on-whales.github.io_lobbies.yaml (+197 -0)
📝 crds/direwolf.games-on-whales.github.io_profiles.yaml (+17 -0)
📝 crds/direwolf.games-on-whales.github.io_sessions.yaml (+2 -2)
📝 examples/firefox.yaml (+12 -2)
📝 examples/generic_devices/firefox.yaml (+11 -3)
📝 examples/nvidia_devices/firefox.yaml (+12 -2)
📝 examples/volume_mounts/firefox.yaml (+12 -2)
📝 hack/deploy/02-direwolf-operator.yaml (+1 -1)
📝 hack/update-codegen.sh (+1 -1)
📝 pkg/api/v1alpha1/app.go (+9 -8)
➕ pkg/api/v1alpha1/lobby.go (+85 -0)
📝 pkg/api/v1alpha1/session.go (+2 -2)
📝 pkg/api/v1alpha1/zz_generated.deepcopy.go (+144 -9)
📝 pkg/api/v1alpha1/zz_generated.defaults.go (+114 -116)
📝 pkg/api/v1alpha1/zz_generated.register.go (+2 -0)
📝 pkg/controllers/agent.go (+8 -0)
📝 pkg/controllers/session.go (+115 -475)
📝 pkg/controllers/session_test.go (+10 -15)

...and 24 more files

📄 Description

This PR aims to update the crds, mainly the App.
It also adds the lobby crd in preparation for the operator changes.

The main change however, is moving to statefulsets.

Sections handled from the task list:

This PR Task list / TODO:

  • Update the structs
    • Create the Lobby Struct based on wolf's wolf__api__CreateLobbyRequest
    • Update the Application CRD to implement a statefulset instead of a Deployment
    • Remove the existing wolf configs from the profile CRD
      • update the examples? probably just wait

The session tests are failing, however, the entire session operator is going to get rehauled and split into session + lobby controllers once the kubelet plugin is done.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/fenrir/pull/53 **Author:** [@axolotlite](https://github.com/axolotlite) **Created:** 7/26/2026 **Status:** ✅ Merged **Merged:** 8/20/2026 **Merged by:** [@axolotlite](https://github.com/axolotlite) **Base:** `staging` ← **Head:** `chore/restructure-structs` --- ### 📝 Commits (9) - [`79fc045`](https://github.com/games-on-whales/fenrir/commit/79fc04506f6c972d68925606ada552055fbf596c) [lobby] init lobby crd and wolfapi client - [`afa9868`](https://github.com/games-on-whales/fenrir/commit/afa9868b4146c91ab7caece72a525b15e76d4f13) [wolfapi] remove app since it's not needed - [`3c7f7cb`](https://github.com/games-on-whales/fenrir/commit/3c7f7cb5ad1368efc08f8c54b74e54aaae324d42) [session] remove commented out gatewayapi and configmap code - [`f3d9485`](https://github.com/games-on-whales/fenrir/commit/f3d948502efc8f118f45f4f7990e724db03d14d8) [session] move from deployment to statefulset - [`f1bda63`](https://github.com/games-on-whales/fenrir/commit/f1bda63bd096fe7ea8651dfa0415aeff3f8f3f7b) [session: wolf-container] comment out HOST_APPS_STATE_FOLDER - [`51a7e1a`](https://github.com/games-on-whales/fenrir/commit/51a7e1a93a7d7bd9833969597a110adb9dd8145b) [lint] apply linter recommendations - [`826306f`](https://github.com/games-on-whales/fenrir/commit/826306f03417e6f6f38f4224d248c331cbb1dee5) [lint] apply auto fixes - [`24450bd`](https://github.com/games-on-whales/fenrir/commit/24450bd4e43ef2976a2b94fe8c712eb46b704f20) Merge branch 'staging' into chore/restructure-structs - [`619ad61`](https://github.com/games-on-whales/fenrir/commit/619ad61450a714834c6d3568ee7fa9ebd9d5a3fe) [dev] apply statefulset to the direwolf operator ### 📊 Changes **44 files changed** (+2952 additions, -1261 deletions) <details> <summary>View changed files</summary> 📝 `cmd/operator/main.go` (+2 -2) 📝 `crds/direwolf.games-on-whales.github.io_apps.yaml` (+460 -210) ➕ `crds/direwolf.games-on-whales.github.io_lobbies.yaml` (+197 -0) 📝 `crds/direwolf.games-on-whales.github.io_profiles.yaml` (+17 -0) 📝 `crds/direwolf.games-on-whales.github.io_sessions.yaml` (+2 -2) 📝 `examples/firefox.yaml` (+12 -2) 📝 `examples/generic_devices/firefox.yaml` (+11 -3) 📝 `examples/nvidia_devices/firefox.yaml` (+12 -2) 📝 `examples/volume_mounts/firefox.yaml` (+12 -2) 📝 `hack/deploy/02-direwolf-operator.yaml` (+1 -1) 📝 `hack/update-codegen.sh` (+1 -1) 📝 `pkg/api/v1alpha1/app.go` (+9 -8) ➕ `pkg/api/v1alpha1/lobby.go` (+85 -0) 📝 `pkg/api/v1alpha1/session.go` (+2 -2) 📝 `pkg/api/v1alpha1/zz_generated.deepcopy.go` (+144 -9) 📝 `pkg/api/v1alpha1/zz_generated.defaults.go` (+114 -116) 📝 `pkg/api/v1alpha1/zz_generated.register.go` (+2 -0) 📝 `pkg/controllers/agent.go` (+8 -0) 📝 `pkg/controllers/session.go` (+115 -475) 📝 `pkg/controllers/session_test.go` (+10 -15) _...and 24 more files_ </details> ### 📄 Description This PR aims to update the crds, mainly the App. It also adds the lobby crd in preparation for the operator changes. The main change however, is moving to statefulsets. Sections handled from the task list: **This PR Task list / TODO:** - [ ] Update the structs - [x] Create the Lobby Struct based on wolf's wolf__api__CreateLobbyRequest - [x] Update the Application CRD to implement a statefulset instead of a Deployment - [ ] Remove the existing wolf configs from the profile CRD - [ ] update the examples? probably just wait The session tests are failing, however, the entire session operator is going to get rehauled and split into session + lobby controllers once the kubelet plugin is done. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:47:02 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/fenrir#53
No description provided.