Files
mcdeploy/CLAUDE.md
Kyle Isom 8cd32cbb1c Initial implementation of mcdeploy deployment tool
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>
2026-03-26 00:01:15 -07:00

23 lines
801 B
Markdown

# 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
```bash
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`, and `git` for 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)