Skip to content

Node daemon image ghcr.io/ai-computing/rm-accel; chart 0.5.0 uses it - #8

Merged
gspark-etri merged 1 commit into
masterfrom
node-image
Oct 19, 2026
Merged

gspark-etri merged 1 commit into
masterfrom
node-image

Conversation

@gspark-etri

Copy link
Copy Markdown
Collaborator

Roadmap W2 (ai-rm docs/roadmap.md): reproducible deployment of the L1 node daemon.

What

  • Dockerfile: python:3.11-slim + rm-abstract (installed --no-deps, so no torch) + rm-core v0.1.1 + kubernetes + numpy. Vendor CLI tools are not baked in; /host/usr/bin is on the image's PATH. The build runs --provider sim --once --dry-run as a self-check.
  • .github/workflows/image.yml: on PRs build + smoke-test (sim provider dry-run, PATH check); on master push ghcr.io/ai-computing/rm-accel:master (+ sha-…), on vX.Y.Z tags push :X.Y.Z and :X.Y. GITHUB_TOKEN, packages: write.
  • Chart 0.5.0 (appVersion 0.4.2): default image ghcr.io/ai-computing/rm-accel:<appVersion>; new value hostBin (default /usr/bin) mounts the host's vendor tools read-only at /host/usr/bin. With that, sites no longer need the init-container + PYTHONPATH workaround. hostDev and the writable /tmp (rbln-stat) are unchanged; the extension points stay for sites with their own image.
  • CI job Helm chart lint (default and sim values). Version 0.4.2, CHANGELOG, README (EN/KO), ai-rm.yaml deploy.image.

After merge

  1. Tag v0.4.2 so ghcr.io/ai-computing/rm-accel:0.4.2 (the chart default) exists; :master is published by the merge itself.
  2. New ghcr packages start private: set the rm-accel package to public (org Packages settings) so nodes can pull without a secret.
  3. ai-rm's umbrella chart (ai-computing/ai-rm PR, branch umbrella-chart) pins this chart through the submodule; re-bump it to the merge commit / tag.

Verified

  • Same install as the Dockerfile, in a clean Python 3.11 venv (Windows host, no Docker here): python -m rm_abstract.airm.daemon --provider sim --once --dry-run prints 2 AcceleratorProfiles + node patch; --provider rm-abstract without tools prints an empty list. No torch needed.
  • helm lint / helm template (v3.16.4) pass for default and sim values; rendered DaemonSet has /tmp emptyDir, /dev hostPath, /usr/bin → /host/usr/bin read-only.
  • python tools/check_sensitive.py .: clean.
  • Docker build and the kind-based run happen in CI (this PR's Image job; ai-rm's sim e2e builds this Dockerfile and runs it on kind).
  • Not verifiable without hardware: vendor tools from the host's /usr/bin on RNGD/ATOM nodes (same mount the site already uses via the workaround).

🤖 Generated with Claude Code

- Dockerfile: python:3.11-slim + rm-abstract (no torch) + rm-core v0.1.1 + kubernetes + numpy.
  Vendor tools stay on the host; /host/usr/bin is on the image's PATH.
- Image workflow: build and smoke-test on PRs, publish :master and :X.Y.Z / :X.Y from v* tags
  with GITHUB_TOKEN (packages: write).
- Chart 0.5.0 (appVersion 0.4.2): default image ghcr.io/ai-computing/rm-accel, new value hostBin
  (default /usr/bin) mounting the host's vendor tools, so the init-container workaround is no
  longer needed. hostDev and the writable /tmp stay. CI lints the chart.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gspark-etri
gspark-etri merged commit 675a527 into master Oct 19, 2026
10 checks passed
@gspark-etri
gspark-etri deleted the node-image branch October 19, 2026 09:48
gspark-etri added a commit that referenced this pull request Oct 20, 2026
Node daemon image ghcr.io/ai-computing/rm-accel; chart 0.5.0 uses it
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