First-class multi-host stacks (one stack deployed to N nodes with per-host config)
strut.conf [stacks] maps each stack to a single host. But some stacks legitimately run on every node — e.g. our buoy per-node homelab dashboard runs on compass + watch + harbor, one image (ghcr.io/gfargo/buoy), with a per-node config file (buoy.<node>.yaml) selected via BUOY_CONFIG_FILE.
Today there's no way to express "buoy deploys to these 3 hosts" — you'd deploy it 3× with --host overrides and manually pick the right per-node yaml, and strut list/drift/status only know about the one mapped host.
Ask
- Allow a stack → multiple hosts in
[stacks] (e.g. buoy = compass watch harbor).
- Support a per-host config/compose overlay convention (
<stack>.<host>.yaml, compose.<host>.yml, .<host>.env) auto-selected per target host.
- Make
deploy/release/status/drift/health fan out across all mapped hosts (with per-host results), so "deploy buoy everywhere" and "is buoy healthy on all nodes" are one command each.
This is the natural home for fleet-wide agents (dashboards, log shippers, node exporters).
First-class multi-host stacks (one stack deployed to N nodes with per-host config)
strut.conf [stacks]maps each stack to a single host. But some stacks legitimately run on every node — e.g. ourbuoyper-node homelab dashboard runs on compass + watch + harbor, one image (ghcr.io/gfargo/buoy), with a per-node config file (buoy.<node>.yaml) selected viaBUOY_CONFIG_FILE.Today there's no way to express "buoy deploys to these 3 hosts" — you'd deploy it 3× with
--hostoverrides and manually pick the right per-node yaml, andstrut list/drift/status only know about the one mapped host.Ask
[stacks](e.g.buoy = compass watch harbor).<stack>.<host>.yaml,compose.<host>.yml,.<host>.env) auto-selected per target host.deploy/release/status/drift/healthfan out across all mapped hosts (with per-host results), so "deploy buoy everywhere" and "is buoy healthy on all nodes" are one command each.This is the natural home for fleet-wide agents (dashboards, log shippers, node exporters).