Awesome Open Source
Awesome Open Source


Blueprint reverse-engineers servers.

  • Easy configuration management.
  • Detect relevant packages, files, and source installs.
  • Generate reusable server configs.
  • Convert blueprints to Puppet or Chef or CFEngine 3.
  • No DSLs, no extra servers, no workflow changes.

Blueprint looks inside popular package managers, finds changes you made to configuration files, and archives software you built from source. It runs on Debian- and RPM-based Linux distros with Python >= 2.6 and Git >= 1.7. See for comprehensive documentation and examples.


Create a blueprint

blueprint create my-first-blueprint

Blueprint inspects your server and stores the results in its local repository. blueprint list shows all the blueprints you've created on this server.

Apply a blueprint

blueprint apply my-first-blueprint

Blueprint generates shell code from my-first-blueprint and executes it on the server.

Generate POSIX shell code from a blueprint

blueprint show -S my-first-blueprint is written to your working directory. Try out -P or -C or --cfengine3 to generate a Puppet module or a Chef cookbook or a CFEngine 3 sketch.

Diff a blueprint

blueprint diff foo bar baz

Blueprint subtracts bar from foo. Files, packages and sources that appears in foo but not bar will be carried over to baz and everything else will be dropped.

Push a blueprint

blueprint push my-first-blueprint

The blueprint and its files are stored remotely. You get a secret URL for accessing it.

Pull a blueprint

blueprint pull

The blueprint is stored locally and ready for use.



  • Debian- or RPM-based Linux
  • Python >= 2.6
  • Git >= 1.7 (not just for installation from source)

You may need to add Defaults !always_set_home to /etc/sudoers to run blueprint as root, which is required in order to capture source tarballs.

From DevStructure’s Debian archive

echo "deb $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/devstructure.list
sudo wget -O /etc/apt/trusted.gpg.d/devstructure.gpg
sudo apt-get update
sudo apt-get -y install blueprint

From PyPI

pip install blueprint

Make sure pip is using Python >= 2.6, otherwise the installation will succeed but Blueprint will not run.

From source on Debian, Ubuntu, Fedora, CentOS 6, and RHEL 6

git clone git://
cd blueprint
git submodule update --init
make && sudo make install

From source on CentOS 5 and RHEL 5

rpm -Uvh
yum install python26
git clone git://
cd blueprint
git submodule update --init
make && sudo make install PYTHON=/usr/bin/python26

This installs Python 2.6 from EPEL side-by-side with Python 2.4 and so won’t break Yum.


The prose documentation provides a comprehensive overview of the tool including philosophy, installation, and detailed examples.

The HTTP protocols and endpoints used by blueprint-push(1) and blueprint-pull(1) are documented so that others may run compatible servers.




Blueprint is BSD-licensed.

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (836,678
Server (65,986
Debian (8,731
Engineer (2,931