Skip to content

Gaming VM stack + kind: VM schema (Phase A) — #115 - #119

Merged
ChrisonSimtian merged 4 commits into
mainfrom
feat/115-gaming-vm
Jun 12, 2026
Merged

Gaming VM stack + kind: VM schema (Phase A) — #115#119
ChrisonSimtian merged 4 commits into
mainfrom
feat/115-gaming-vm

Conversation

@ChrisonSimtian

Copy link
Copy Markdown
Collaborator

Scopes & starts the IaC-managed Bazzite (SteamOS-style) gaming VM on desktop-01 with GPU passthrough. Resolves the schema + stack portions of #115. Plan: docs/plans/115-gaming-vm-steamos.md.

In this PR (hub-side, Phase A)

  • Schemakind: VM tightened from permissive into a strict vmSpec (requires vmid), with the novel hostPci[] passthrough def plus vmDisk/vmEfiDisk/vmTpmState/vmCdrom/vmBoot, and the kind: VM allOf branch.
  • Model + tests — mirrored VmSpec C# model; drift tripwire extended (vmSpec/hostPci/vmDisk); positive/negative validator tests. 29 engine tests green.
  • Stackstacks/Gaming/ (VMID block 1000–1099): stack.yaml + bazzite.vm.yaml (adopts the existing VM 1003, adds hostpci0: 0000:09:00) + README.md. Scaffolded locally; promoted to a submodule later.

Also includes a one-line drive-by: the /doctor permission-rule fix (mcp__claude-flow__:*mcp__claude-flow__*) as its own commit.

Depends on (separate repo)

The ProxmoxSharp VM write path that actually provisions these shapes — Chrison-dev/ProxmoxSharp#14 (built, 25 tests green, live-verified). The hub consumes ProxmoxSharp as a published package, so this PR is independent; the vendor/ProxmoxSharp submodule pointer should be bumped once #14 merges and a preview package publishes.

Not in this PR

  • kind: VM provisioning wiring into the hub converge engine (uses ProxmoxSharp#14) — a follow-up.
  • Applying + hostpci0 to the live 1003 (Phase C) — deliberately deferred, mutating.

🤖 Generated with Claude Code

ChrisonSimtian and others added 2 commits June 8, 2026 22:40
/doctor flagged "mcp__claude-flow__:*" as an invalid allow rule (stray colon —
a wildcard is only valid in the tool position after a literal mcp__<server>__
prefix). Corrected to "mcp__claude-flow__*".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Scopes a re-deployable, IaC-managed Bazzite (SteamOS-style) gaming VM on
desktop-01 with GPU passthrough, adopting the existing VM 1003. See
docs/plans/115-gaming-vm-steamos.md.

- Schema: tighten kind: VM from permissive into a strict vmSpec (requires vmid),
  with the novel hostPci[] passthrough def + vmDisk/vmEfiDisk/vmTpmState/
  vmCdrom/vmBoot. Add the kind: VM allOf branch.
- Model: mirror VmSpec (+ sub-models) in the C# Shapes; drift tripwire extended
  to vmSpec/hostPci/vmDisk; positive/negative validator tests. 29 tests green.
- Stack: stacks/Gaming (VMID block 1000-1099) — stack.yaml + bazzite.vm.yaml
  (adopts 1003, adds hostpci0: 0000:09:00) + README. Scaffolded locally.

The ProxmoxSharp VM write path (Phase B) that provisions this lives in a
separate PR: Chrison-dev/ProxmoxSharp#14.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ChrisonSimtian and others added 2 commits June 13, 2026 00:38
ProxmoxSharp#14 (VM write path) is merged to main (13fe502). Update the vendored
submodule pointer to match. The hub builds against the published package, so this
is source-vendoring hygiene only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisonSimtian
ChrisonSimtian merged commit 706a921 into main Jun 12, 2026
2 checks passed
@ChrisonSimtian
ChrisonSimtian deleted the feat/115-gaming-vm branch June 12, 2026 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant