Razor is next generation provisioning software that handles bare metal hardware and virtual server provisioning
Ruby HTML Shell PowerShell
Failed to load latest commit information.
bin (RE-6603) Update Torquebox to 3.1.2 Jun 9, 2016
brokers Use single source Windows agent installer for puppet-pe broker Jan 13, 2017
build-winpe Add flag to allow unsigned drivers in WinPE image Feb 16, 2016
db/migrate Add `--no-content` argument to `create-repo` Dec 20, 2014
doc Perform locale negotiation Mar 21, 2017
ext (maint) Update NEWS.md and CentOS 6 smoke test Mar 9, 2017
hooks Fix r_just no implicit conversion error Feb 13, 2016
jars Updating Shiro framework Sep 8, 2014
lib Fix command execution when `auth.allow_localhost` is used Feb 21, 2017
locales Perform locale negotiation Mar 21, 2017
log Initial commit Jun 11, 2013
spec Fix command execution when `auth.allow_localhost` is used Feb 21, 2017
tasks Add Windows Server 2016 task Jan 13, 2017
.gitattributes (maint) Powershell templates should have CRLF line endings Sep 2, 2015
.gitignore Perform locale negotiation Mar 21, 2017
.travis.yml (maint) Add Travis CI support Mar 21, 2017
.yardopts Add yardoc support, using GitHub Format Markdown Jun 18, 2013
Gemfile Perform locale negotiation Mar 21, 2017
Gemfile.lock Perform locale negotiation Mar 21, 2017
LICENSE Revamp the README.md; add an actual LICENSE Aug 21, 2013
MAINTAINERS Add internal_list key to MAINTAINERS Sep 27, 2016
NEWS.md (maint) Update NEWS.md and CentOS 6 smoke test Mar 9, 2017
README.md (maint) Reference latest version of microkernel in docs Mar 21, 2017
Rakefile Perform locale negotiation Mar 21, 2017
app.rb Perform locale negotiation Mar 21, 2017
config.ru Integrate `queue_classic` into razor-server Jun 27, 2013
config.yaml.sample (maint) Update config.yaml.sample to use correct repo_store_root Jun 30, 2016
shiro.ini Add Apache Shiro based RBAC to razor-server Dec 23, 2013
torquebox.rb Asynchronous execution of hooks Nov 18, 2014


Razor server

Razor is an advanced provisioning application which can deploy both bare-metal and virtual systems. It's aimed at solving the problem of how to bring new metal into a state where your existing DevOps/configuration management workflows can take it over.

Newly added machines in a Razor deployment will PXE-boot from a special Razor Microkernel image, then check in, provide Razor with inventory information, and wait for further instructions. Razor will consult user-created policy rules to choose which tasks to apply to a new node, which will begin to follow the task directions, giving feedback to Razor as it completes various steps. Tasks can include steps for handoff to a DevOps system such as Puppet or to any other system capable of controlling the node (such as a vCenter server taking possession of ESX systems).

Getting in touch

Getting started

The Wiki has all the details; in particular look at

What does Razor do anyway?

Razor is a power control, provisioning, and management application designed to deploy both bare-metal and virtual computer resources. Razor provides broker plugins for integration with third party configuration systems such as Puppet.

Razor does this by discovering new nodes using facter, tagging nodes using facts based on user-supplied rules and deciding what to install through matching tags to user-supplied policies. Installation itself is handled flexibly through ERB templating all installer files. Once installation completes, the node can be handed off to a broker, typically a configuration management system. Razor makes this handoff seamless and flexible.

Razor MicroKernel

The MicroKernel is a small OS image that Razor boots on new nodes to do discovery. It periodically submits facts about the node and waits for instructions from the server about what to do next, if anything.

A prebuilt archive is available.

Razor Client

The Client is a small Ruby script that makes interacting with the server from the command line easier. It lets you explore what the server knows about your infrastructure, and modify how machines are provisioned, by interacting with the Razor server API



Razor is distributed under the Apache 2.0 license. See the LICENSE file for full details.