[PR #50] [MERGED] Wolf-Agent DRA: Development environment setup recipees in the Makefile #51

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

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/fenrir/pull/50
Author: @axolotlite
Created: 7/24/2026
Status: ✅ Merged
Merged: 7/30/2026
Merged by: @axolotlite

Base: staging ← Head: chore/update-skaffold


📝 Commits (10+)

  • 8dc83a3 [dev] add kind cluster config and initial Makefile commands
  • 7d42181 [dev] add metallb to cluster-setup
  • 175ac29 [dev] add metallb ip pool setup to cluster-setup recipe
  • 21fde70 [dev] add dependency between cluster-ippool and cluster-metallb
  • ec7523d [dev] remove taint from kind controlplane
  • e7172a0 [dev] add generic devices yaml manifests
  • 39210c1 [dev] segregate each operator into it's manifest and add them to the Makefile
  • b5b6fbb [dev] add wolf-agent placeholder manifests and update skaffold
  • 66552bb [dev] add default profile and firefox app to resources
  • 2d42da3 [dev] add README.md instructions

📊 Changes

16 files changed (+679 additions, -159 deletions)

View changed files

📝 .dockerignore (+3 -0)
📝 Makefile (+43 -1)
➕ hack/README.md (+37 -0)
➕ hack/additions/amd-generic-device-plugin.yaml (+53 -0)
➕ hack/additions/generic-device-plugin.yaml (+52 -0)
➕ hack/additions/nvidia-generic-device-plugin.yaml (+56 -0)
➕ hack/deploy/00-namespace.yaml (+4 -0)
➕ hack/deploy/01-wolf-agent.yaml (+110 -0)
➕ hack/deploy/02-direwolf-operator.yaml (+118 -0)
📝 hack/deploy/02-moonlight-proxy.yaml (+9 -150)
➕ hack/deploy/03-misc.yaml (+17 -0)
➕ hack/kind-cluster-config.yaml (+26 -0)
➕ hack/resources/firefox.yaml (+60 -0)
➕ hack/resources/profile.yaml (+50 -0)
➕ hack/templates/metallb-ip-pool.yaml (+14 -0)
📝 skaffold.yaml (+27 -8)

📄 Description

This PR is part of the pre requisits for wolf-dra development, it aims to basically allow anyone to setup the dev environment.
Most of the updates are to the Makefile, skaffold and deployment resources for the local kind cluster.

This PR Task list / TODO:

  • Update the structs (can I auto generate the struct and rest api based on the api spec? answer is yes, but I'm still looking into it)
    • Ensure the Session Struct is based on wolf__api__StreamSessionStartRequest
    • Ensure the Video Struct is based on wolf__core__events__VideoSession
    • Ensure the Audio Struct is based on wolf__core__events__AudioSession
    • 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
    • Group together the labels into enums based on each relevant component and it's created resource for use in the created resources
      • direwolf/app: {app resource name}
      • direwolf/profile: {user paired profile resource name}
      • direwolf/user: {user name from pairing resource}
      • direwolf/lobby-type: {single or multiple users}
      • direwolf/lobby: {name from lobby resource}
      • direwolf/node: {node is ready to stream applications or not?}
      • direwolf/session: {session resource name}
    • Prepare for Development
      • Create the Daemonset Pod Manifests
        • wolf-dra container
        • wolf container
      • Create Local Development Environment
        • Create the kind-cluster-config.yaml (with feature gates)
        • Add the development steps to the Makefile
        • Rewrite the skaffold.yaml to accommodate the new DRA implementation and use kind directly instead of registry pushes
        • Install a storage provisioner with RWX
        • Create a README explaining how to setup the dev environment

🔄 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/50 **Author:** [@axolotlite](https://github.com/axolotlite) **Created:** 7/24/2026 **Status:** ✅ Merged **Merged:** 7/30/2026 **Merged by:** [@axolotlite](https://github.com/axolotlite) **Base:** `staging` ← **Head:** `chore/update-skaffold` --- ### 📝 Commits (10+) - [`8dc83a3`](https://github.com/games-on-whales/fenrir/commit/8dc83a3b5ece7c078d050c0a746c25d1f35aae07) [dev] add kind cluster config and initial Makefile commands - [`7d42181`](https://github.com/games-on-whales/fenrir/commit/7d42181b3fc1ff23a59c3b357cfa7895be120fa8) [dev] add metallb to cluster-setup - [`175ac29`](https://github.com/games-on-whales/fenrir/commit/175ac29222d373b49549ab10c6902401928ecaff) [dev] add metallb ip pool setup to cluster-setup recipe - [`21fde70`](https://github.com/games-on-whales/fenrir/commit/21fde7040938d775a3723ef654ed5ba04450800a) [dev] add dependency between cluster-ippool and cluster-metallb - [`ec7523d`](https://github.com/games-on-whales/fenrir/commit/ec7523d48869c526c0422e01f7ab65eef04e1b66) [dev] remove taint from kind controlplane - [`e7172a0`](https://github.com/games-on-whales/fenrir/commit/e7172a0e99827a771547698d44e21c3054c5a4a0) [dev] add generic devices yaml manifests - [`39210c1`](https://github.com/games-on-whales/fenrir/commit/39210c170b7a7b2a5ba801915799519ffd1609fa) [dev] segregate each operator into it's manifest and add them to the Makefile - [`b5b6fbb`](https://github.com/games-on-whales/fenrir/commit/b5b6fbbabd904f997823a3e763f456141fccda4b) [dev] add wolf-agent placeholder manifests and update skaffold - [`66552bb`](https://github.com/games-on-whales/fenrir/commit/66552bbcf847287206f630a6d899727ce4784413) [dev] add default profile and firefox app to resources - [`2d42da3`](https://github.com/games-on-whales/fenrir/commit/2d42da326aa2fe5a4530e54c3d01279f27fae876) [dev] add README.md instructions ### 📊 Changes **16 files changed** (+679 additions, -159 deletions) <details> <summary>View changed files</summary> 📝 `.dockerignore` (+3 -0) 📝 `Makefile` (+43 -1) ➕ `hack/README.md` (+37 -0) ➕ `hack/additions/amd-generic-device-plugin.yaml` (+53 -0) ➕ `hack/additions/generic-device-plugin.yaml` (+52 -0) ➕ `hack/additions/nvidia-generic-device-plugin.yaml` (+56 -0) ➕ `hack/deploy/00-namespace.yaml` (+4 -0) ➕ `hack/deploy/01-wolf-agent.yaml` (+110 -0) ➕ `hack/deploy/02-direwolf-operator.yaml` (+118 -0) 📝 `hack/deploy/02-moonlight-proxy.yaml` (+9 -150) ➕ `hack/deploy/03-misc.yaml` (+17 -0) ➕ `hack/kind-cluster-config.yaml` (+26 -0) ➕ `hack/resources/firefox.yaml` (+60 -0) ➕ `hack/resources/profile.yaml` (+50 -0) ➕ `hack/templates/metallb-ip-pool.yaml` (+14 -0) 📝 `skaffold.yaml` (+27 -8) </details> ### 📄 Description This PR is part of the pre requisits for wolf-dra development, it aims to basically allow anyone to setup the dev environment. Most of the updates are to the Makefile, skaffold and deployment resources for the local kind cluster. **This PR Task list / TODO:** - [ ] Update the structs (can I auto generate the struct and rest api based on the api spec? answer is yes, but I'm still looking into it) - [ ] Ensure the Session Struct is based on wolf__api__StreamSessionStartRequest - [ ] Ensure the Video Struct is based on wolf__core__events__VideoSession - [ ] Ensure the Audio Struct is based on wolf__core__events__AudioSession - [ ] 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 - [ ] Group together the labels into enums based on each relevant component and it's created resource for use in the created resources - [ ] direwolf/app: {app resource name} - [ ] direwolf/profile: {user paired profile resource name} - [ ] direwolf/user: {user name from pairing resource} - [ ] direwolf/lobby-type: {single or multiple users} - [ ] direwolf/lobby: {name from lobby resource} - [ ] direwolf/node: {node is ready to stream applications or not?} - [ ] direwolf/session: {session resource name} - [x] Prepare for Development - [x] Create the Daemonset Pod Manifests - wolf-dra container - wolf container - [x] Create Local Development Environment - [x] Create the `kind-cluster-config.yaml` (with feature gates) - [x] Add the development steps to the Makefile - [x] Rewrite the `skaffold.yaml` to accommodate the new DRA implementation and use kind directly instead of registry pushes - [ ] Install a storage provisioner with RWX - [x] Create a README explaining how to setup the dev environment --- <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:00 +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#51
No description provided.