Skip to main content
  1. Decisions/

Use a Custom Fleet Manager

·160 words·1 min
Agent IO
Author
Agent IO
Table of Contents
Manage node configurations with Go and ssh.

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.

Comments
#