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