[PR #12] [CLOSED] Features/lobbies #15

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

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/fenrir/pull/12
Author: @axolotlite
Created: 6/14/2026
Status: ❌ Closed

Base: main ← Head: features/lobbies


📝 Commits (8)

  • 07d3819 initialize skaffold
  • 23842ec add user controller to allow specifying the user in the pin page
  • a263023 replace init container with script configmap
  • 13cab13 better pin URL Generation handling and removed user controller
  • 4d9c326 add updated crd
  • f30855a update skaffold and operator to allow specifying wolf-agent image
  • 5323b7c allow custom wolf-agent operator paramter
  • bcbcc79 initial implementation of lobbies in preparation for moving wolf-agent to daemonsets

📊 Changes

45 files changed (+3804 additions, -1685 deletions)

View changed files

➕ .air.toml (+18 -0)
📝 Dockerfile (+1 -1)
➕ Dockerfile.dev (+23 -0)
📝 charts/direwolf-operator/values.yaml (+19 -1)
📝 cmd/moonlight-proxy/main.go (+20 -9)
📝 cmd/operator/main.go (+44 -16)
➕ crds/direwolf.games-on-whales.github.io_lobbies.yaml (+197 -0)
📝 crds/direwolf.games-on-whales.github.io_sessions.yaml (+18 -0)
📝 crds/direwolf.games-on-whales.github.io_users.yaml (+2 -0)
📝 examples/generic_devices/firefox.yaml (+7 -4)
📝 examples/generic_devices/user.yaml (+15 -3)
📝 examples/install.yaml (+19 -1)
📝 hack/devbox.yaml (+314 -58)
➕ pkg/api/v1alpha1/lobby.go (+81 -0)
📝 pkg/api/v1alpha1/session.go (+11 -0)
📝 pkg/api/v1alpha1/user.go (+3 -1)
📝 pkg/api/v1alpha1/zz_generated.deepcopy.go (+154 -0)
📝 pkg/api/v1alpha1/zz_generated.register.go (+2 -0)
📝 pkg/controllers/agent.go (+84 -11)
➕ pkg/controllers/lobby.go (+884 -0)

...and 25 more files

📄 Description

This uses a similar system to Wolf-ui, where users have their own sessions, while wolf creates a lobby for each application.
This allows resuming games without issue, or pod restarts.

This is in preparation for moving wolf-agent from a container inside the pod, into a daemonset on nodes, allowing applications / games to be in their own pod, while wolf-agent + Pulse Audio become a singular pod on each node, allowing each node to manage it's streaming sessions / lobbies without launching a new wolf container per application.


🔄 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/12 **Author:** [@axolotlite](https://github.com/axolotlite) **Created:** 6/14/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `features/lobbies` --- ### 📝 Commits (8) - [`07d3819`](https://github.com/games-on-whales/fenrir/commit/07d381984b6c40f8a4c702cd6497995ea84fd233) initialize skaffold - [`23842ec`](https://github.com/games-on-whales/fenrir/commit/23842ecf6624ee865f95e732755422e82957879c) add user controller to allow specifying the user in the pin page - [`a263023`](https://github.com/games-on-whales/fenrir/commit/a263023798f9d61739d6dd90ba5031160bb2fbf9) replace init container with script configmap - [`13cab13`](https://github.com/games-on-whales/fenrir/commit/13cab130e90db4d72aacff2288989bc2bfd15d47) better pin URL Generation handling and removed user controller - [`4d9c326`](https://github.com/games-on-whales/fenrir/commit/4d9c326b3db26d248efb37b67c6e93f23332230e) add updated crd - [`f30855a`](https://github.com/games-on-whales/fenrir/commit/f30855a80e50dc1a26508fec6625522760dbb3d2) update skaffold and operator to allow specifying wolf-agent image - [`5323b7c`](https://github.com/games-on-whales/fenrir/commit/5323b7c9b9977efe9c7c5c6a75824398a8448a02) allow custom wolf-agent operator paramter - [`bcbcc79`](https://github.com/games-on-whales/fenrir/commit/bcbcc79336e771b7d85cd3e1d5554ef41c8a9a17) initial implementation of lobbies in preparation for moving wolf-agent to daemonsets ### 📊 Changes **45 files changed** (+3804 additions, -1685 deletions) <details> <summary>View changed files</summary> ➕ `.air.toml` (+18 -0) 📝 `Dockerfile` (+1 -1) ➕ `Dockerfile.dev` (+23 -0) 📝 `charts/direwolf-operator/values.yaml` (+19 -1) 📝 `cmd/moonlight-proxy/main.go` (+20 -9) 📝 `cmd/operator/main.go` (+44 -16) ➕ `crds/direwolf.games-on-whales.github.io_lobbies.yaml` (+197 -0) 📝 `crds/direwolf.games-on-whales.github.io_sessions.yaml` (+18 -0) 📝 `crds/direwolf.games-on-whales.github.io_users.yaml` (+2 -0) 📝 `examples/generic_devices/firefox.yaml` (+7 -4) 📝 `examples/generic_devices/user.yaml` (+15 -3) 📝 `examples/install.yaml` (+19 -1) 📝 `hack/devbox.yaml` (+314 -58) ➕ `pkg/api/v1alpha1/lobby.go` (+81 -0) 📝 `pkg/api/v1alpha1/session.go` (+11 -0) 📝 `pkg/api/v1alpha1/user.go` (+3 -1) 📝 `pkg/api/v1alpha1/zz_generated.deepcopy.go` (+154 -0) 📝 `pkg/api/v1alpha1/zz_generated.register.go` (+2 -0) 📝 `pkg/controllers/agent.go` (+84 -11) ➕ `pkg/controllers/lobby.go` (+884 -0) _...and 25 more files_ </details> ### 📄 Description This uses a similar system to Wolf-ui, where users have their own sessions, while wolf creates a lobby for each application. This allows resuming games without issue, or pod restarts. This is in preparation for moving wolf-agent from a container inside the pod, into a daemonset on nodes, allowing applications / games to be in their own pod, while wolf-agent + Pulse Audio become a singular pod on each node, allowing each node to manage it's streaming sessions / lobbies without launching a new wolf container per application. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:46:39 +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#15
No description provided.