Vagrant is high level wrapper around virtualization and configuration management
software. It simplifies the creation and management of easily reproduceable
environments. It is particularly suited for development and test enviroments
where servers are brought up and down frequently. It can also be used to bootstrap
It can be used with configuration management software such as
and others to easily provision systems.
Many software projects now ship a
Vagrantfile which allows their users to quickly
setup and test the software using
Vagrant can now be used to manage the creation and provisioning of Rimu VPS systems,
thanks to the
vagrant-rimu provider plugin.
This post will guide you on how to use vagrant to create and provision a Rimu VPS.
In order to proceed the following requirements must be meet.
Rimu API Key
vagrant-rimu plugin uses the Rimu REST API, so a Rimu API Key is required in
order to use the plugin. Rimu REST API keys can be generated via the Rimu
Of course you will have to install
Vagrant on your local system.
Vagrant can be
downloaded from the
Installers are provided for every major operating system.
With the requirements taken care of we can now proceed to the installation of the
vagrant-rimu provider plugin.
We will first create a work space where we will store our files. You can choose
any location i have choosen to put it under
Now install the plugin.
vagrant plugin install vagrant-rimu
It is recommended you generate a SSH key pair for use with your VPS, it is good
practice to use different keys for different services. To generate a new SSH key
pair run the following commands.
ssh-keygen -t rsa -b 4096 -f ~/.ssh/rimu_rsa
With the plugin installed and keys created we can now proceed to the creation
Create the Vagrantfile
To create the the
Vagrantfile run the following command.
The above is a minimal bare bones
Vagrantfile and mostly uses the defaults, it
will setup a Debian 8.0 64-bit VPS in the Dallas DC, with 1512MB of memory,
4GB disk space.
Vagrantfile also contains a minimal shell inline provisioning script which
simply creates a file
~/provision containing the word
done. This is an over
simplified example of how you can use
Vagrant to provision your system. For
real world provisioning you can look to the other available provisioning
The commented out options are not used, they are included to show what is
possible. The options available closely mirror the API options.
You can use the commented out options to further fine tune the installation.
Create the VPS
Vagrantfile we created uses enviroment variables so that you do not
hard code your sensitive credentials such as the API Key in the file.
This means to use the
Vagrantfile we need to set a couple of enviroment
RIMUHOSTING_APIKEY- This is your Rimu API Key described above.
RIMUHOSTING_HOSTNAME- This is the host name of the VPS, it has to be a FQDN.
So lets proceed and set those enviroment variables:
export RIMUHOSTING_HOSTNAME="enter your hostname"
With the enviroment variables in place we can now bring up our VPS:
vagrant up --provider=rimu
This will create the VPS, install your SSH key and run the provisioning
Once the VPS has been created, you will be able to ssh into it directly
Vagrant, to do so run:
You will find the file
~/provision created on the VPS indicating that the
provisioning script was run.
Simple as that.
If you have not used
Vagrant before, this post simply touches the surface
of how handy the tool is. I would recommend you read up on the following
You an also always turn to google and search for howto's, tutorials, use cases
Vagrant you can turn a task that usually takes a few hours to a
matter of minutes as well as eliminate the human error factor.