Companion repository for my blog post series Infra as a Repo.
In its current incarnation, this example provisions two servers: one salt master (
salt) and one minion that will run
nginx01). These servers can be run locally on VirtualBox, or on Digital Ocean Droplets.
- Install Virtual Box
- Install Vagrant
- Install vagrant-hostmanager:
vagrant plugin install vagrant-hostmanager
- Install vagrant-digitalocean:
vagrant plugin install vagrant-digitalocean
- Install salty-vagrant as described below
If you want to deploy to Digital Ocean, you will need an account well.
The latest official vagrant-salt-plugin release is somewhat outdated. To use this example, you will need to take the following steps:
- Check out salty-vagrant
- Apply Pull Request #98
- Install the plugin following the "Install from source" instructions.
Running local servers
vagrant up to create two virtualbox images. This will download a minimal Debian Wheezy 7.0 image from my
dropbox account and spin up two images:
salt-- a VM containing nothing but a Salt master
nginx01-- a VM containing a Salt minion, which installs an Nginx server
If you want easy access to these machines, add the following lines to your
10.1.14.100 nginx01.intranet 10.1.14.50 salt.intranet
Create servers on Digital Ocean
~/.vagrant.d/ and enter your Digital Ocean API key.
vagrant up --provider=digital_ocean to provision both servers at Digital Ocean. Run
vagrant rebuild to
recreate these server.
By default, the servers are the cheapest Droplets, hosted in NYC.