mirror of
https://github.com/games-on-whales/fenrir.git
synced 2026-10-15 12:51:53 +00:00
[PR #56] Wolf-Agent DRA: Direwolf Operator Implementation #57
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/fenrir#57
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/fenrir/pull/56
Author: @axolotlite
Created: 8/20/2026
Status: 🔄 Open
Base:
staging← Head:feature/direwolf-dra📝 Commits (10+)
7183a93Squashed commit of the following:acfc1eb[session] cleanup profileadc6d61[lobby] initial dra implementationacf4bbc[moonlight + session] refactor and allow stream + connectionbeac224[moonlight] initial implementation of session resumingb8ab47d[direwolf] split lobby logic from session controller into lobby controllerb39f9f2[examples] update generic devices example to use the dra68f1092[session+pairing] implement per device client settings4b08129[lobby] allow user to define device class in their applicationsb09ae63[crds] commit updated crds📊 Changes
69 files changed (+4559 additions, -9144 deletions)
View changed files
📝
.dockerignore(+0 -1)📝
Dockerfile.dev(+4 -1)📝
cmd/moonlight-proxy/main.go(+1 -0)📝
cmd/operator/main.go(+31 -24)📝
cmd/wolf-agent/main.go(+245 -178)📝
crds/direwolf.games-on-whales.github.io_apps.yaml(+6 -60)📝
crds/direwolf.games-on-whales.github.io_lobbies.yaml(+17 -16)📝
crds/direwolf.games-on-whales.github.io_pairings.yaml(+25 -0)📝
crds/direwolf.games-on-whales.github.io_profiles.yaml(+0 -3440)📝
crds/direwolf.games-on-whales.github.io_sessions.yaml(+27 -0)📝
examples/generic_devices/firefox.yaml(+5 -29)➕
examples/generic_devices/firefox2.yaml(+43 -0)📝
examples/generic_devices/profile.yaml(+3 -39)➕
hack/deploy/01-wolf-agent-standalone.yaml(+281 -0)📝
hack/deploy/01-wolf-agent.yaml(+145 -19)📝
hack/deploy/02-direwolf-operator.yaml(+12 -3)📝
hack/deploy/02-moonlight-proxy.yaml(+4 -62)📝
hack/deploy/03-misc.yaml(+240 -1)➕
hack/resources/device_classes/README.md(+6 -0)➕
hack/resources/device_classes/default_device_class.yaml(+11 -0)...and 49 more files
📄 Description
This PR updates:
Refactored the code and removed unused sections from the gateway api code.
The operator now works on a single node, provided they share an IP with:
Once the statefulset is ready, the moonlight proxy informs the moonlight client to start the stream.
since the moonlight proxy and wolf-agent share the same IP, the moonlight client will be able to successfully stream it.
There are a lot of refinments left, but I'm hoping to do those in another PR during the multi-node implementation.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.