Why I built it
A deployment can be only a few commands and still depend on memory, timing, and courage. I kept rebuilding the same careful sequence: verify a clean pushed commit, package it twice, approve an exact digest, test an isolated candidate, switch one boundary, and retain an explicit way back.
Tend makes that operational care repeatable without pretending to be a platform. Configuration is strict JSON. Commands are explicit. It does not evaluate configuration as shell code.
What the preview proves
tend packagerejects dirty or unpushed source, module replacements, and unversioned dependencies, then requires two byte-identical builds.- Each content-addressed release carries checksums, exact Go build metadata, a release manifest, and an SPDX SBOM.
- Blue-green services pass health, readiness, and application smoke checks before an atomically validated Caddy handler changes.
- Singleton services run an isolated transient candidate before the current release pointer and installed service change.
- A shared deployment lock, recorded previous release, automatic activation restoration, explicit rollback, and conservative pruning keep recovery visible.
Dogfood before invitation
Tend's acceptance candidate completed maintenance releases and explicit rollback/reactivation campaigns for both this Gamertan service and the Sandwich Hime website before public release. Those two applications use different deployment shapes—blue-green and singleton candidate—through the same deployment contract.
The live services are still managed by Tend today. The public evidence records the exact commits, artifact digests, toolchain, checks, rollback observations, and limits of that campaign.
Deliberate limits
Preview 2 supports Linux, systemd, Caddy, and small Go services. It does not manage databases, migrations, containers, Kubernetes, arbitrary shell hooks, or EQL Helper's application-specific catalog activation. Artifact transport and production credentials remain application-owned and outside Tend.
Tend is not a sandbox for hostile source or a substitute for understanding the service it operates. Its job is narrower: make a reviewed deployment reproducible, health-gated, observable, and reversible.
The preserved public release
The public source and published licences remain available, but Preview 2 is the final public CLI preview. New control-plane research—including networked management and stronger operator authorization—continues privately while I test its security and operating model. That work has no public release commitment yet.
go install gamertan.com/tend/cmd/tend@v0.2.0-preview.2
tend check --config tend.json
tend status --config /etc/example/tend.json