Open-source tooling for network automation: generate intended configuration, compare it with what’s running, and apply safe changes to CLI-driven network devices. The ecosystem is designed to work well with a Network Source of Truth (most commonly NetBox) and to support multi-vendor environments.
-
Annet — configuration generation and deployment workflow:
- generate intended config from code/SOT,
- compute diff against device state,
- translate diff into vendor-aware CLI commands (“patch”),
- deploy changes so the diff becomes empty.
-
Gnetcli — a Golang CLI automation engine:
- execute commands (not “expect/screen scraping”),
- handles pagers/prompts/errors cleanly,
- usable as a Go library, a CLI tool, or a gRPC server for non-Go integrations.
-
Annetbox — a lightweight NetBox client used by Annet and related tools (supports specific NetBox versions; sync/async usage).
-
gnetcli_adapter — adapters that connect Annet to Gnetcli for fetching device state and deploying patches.
A common setup looks like:
NetBox (source of truth) → Annet (generate/diff/patch/deploy) → devices
with Annetbox for NetBox API access and Gnetcli (+ adapter) for robust multi-vendor CLI execution.
- Annet docs: https://annetutil.github.io/annet/
- Gnetcli docs: https://annetutil.github.io/gnetcli/
- Telegram support/chat: https://t.me/annet_sup
- Want “intended config → diff → deploy” workflows: start with Annet.
- Need a solid multi-vendor CLI execution layer (library/CLI/gRPC): start with Gnetcli.