Agent-tools OCI images + registry CI pipeline #203
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/coding-lab#203
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
Per-provider
agent-toolsimages that get injected (viapodman run --mount type=image) into ANY user-chosen dev image. Each image ships/opt/lab/binwith: the provider CLI as a self-contained bundle (own runtime/loader — must run on glibc and musl base images), a fully static labctl, and any static helpers. Containerfiles + build scripts live in this repo; a CI workflow builds and pushes digest-pinned tags (e.g.agent-tools:claude-<ver>) to the Forgejo registry at git.cloonar.com. Registry write token is an operator-provisioned CI secret (FORGE_REGISTRY_TOKEN); the workflow must fail with a clear message when it is absent.Include an injection smoke test:
podman buildthe tools image locally, then mount it into stockdebian:stable-slimandalpinecontainers and runclaude --version/codex --version/labctl --help.Acceptance criteria
Blocked by
None - can start immediately
Agent Brief
Category: enhancement
Summary: Per-provider agent-tools OCI images (self-contained CLI + static labctl under /opt/lab/bin) with a Forgejo Actions pipeline that pushes digest-pinned tags to the git.cloonar.com registry.
The issue body's "What to build" and acceptance-criteria checklist are the authoritative spec (grilled 2026-07-22). This brief adds the interface map, the operator prerequisites, and scope fences.
Current behavior:
No Containerfile or OCI tooling exists anywhere in the repo (the nix-flake ADR explicitly deferred OCI); provider CLIs are installed on the host and found on PATH.
Desired behavior:
Per the issue body: Containerfiles + build scripts in-repo producing per-provider tools images; contents run injected into arbitrary glibc and musl base images without touching the base libc; CI builds and pushes digest-pinned tags on the release path, and on PRs does a local build plus the debian/alpine injection smoke test with no push.
Key interfaces:
agent-tools:claude-<ver>./opt/lab/bin, mounted viapodman run --mount type=image, PATH-prepended; binaries ship their own runtime/loader.FORGE_REGISTRY_TOKENsecret and failing with an explicit, actionable message when it is absent.Operator prerequisites (human, not the agent):
FORGE_REGISTRY_TOKENas a CI secret with registry write access.Acceptance criteria: the checklist in the issue body.
Out of scope: