#Configuration Management

Open-source projects categorized as Configuration Management | Edit details

Top 23 Configuration Management Open-Source Projects

  • GitHub repo Nacos

    an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

  • GitHub repo SaltStack

    Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:

    Project mention: How do I force salt-ssh to use /usr/bin/python3.8 without changing the /usr/bin/python3 symlink? | reddit.com/r/saltstack | 2021-06-15
  • GitHub repo Pulumi

    Pulumi - Modern Infrastructure as Code. Any cloud, any language 🚀

    Project mention: Infrastructure as Software vs Infrastructure as Code | reddit.com/r/kubernetes | 2021-06-13

    Yeah I DO think this is exactly what [cdk8s](https://github.com/cdk8s-team/cdk8s) is. I also think that [pulumi](https://www.pulumi.com/) is also relevant here.

  • GitHub repo python-dotenv

    Get and set values in your .env file in local and production servers. :tada:

    Project mention: Gooey: Turn (almost) any Python command line program into a GUI application | news.ycombinator.com | 2021-06-12
  • GitHub repo mgmt

    Next generation distributed, event-driven, parallel config management!

    Project mention: Cue, an open-source data validation language | news.ycombinator.com | 2021-06-14

    cough how can you leave out https://github.com/purpleidea/mgmt/ =D

  • GitHub repo rcm

    rc file (dotfile) management

    Project mention: First release of Hoard dotfile manager | reddit.com/r/rust | 2021-06-03

    Hoard is a program that backs up sparse files from across your filesystem into a single location and can later restore them. Some of you might know programs like this as "dotfile managers," like RCM and Chezmoi.

  • GitHub repo yadm

    Yet Another Dotfiles Manager

    Project mention: How do you store you bash scripts and history so that you can access them from other machines ? | reddit.com/r/bash | 2021-06-03

    Your tool looks a lot like https://yadm.io/

  • GitHub repo homesick

    Your home directory is your castle. Don't leave your dotfiles behind.

    Project mention: New Mac Coding/Dev Setup | reddit.com/r/iOSProgramming | 2020-12-26

    use github with a pattern like dotfiles or homesick, read more here.

  • GitHub repo habitat

    Modern applications with built-in automation

  • GitHub repo Home Manager using Nix

    Manage a user environment using Nix [[email protected]]

    Project mention: Deciding to make a switch to new Macbook Air from an linux laptop | reddit.com/r/macbook | 2021-06-12

    In terms of package management you natively only have the App Store and manually installing apps from the internet, which is rather limiting, especially for command line utilities. I would suggest looking into a third party package management system if you find yourself using a lot of third party apps frequently. I personally use nix along with home manager; there's also homebrew and macports

  • GitHub repo dynaconf

    Configuration Management for Python ⚙

    Project mention: Stop hardcoding and start using config files instead, it takes very little effort with configparser | reddit.com/r/Python | 2021-04-25
  • GitHub repo RailsConfig

    Easiest way to add multi-environment yaml settings to Rails, Sinatra, Pandrino and other Ruby projects. (by rubyconfig)

  • GitHub repo homeshick

    git dotfiles synchronizer written in bash

    Project mention: Homeshick – Git dotfiles synchronizer written in bash | news.ycombinator.com | 2021-04-21
  • GitHub repo node-convict

    Featureful configuration management library for Node.js

    Project mention: A functional command-line parser toolkit that grows with your program | reddit.com/r/node | 2021-01-04

    Thoughts on how convict does it? It's my current favorite. It'd be a hard sell for me not to get effortless tiered-overrides straight out of the box.

  • GitHub repo autorandr

    Auto-detect the connected display hardware and load the appropriate X11 setup using xrandr

    Project mention: Multi-monitor Arch installation with BSPWM --- can someone please help out with the setup? | reddit.com/r/archlinux | 2021-06-08

    This is the one I used: https://github.com/phillipberndt/autorandr

  • GitHub repo gin-config

    Gin provides a lightweight configuration framework for Python

    Project mention: [D] Tools to avoid writing tons of scripts | reddit.com/r/MachineLearning | 2021-01-08


  • GitHub repo pyinfra

    pyinfra automates infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployment, configuration management and more.

    Project mention: Ansible 4.0.0 final has been released | news.ycombinator.com | 2021-05-19
  • GitHub repo config-rs

    ⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).

    Project mention: Best way to set environment for Rust App | reddit.com/r/rust | 2021-03-22

    Checking an environment variable is very easy with std::env::var or similar. If you have other bits of configuration that also change—which is typical; things like DB connection strings—you may consider a more full-featured solution like https://docs.rs/config/0.10.1/config/ (pay particular attention to this example, which seems to be very close to what you want: https://github.com/mehcode/config-rs/blob/master/examples/hierarchical-env/src/settings.rs ).

  • GitHub repo strictyaml

    Type-safe YAML parser and validator.

    Project mention: The Norway Problem | news.ycombinator.com | 2021-04-03

    Not YAML by itself, but there are libraries that parse a YAML-like format that is typed. For example this one: https://hitchdev.com/strictyaml/. Technically, it is not compatible with the YAML spec.

  • GitHub repo Pallet

    Automates controlling and provisioning cloud server instances. DevOps for the JVM.

  • GitHub repo conf

    Simple config handling for your app or module

  • GitHub repo ini-parser

    Read/Write an INI file the easy way!

    Project mention: The Fssf Mentorship Schedule Planner | reddit.com/r/fsharp | 2020-12-29

    Alternatively, instead of using a type provider (which isn't simple by any means), you can use any number of CSV or INI parsers, e.g. https://joshclose.github.io/CsvHelper/ or https://github.com/rickyah/ini-parser

  • GitHub repo (R)?ex

    Rex, the friendly automation framework

    Project mention: Looking for material and ideals for rolling my own Containerization solution for OpenBSD | reddit.com/r/openbsd | 2021-05-27

    Maybe Rex (https://www.rexify.org/)? You'll need to know Perl, but Perl is in base and really good for this sort of thing.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-06-15.


What are some of the best open-source Configuration Management projects? This list will help you:

Project Stars
1 Nacos 18,091
2 SaltStack 11,769
3 Pulumi 8,985
4 python-dotenv 3,992
5 mgmt 2,602
6 rcm 2,587
7 yadm 2,523
8 homesick 2,318
9 habitat 2,287
10 Home Manager using Nix 2,016
11 dynaconf 1,782
12 RailsConfig 1,767
13 homeshick 1,755
14 node-convict 1,727
15 autorandr 1,385
16 gin-config 1,267
17 pyinfra 1,259
18 config-rs 1,019
19 strictyaml 879
20 Pallet 797
21 conf 745
22 ini-parser 680
23 (R)?ex 659