Vagrant LUDD DUSTcloud Provider

Features

  • Boot instances in LUDD DUSTcloud.
  • SSH into the instances.
  • Provision the instances with any built-in Vagrant provisioner.
  • Minimal synced folder support via rsync.

Usage

Install using the standard Vagrant 1.1+ plugin installation methods. After installing, vagrant up and specify the dustcloud provider. An example is shown below.

$ vagrant plugin install vagrant-dustcloud
...
$ vagrant up --provider=dustcloud
...

Quick Start

After installing the plugin (instructions above), the quickest way to get started is to actually use a dummy Dustcloud box and specify all the details manually within a config.vm.provider block. So first, add the dummy box using any name you want:

$ vagrant box add dummy https://git.ludd.ltu.se/ludd/vagrant-dustcloud/-/raw/master/dummy.box?inline=false
...

And then make a Vagrantfile that looks like the following.

Vagrant.configure("2") do |config|
  config.vm.box = "dummy"

  config.vm.provider :dustcloud do |dustcloud|
    dustcloud.token_file = "~/.dustcloud"
    dustcloud.image = "focal"
    dustcloud.flavor = "small"
  end
end

And then run vagrant up --provider=dustcloud.

Development

To work on the vagrant-dustcloud plugin, clone this repository out, and use Bundler to get the dependencies:

$ bundle

If those pass, you're ready to start developing the plugin. You can test the plugin without installing it into your Vagrant environment by just creating a Vagrantfile in the top level of this directory (it is gitignored) and add the following line to your Vagrantfile

Vagrant.require_plugin "vagrant-dustcloud"

Use bundler to execute Vagrant:

$ bundle exec vagrant up --provider=dustcloud