• Stars
    star
    140
  • Rank 261,473 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 11 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

diff(1) all your configs

cfgdiff -- diff(1) all your configuration files

Why?

Ever tried comparing MySQL's my.cnf from a Debian and a Gentoo machine with diff(1) without going crazy?

diff(1) is an awesome tool, you use it (or similar implementations like git diff, svn diff etc) every day when dealing with code. But configuration files aren't code. Indentation often does not matter (yeah, there is diff -w and yeah, people use YAML for configs), order of settings does not matter and comments are just beautiful noise.

How?

cfgdiff will try to parse your configuration files, fetching all the relevant keys and values from them and then pretty-printing them in the original format. These results are then diffed and the diff is shown to you.

What?

cfgdiff currently supports the following formats:

  • INI using Python's ConfigParser library
  • JSON using Python's JSON library
  • YAML if the Python YAML library is installed
  • XML if the Python lxml library is installed

More Repositories

1

qifi

pure JS WiFi QR Code Generator
JavaScript
1,173
star
2

bley

intelligent greylisting daemon for postfix
Python
41
star
3

esphome-configs

C++
38
star
4

check_puppetdb_nodes

Nagios/Icinga plugin for checking the health of your Puppet nodes via PuppetDB
Perl
15
star
5

powerdyn

IPv4 *and* IPv6 aware dynamic DNS script for PowerDNS
Python
12
star
6

ansible-wtf

collection of playbooks that produce interesting results
Python
11
star
7

MisterHubert

mr (http://myrepos.branchable.com/) config generator for GitHub repositories
Python
8
star
8

wp-statusnet-widget

StatusNet Widget for WordPress
PHP
7
star
9

my_virtualenv

Create throw-away MySQL servers for regression tests
Shell
6
star
10

ZeitGeistReich

Android client for zeitgeist.li
Java
5
star
11

check_restic

check age of restic snapshots
Python
5
star
12

python-rfkill

RFKill interface for Python
Python
5
star
13

buildy

Python
5
star
14

aacraid

Python
5
star
15

destructivebuilds

4
star
16

puppet-icinga2

install and configure Icinga2 servers and clients on Debian
Puppet
4
star
17

metops

source of the Metal Operations Center bot
Python
3
star
18

vcsh_git

my git config
2
star
19

cadmium

open URLs in different Chrome profiles
Python
2
star
20

check_local_interfaces

Nagios/Icinga plugin for checking local networking interfaces on Linux, BSD and Mac OS X.
Perl
2
star
21

local-bin

my local bin folder with scripts etc
Python
2
star
22

talks

HTML
2
star
23

vcsh_mutt

Shell
2
star
24

phantasia.die-welt.net

1
star
25

ftpdav

Go
1
star
26

pytest-qr

Python
1
star
27

vcsh_widelands

my widelands config
1
star
28

docker-katello-client

Katello clients for testing based on CentOS
1
star
29

die-welt.net

Python
1
star
30

django_preseeded_invite

Python
1
star
31

vcsh_ssh

my ssh config
1
star
32

vcsh_zsh

my zsh config
Shell
1
star
33

puppet-icinga

Puppet
1
star
34

puppet-inspircd

Puppet
1
star
35

rcbw

log of my RC-bug fixes in Debian
1
star
36

sexy-rss-footer

PHP
1
star