Skip to content

Ship the rax CLI in the rax-server image - #11

Merged
h0ffmann merged 1 commit into
mainfrom
claude/rax-cli-in-server-image
Oct 31, 2026
Merged

h0ffmann merged 1 commit into
mainfrom
claude/rax-cli-in-server-image

Conversation

@h0ffmann

Copy link
Copy Markdown
Collaborator

What

Dockerfile.server builds -p rax-server -p rax-cli and copies both binaries to /usr/local/bin. The entrypoint stays rax-server; command: [rax, ...] runs the CLI.

Why

piabrota/nix-os schedules its agents (piabrota/agents) as rax tasks: a CronJob every 15 minutes resumes deploy-doctor, one a day resumes health-digest. Those CronJobs need the rax CLI in the cluster, and with it in this image they need no second image: rax --server ax-server.ax-system:8080 -a ops apply -f task.yaml && rax ... resume task <name>.

Tests

Built here (arm64): rax --help and rax-server --help both run from the image; it is 134 MB. This PR's image run builds it for amd64.

A Job or CronJob in the cluster can then apply and resume tasks with the image
already there, as piabrota/nix-os's scheduled agents do. The build adds
-p rax-cli; the image grows by the CLI binary.
@h0ffmann
h0ffmann merged commit 2037585 into main Oct 31, 2026
3 checks passed
h0ffmann added a commit to piabrota/nix-os that referenced this pull request Oct 31, 2026
…ealth snapshot (#38)

k8s/agents holds the deploy-doctor and health-digest tasks (agents image
sha-32f1e1e by digest) and two CronJobs in ax-system that run the rax CLI from
the rax-server image (sha-2037585, piabrota/rax#11): make the task if missing or
changed, then resume it. deploy-doctor every 15 minutes, health-digest at 09:30
UTC. piabrota.kubesolo.healthSnapshot writes the box's state at 09:20 UTC as
the ConfigMap ax-tasks/health-snapshot, which the task pods' service account
alone may read. AGENTS.md gains one exception to the no-agent-trail rule: the
signature on piabrota-ops' reports.
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