Skip to content

feat(pods): Claude Code + Codex in member pods#51

Merged
ralyodio merged 1 commit into
mainfrom
feat/pod-ai-tools
Jun 23, 2026
Merged

feat(pods): Claude Code + Codex in member pods#51
ralyodio merged 1 commit into
mainfrom
feat/pod-ai-tools

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

What

Lets members code right inside their pod. Builds a custom pod image (FROM the base Ubuntu) shipping:

BYO key per user (per your choice): nothing carries credentials. A member exports their own ANTHROPIC_API_KEY / OPENAI_API_KEY (or runs the tools' login flow); keys live in their persisted home, never in the image. A login hint in the pod explains this.

Changes

  • pods/Containerfile — the image (+ a one-line MOTD hint).
  • setup.sh — build it on the host (rootless podman, layer-cached); switch AGENTBBS_POD_IMAGE to localhost/agentbbs-pod:latest (upserted for existing installs); keep the base image if a build ever fails.
  • internal/pods/pods.go — image-aware self-heal: an idle pod on an out-of-date image is recreated (home volume preserved), so the new tooling rolls out without a manual rebuild and without yanking active sessions.

Verified

Image built on the host; inside it: node v22.23, git 2.43, OpenSSH 9.6, claude --version2.1.186, codex --version0.142.0. Build/vet/gofmt/tests green.

Note on rollout

On merge, the deploy's setup.sh builds the image on the box (~1–2 min, cached after) and flips AGENTBBS_POD_IMAGE; existing pods recreate onto it on their next idle attach via the self-heal. Builds on the related #50 (git push over SSH).

🤖 Generated with Claude Code

Members can now code in their pod: build a custom pod image (FROM the base
Ubuntu) that ships git, openssh-client, Node.js 22, and the Claude Code
(`claude`) and Codex (`codex`) CLIs. BYO key — no credentials are baked in; a
member exports their own ANTHROPIC_API_KEY / OPENAI_API_KEY (or uses the tools'
login flow), stored in their persisted home.

- pods/Containerfile: the image (also drops a BYO-key + git-push login hint).
- setup.sh: build it on the host (rootless podman, layer-cached), switch
  AGENTBBS_POD_IMAGE to localhost/agentbbs-pod:latest (upserted for existing
  installs), keeping the base image if the build fails.
- pods.go: image-aware self-heal — an idle pod on an out-of-date image is
  recreated (home volume kept) so the new tooling rolls out without a manual
  rebuild and without disturbing active sessions.

Verified: image builds on the host; inside it node v22, git, ssh, `claude
--version` (2.1.186) and `codex --version` (0.142.0) all run.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

@ralyodio
ralyodio merged commit 2330d9d into main Jun 23, 2026
5 checks passed
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