Giter Club home page Giter Club logo

blueprint's Introduction

Blueprint

Blueprint reverse-engineers servers

  • Easy configuration management.
  • Detect relevant packages, files, and source installs.
  • Generate reusable server configs.
  • Convert blueprints to Puppet or Chef.
  • 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. Comprehensive documentation and examples in the Blueprint book.

Blueprint I/O moves blueprints around

  • Centralized configuration management.
  • Export and backup server configurations.
  • Push and pull blueprints anywhere.
  • Bootstrap servers painlessly.

Blueprint I/O pushes and pulls blueprints to and from a Blueprint I/O Server, making it easy to use blueprints anywhere. DevStructure provides a free Blueprint I/O Server at https://devstructure.com, which stores blueprints in Amazon S3. Alternatively, you can build your own backend server implementing the Blueprint I/O API.

Usage

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

my-first-blueprint.sh is written to your working directory. Try out -P or -C to generate a Puppet module or a Chef cookbook.

Diff a blueprint

blueprint diff foo bar baz

Blueprint subtracts bar from foo. Files, packages and source 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 https://devstructure.com/MY-SECRET-KEY/my-first-blueprint

The blueprint is stored locally and ready for use.

Installation

Prerequisites:

  • A Debian- or RPM-based Linux distribution
  • Python >= 2.6
  • Git >= 1.7

From source on Debian, Ubuntu, and Fedora

git clone git://github.com/devstructure/blueprint.git
cd blueprint
git submodule update --init
make && sudo make install

From source on CentOS and RHEL 5

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install python26
git clone git://github.com/devstructure/blueprint.git
cd blueprint && 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.

With a package manager

DevStructure maintains Debian packages and Python eggs for Blueprint. See Installing with a package manager on the wiki.

Documentation

The Blueprint book is a comprehensive overview of the tool including philosophy, installation and detailed examples.

The Blueprint tutorial works through creating and deploying a simple web application via Blueprint.

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

Manuals

Plumbing

Contribute

Blueprint is BSD-licensed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.