ytti / oxidized
git clone https://github.com/ytti/oxidized.git
0.37.0 · 5mo ago
🔥 on GitHub Trending today
Oxidized is a network device configuration backup tool. It's a RANCID replacement!
+1
stars, 24h · #7,737
+~7
stars, 7 days · #8,385
+~30
stars, 30 days · #14,334
3.6k
★ total · +0% this week
1.1k
forks · 70 open issues
Star history (as recorded here)
LanguageRuby
LicenseApache-2.0
Created2013-04-17 (13y ago)
Last pushtoday
Watchers121
OwnerUser
Seen on GitHub Trending
- 2026-10-21 — #16 daily in ruby · +4 ★
- 2026-10-20 — #15 daily in ruby · +3 ★
GitHub topics
Links
- GitHub: github.com/ytti/oxidized
- Releases · Issues · Hacker News mentions
README excerpt
# Oxidized Oxidized is a network device configuration backup tool. It's a RANCID replacement! It is light and extensible and supports over 130 operating system types. Feature highlights: * Automatically adds/removes threads to meet configured retrieval interval * Restful API to a move node immediately to head-of-queue (GET/PUT /node/next/[NODE]) * Syslog udp+file example to catch config change events (IOS/JunOS) and trigger a config fetch * Will signal which IOS/JunOS user made the change, can then be used by output modules (via POST) * The `git` output module uses this info - 'git blame' will show who changed each line * Restful API to reload list of nodes (GET /reload) * Restful API to fetch configurations (/node/fetch/[NODE] or /node/fetch/group/[NODE]) * Restful API to show list of nodes (GET /nodes) * Restful API to show list of version for a node (/node/version[NODE]) and diffs Check out the Oxidized TREX 2014 presentation video on YouTube! > :warning: Maintainer Wanted! :warning: > > Is your company using Oxidized and has Ruby developers on staff? I'd love help from an extra maintainer! ## Index 1. Supported OS Types 2. Installation * Debian and Ubuntu * Rocky Linux, Red Hat Enterprise Linux * FreeBSD * Build from Git * Docker & Podman 3. Initial Configuration 4. Configuration * Debugging * Privileged mode * Disabling SSH exec channels * Sources * Source: CSV * Source: SQL * Source: SQLite * Source: Mysql * Source: HTTP * Outputs * Output: GIT * Output: GIT-Crypt * Output: HTTP * Output: File * Output types * Advanced Configuration * Advanced Group Configuration * Hooks * Hook: exec * Hook: githubrepo * Hook: awssns * Hook: slackdiff * Hook: xmppdiff * Hook: ciscosparkdiff 5. Creating and Extending Models 6. Help 7. Help Needed 8. Ruby API * Input * Output * Source * Model ## Installation ### Debian and Ubuntu Debian 12 "bookworm" or newer and Ubuntu 22.04 (Jammy Jellyfish) or newer are recommended. On Ubuntu, begin by enabling the `universe` repository (required for libssh2-1-dev): [code] Install the dependencies: [code] Finally, install Oxidized: [code] You can also install one or both of the optional gems. They are not required to run Oxidized: [code] ### Rocky Linux, Red Hat Enterprise Linux These instructions has been verified on Rocky Linux 9, Rocky Linux 10 and Fedora. On Rocky Linux 9, you need to install/enable EPEL, CRB and Ruby 3.1: [code] Then you need the required packages for oxidized: [code] Finally, install Oxidized: [code] You can also install one or both of the optional gems. They are not required to run Oxidized: [code] ### FreeBSD > :warning: These installation instructions have been tested on FreeBSD 14.2, but oxidized itself has not been tested on it. First install ruby and rubyXX-gems (Find out the name of the package with `pkg search gems`): [code] Then install the dependencies of oxidized an oxidized-web: [code] Finally, install Oxidized: [code] You can also