smed
Configures machines from plain Go: it reads each machine, shows a plan, then applies it. No interpreter on the target, no state file anywhere.
go get github.com/vt100io/smed
View on GitHub →
Why
Ansible looks at a machine before it acts, but shows no plan. Terraform shows a plan, but against a state file instead of the world, and the state file drifts. smed reads the world and plans against it: go look, compute a diff, show it, then apply it concurrently per host.
It is a Go library, not a YAML file or a DSL standing in for a real language. Configuration is a Go program that imports smed, and go run . is the dispatcher. Tailscale is the default way to find and reach machines.
Leans on Tailscale, SSH.