https://github.com/puppetlabs/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. Installation: https://github.com/puppetlabs/razor-server/wiki/Installation Server: ``` sudo apt-get update sudo apt-get install -y postgresql postgresql-contrib openjdk-8-jdk sudo -i -u postgres createuser -P razor createdb -O razor razor_prd psql -h localhost -l -U razor razor_prd wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb sudo dpkg -i puppetlabs-release-pc1-xenial.deb sudo apt-get update sudo apt-get install -y razor-server sudo vim /etc/puppetlabs/razor-server/config.yaml (update pwd for db_ sudo su - razor razor-admin -e production migrate-database sudo service razor-server start ``` Install the Microkernel, check the above installation link. ``` sudo apt-get install -y dhcpd dnsmasq ``` Then setup PXE, also according to the above installation link. Client: ``` sudo gem install razor-client ``` Commands and VM test: https://github.com/initcron-devops/razor