Single Go binary with five commands: - build: podman build locally with registry tags + git version - push: podman push to MCR - deploy: SSH pull/stop/rm/run on target node - cert renew: issue TLS cert from Metacrypt via REST API - status: show container status on a node Config-driven via TOML service registry describing images, Dockerfiles, container configs per node. Shells out to podman for container operations and ssh for remote access. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
801 B
801 B
CLAUDE.md
Project Overview
mcdeploy is the Metacircular deployment CLI tool. It builds, pushes, and deploys container images to nodes, manages TLS certificates via Metacrypt, and checks container status.
Build Commands
go build . # build the binary
go vet ./... # vet
Architecture
- Single binary — all code in
package main - Config — TOML-based (
mcdeploy.toml), defines services, images, nodes, and containers - Commands —
build,push,deploy,cert renew,status - Exec model — shells out to
podman,ssh,scp, andgitfor all operations - No auth — relies on SSH keys and existing podman/registry auth
- Module path:
git.wntrmute.dev/kyle/mcdeploy - Dependencies: cobra (CLI), go-toml/v2 (config)