Vagrant is an application to create and support virtual development environments using virtual machines. Fedora has official support for Vagrant with
libvirt on your local system. DigitalOcean is a cloud provider that provides a one-click deployment of a Fedora Cloud instance to an all-SSD server in under a minute. During the recent Cloud FAD in Raleigh, the Fedora Cloud team packaged a new plugin for Vagrant which enables Fedora users to keep up cloud instances in DigitalOcean using local Vagrantfiles.
How to use this plugin
First step is to install the package in the command line.
$ sudo dnf install -y vagrant-digitalocean
After installing the plugin, the next task is to create the local Vagrantfile. An example is provided below.
$ mkdir digitalocean $ cd digitalocean $ cat Vagrantfile Vagrant.configure('2') do |config| config.vm.hostname = 'dropletname.kushaldas.in' # Alternatively, use provider.name below to set the Droplet name. config.vm.hostname takes precedence. config.vm.provider :digital_ocean do |provider, override| override.ssh.private_key_path = '/home/kdas/.ssh/id_rsa' override.vm.box = 'digital_ocean' override.vm.box_url = "https://github.com/devopsgroup-io/vagrant- digitalocean/raw/master/box/digital_ocean.box" provider.token = 'Your AUTH Token' provider.image = 'fedora-23-x64' provider.region = 'nyc2' provider.size = '512mb' provider.ssh_key_name = 'Kushal' end end
Notes about Vagrant DigitalOcean plugin
A few points to remember about the SSH key naming scheme: if you already have the key uploaded to DigitalOcean, make sure that the
provider.ssh_key_name matches the name of the existing key in their server. The
provider.image details are found at the DigitalOcean documentation. The AUTH token is created on the control panel within the Apps & API section.
You can then get the instance up with the following command.
$ vagrant up --provider=digital_ocean
This command will fire up the instance in the DigitalOcean server. You can then SSH into the box by using
vagrant ssh command. Run
vagrant destroy to destroy the instance.