Skip to content

fix(infra): Tailscale ACL exit consume rules, DGX Spark network integration, provisioning tag fix - #1277

Merged
POWERFULMOVES merged 2 commits into
mainfrom
fix/infra-dgx-spark-p0
Apr 18, 2026
Merged

POWERFULMOVES merged 2 commits into
mainfrom
fix/infra-dgx-spark-p0

Conversation

@POWERFULMOVES

@POWERFULMOVES POWERFULMOVES commented Apr 17, 2026

Copy link
Copy Markdown
Owner

Summary

P0 infrastructure fixes addressing 5 of 8 DGX Spark integration gaps identified in the full-stack optimization blueprint.

Changes (8 files, +269 / -44)

Network Security

  • pmoves/configs/tailscale-acl-policy.json (+163/-44) — 4 new ACL rules:
    • Exit node consume: pmoves and lab tagged nodes can consume tag:exit
    • DGX Spark inference: tag:gpu can reach dgx-spark:11434 (Ollama)
    • GPU-to-mesh egress: tag:gpu can publish/subscribe mesh.gpu.* subjects
    • Spark response paths: dgx-spark→pmoves:, dgx-spark→lab:

Network Inventory

  • pmoves/configs/pinokio-network-inventory.yaml (+128) — 5 new nodes:
    • dgx-spark (GB10 Grace-Blackwell, 128GB, Tailscale 100.x)
    • kvm2 (exit-proxy, 4 vCPU, Hostinger)
    • kvm4-1 (api-gateway, 8 vCPU, Hostinger)
    • kvm4-2 (data-storage, 8 vCPU, Hostinger)
    • jetson-orin (edge GPU, Jetson Orin NX)

Build System

  • Makefile (+2) — include nvidia-dgx-spark.mk for GPU build targets

Provisioning Fix

  • deploy/provision/hostinger-kvm-setup.sh — tag:exit-node → tag:exit (matches ACL policy)

Documentation Corrections

  • docs/hardening/PMOVES-hardening-tracker.md — CHIT crypto claims: 5 items changed from Full to None with F-20 audit reference
  • pmoves/.claude/context/tier-architecture.md — DGX Spark added to topology
  • pmoves/docs/AGENTS/agnotes2.md — DGX Spark AGNOTE entry
  • pmoves/configs/flare-model-namespace.yaml — dgx-spark added to 3 model enum nodes

Conflict Analysis

All previously conflicting PRs (#1261, #1262, #1270, #1272) merged into main before this branch was created. Zero file overlaps remain.

Refs

  • DGX Spark TAC tree: pmoves/configs/tac_trees/dgx-spark.tac.yaml (278 lines, 6 phases)
  • DGX Spark AGNOTE: pmoves/docs/AGENTS/AGNOTE-dgx-spark.md
  • Full-stack optimization blueprint: research/ (14 reports)

Summary by CodeRabbit

  • New Features

    • Expanded infrastructure with new GPU inference, data storage, API gateway, and edge AI nodes
    • Extended model availability to additional hardware configurations
  • Chores

    • Updated network access control policies and configuration
    • Fixed documentation inconsistencies and corrected network naming conventions

@coderabbitai

coderabbitai Bot commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8fe44d82-46fd-4190-a7c0-c71eb4ac8c1a

📥 Commits

Reviewing files that changed from the base of the PR and between c721d11 and 7be0678.

📒 Files selected for processing (8)
  • Makefile
  • deploy/provision/hostinger-kvm-setup.sh
  • docs/hardening/PMOVES-hardening-tracker.md
  • pmoves/.claude/context/tier-architecture.md
  • pmoves/configs/flare-model-namespace.yaml
  • pmoves/configs/pinokio-network-inventory.yaml
  • pmoves/configs/tailscale-acl-policy.json
  • pmoves/docs/AGENTS/agnotes2.md

📝 Walkthrough

Walkthrough

This PR integrates a new dgx-spark GPU node into the PMOVES infrastructure by updating the Makefile to include build targets, registering the node in the network inventory with Ollama and NIM services, extending Ollama model placement mappings, updating Tailscale ACL policies to allow GPU access, and correcting documentation network name typos.

Changes

Cohort / File(s) Summary
Build System
Makefile
Sets .DEFAULT_GOAL to update-service-docs and adds include pmoves/mk/nvidia-dgx-spark.mk to import GPU-related build targets.
GPU Node Registration
pmoves/configs/pinokio-network-inventory.yaml, pmoves/configs/flare-model-namespace.yaml
Adds new dgx-spark node with Ollama and NIM services; extends qwen-coder, gemma-4-e2b, gemma-4-e4b, and gemma-4-31b model placements to include dgx-spark node.
Network & Access Control
deploy/provision/hostinger-kvm-setup.sh, pmoves/configs/tailscale-acl-policy.json
Updates kvm2 Tailscale tag from tag:exit-node to tag:exit; adds ACL rules permitting tag:pmoves and tag:lab to access GPU ports and internet egress, with explicit exclusions for tag:partner and tag:guest.
Documentation Corrections
pmoves/.claude/context/tier-architecture.md, pmoves/docs/AGENTS/agnotes2.md, docs/hardening/PMOVES-hardening-tracker.md
Fixes external network name typo (cataclysim-netcataclysm-net); adds verification note confirming zero crypto imports in full coverage services.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 A spark of GPU light joins the array,
dgx-spark arrives to compute away,
New nodes and access paths align,
Ollama models now gracefully shine,
Infrastructure expands, the network's design! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/infra-dgx-spark-p0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 82f722490a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Makefile
Comment thread pmoves/configs/tailscale-acl-policy.json Outdated
POWERFULMOVES and others added 2 commits April 17, 2026 21:49
…ration, provisioning tag fix

P0 infrastructure fixes addressing 5 of 8 DGX Spark integration gaps.

Changes:
- tailscale-acl-policy.json: +4 ACL rules (exit node consume, DGX Spark inference,
  GPU-to-mesh egress, spark→pmoves response, spark→lab debug)
- pinokio-network-inventory.yaml: +5 nodes (dgx-spark, kvm2, kvm4-1, kvm4-2, jetson-orin)
  with full Tailscale IPs, roles, tags, and GPU specs
- Makefile: include nvidia-dgx-spark.mk for GPU build targets
- hostinger-kvm-setup.sh: tag:exit-node → tag:exit (matches ACL policy definition)
- hardening-tracker.md: CHIT crypto claims corrected from 'Full' to 'None' with F-20 ref
- tier-architecture.md: DGX Spark added to topology diagram
- agnotes2.md: DGX Spark AGNOTE entry added
- flare-model-namespace.yaml: dgx-spark added to 3 model enum nodes

Resolves DGX Spark integration gaps: G1 (ACL), G2 (inventory), G5 (Makefile)
Refs: DGX Spark TAC tree (pmoves/configs/tac_trees/dgx-spark.tac.yaml)
…consume (codex)

Two review threads from codex on PR #1277:

1) **[P1] Preserve default make goal when adding DGX include**
   `include pmoves/mk/nvidia-dgx-spark.mk` ahead of any target in the
   top-level Makefile changed the default goal to the first target of
   the included file (`spark-ssh`). Bare `make` would attempt an SSH
   session instead of the prior `update-service-docs` behaviour,
   breaking local/CI callers. Pin `.DEFAULT_GOAL := update-service-docs`
   before the include so the original default is preserved.

2) **[P2] Remove partner/guest from exit-node consume ACL**
   The exit-node consume rule in `tailscale-acl-policy.json` added
   `tag:partner` and `tag:guest` as sources for `autogroup:internet:*`.
   That grants both restricted roles full exit-node internet egress,
   which is a privilege escalation vs the documented role matrix in
   `pmoves/docs/operations/RUSTDESK_SELF_HOSTED.md` (partner: 3030,
   8080, 8081 only; guest: 8081 only). Reverting the source list to
   `tag:pmoves` + `tag:lab` and pinning the intent in the rule comment
   so future edits don't silently re-widen.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

2 participants