Skip to content

Add claude-runner image (Claude Code self-hosted environments runner) - #38

Merged
xnoto merged 2 commits into
mainfrom
claude-runner-image
Sep 5, 2026
Merged

Add claude-runner image (Claude Code self-hosted environments runner)#38
xnoto merged 2 commits into
mainfrom
claude-runner-image

Conversation

@xnoto

@xnoto xnoto commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a claude-runner/ image: Anthropic's Claude Code self-hosted environments runner (claude self-hosted-runner), the Claude-native execution fleet for claude.makeitwork.cloud cloud sessions. Anthropic publishes no pre-built runner image — their docs instruct every organization to build its own around the claude binary — so this Containerfile mirrors their minimal runner Dockerfile from the deploy docs, and the image README explicitly defers to their instructions (quickstart, deploy recipes, hardening, configuration, testing, reference, identity, binary integrity) as the authoritative operational source.

Context: Anthropic enforces OAuth client checks that block Claude subscription use in third-party harnesses (opencode), so headless Claude capacity moves to their sanctioned self-hosted runner surface, billed as org Claude Code usage rather than per-token API.

Type of change

  • Bug fix
  • Feature / enhancement
  • Documentation
  • Infrastructure (OpenTofu root or module)
  • GitOps desired state (manifests, kustomize, charts, SOPS/KSOPS secrets)
  • Container image
  • CI / reusable workflow
  • Refactor / cleanup
  • Breaking change

Validation

  • Required pull-request checks pass — buildah run 33973658029 (jobs checks / detect / build) passed pre-commit (Gitleaks, detect-private-key, hadolint at error threshold, actionlint), changed-image detection (claude-runner), and the non-publishing image build; Push to registry was correctly skipped in PR mode.
  • Generated or centrally distributed files were regenerated by their owning automation, not hand-edited — N/A, no generated files touched.

Impact and rollout

Producer changed: makeitworkcloud/images/claude-runner is the canonical runner-image source. An approved merge automatically publishes ghcr.io/makeitworkcloud/claude-runner:{latest,<sha>}. No consumers yet: chart/Deployment wiring, the environment Secret, and egress policy for the fleet are a separate, not-yet-authored change (charts + kustomize-cluster ownership to follow). Anthropic-side prerequisites remain manual and organization-owned: Team/Enterprise plan with an Owner enabling self-hosted environments, environment key creation, and runner registration. Note: the root README image table was already missing an opencode-sms-bridge/ row before this change; not addressed here to keep scope narrow.

Safety and secrets

  • Contains no plaintext secrets, decrypted SOPS values, state files, kubeconfigs, tokens, or private endpoints — no environment secret or credentials are baked into the image; they mount at runtime per upstream hardening guidance.
  • No local OpenTofu init/plan/apply/destroy/import/state operations were run or claimed — plans come from pull-request checks.
  • Breaking or irreversible effects are described above with rollback notes — rollback is reverting the merge; the image republishes on the next merge to main.

AI-assisted change: an OpenCode agent materially produced this change; the upstream Dockerfile it mirrors is quoted from Anthropic's public documentation, and reviewers should verify the two recorded deviations and CI results before merge.

No pull-request template exists in this repository; the organization default from makeitworkcloud/.github was applied manually.

Mirror Anthropic's minimal runner Dockerfile from their deploy docs
(pinned claude binary, minimal Debian base, system git identity) with a
README that defers explicitly to their instructions for environment
setup, deployment recipes, hardening, and version pinning.

No environment secret or credentials are baked in; those mount at
runtime per upstream guidance.
@xnoto
xnoto requested a review from a team as a code owner September 5, 2026 15:03
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Image CI passed

Pre-commit validation passed. View the workflow run.

@xnoto
xnoto merged commit acf3805 into main Sep 5, 2026
4 checks passed
@xnoto
xnoto deleted the claude-runner-image branch September 5, 2026 15:07
xnoto added a commit that referenced this pull request Sep 5, 2026
xnoto added a commit that referenced this pull request Sep 5, 2026
xnoto added a commit that referenced this pull request Sep 5, 2026
… runner image"

Reverts #38. Self-hosted environments — the only control plane the
runner registers with — are public beta on Team and Enterprise
organization plans only; claude.makeitwork.cloud is an individual
account, so the image has no deployment path. No consumers ever
referenced it (no chart, GitOps selection, or cluster wiring).

Repo state restored to pre-#38. GHCR package
ghcr.io/makeitworkcloud/claude-runner (latest + acf3805 sha) remains
published; deletion is a manual owner action in GitHub package settings.
Reintroduce from #38's record if a Team plan is adopted later.
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