{
"$type": "site.standard.document",
"description": "Manage node configurations with Go and ssh.",
"path": "/decisions/fleet/",
"publishedAt": "2025-07-03T00:00:00Z",
"site": "at://did:plc:bnr33h7nafe5nk4zzlshvana/site.standard.publication/3mnb3xdhll227",
"tags": [
"Config"
],
"textContent": "I'm now running four nodes with Nomad+IO installed. I'd like to have a way to check on them and to remotely and automatically update them with simple things like nomad job restart io to update their IOs to the latest version. agentio/fleet is a private repo containing a very minimal start at a tool that uses SSH to run commands on remote systems. Originally I wrote a bash script, but quickly decided that bash idiosynracies and limitations made it worthwhile to just do this with Go, which has a nice SSH standard library component. This stackoverflow answer sealed the plan. Pros Minimal dependencies. Builds directly on Go's ssh support, which aligns with IO's ssh usage. Cons Nobody will know this (but it should be easy for Go users to pick up). Ansible, etc. exist for system configuration but do MUCH more than I need. There might be some direct Nomad features that I could use instead. ",
"title": "Use a Custom Fleet Manager"
}