┌─ ~/projects/gorancid ──────────────────────────────┐
gorancid
v0.4.4
● active
What
Go rewrite of RANCID — Really Awesome New Cisco confIg Differ. A drop-in replacement that collects network device configurations, stores diffs in git, and emails changes.
Why
RANCID is written in Perl, Tcl/Expect, and C. It works, but the stack is brittle and hard to extend. Gorancid replaces the orchestration layer in Go while keeping full compatibility with existing configs, credentials, and device type definitions.
Binaries
clogin— Interactive device login from router.dbrancid— Per-device collector using pure Go parsersrancid-cvs— Git repo and group directory setupcontrol-rancid— Per-group collection orchestratorrancid-run— Cron entry point, iterates groupsrancid-ui— Fleet table, config browser, last diff viewer
Architecture
All logic in pkg/ — config parsers, device type registry, git wrapper, parallel worker pool (bounded by PAR_COUNT), SSH/Telnet collector, email notifier. CLI binaries in cmd/ are thin wrappers.
Status
Phase 4 complete. All collection runs in-process over SSH or Telnet with zero Expect or Tcl/Perl dependency.
→ github.com/jskoetsier/gorancid
└──────────────────────────────────────────────────────────┘