Vagrant Plugin for Action.IO
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Vagrant Action.IO Provider (EXPERIMENTAL)

This is a Vagrant 1.1+ plugin that adds an Action.IO provider to Vagrant, allowing Vagrant to control and provision boxes in Action.IO.


  • Create and boot Action.IO boxes with Vagrant.
  • SSH into Action.IO boxes.
  • Minimal synced folder support via rsync.
  • Provision the boxes with any built-in Vagrant provisioner (Coming soon!)


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

$ vagrant plugin install vagrant-actionio
$ vagrant up --provider=actionio

Quick Start

After installing Vagrant 1.1+ and the Action.IO vagrant provider, open Vagrant Settings page on Action.IO to generate an access token and an example Vagrantfile. Copy the contents of the example Vagrantfile to your Vagrantfile and feel free to edit it to specify your needs. Once done, run vagrant up --provider=actionio to create a box on Action.IO.

Box Format

Every provider in Vagrant must introduce a custom box format. This provider introduces actionio box format. You can view an example box in the example_box/ directory. That directory also contains instructions on how to build a .box file.

The box format is basically just the required metadata.json file along with a Vagrantfile that does default settings for the provider-specific configuration for this provider.


The provider exposes a few provider-specific configuration options:

  • access_token - The access token for accessing Action.IO API.
  • region - Region to create Action.IO box in.
    • US West: us-west-1
    • US East: us-west-1
    • Europe: eu-west-1
    • South America: sa-east-1
    • South-East Asia: ap-southeast-1
    • Australia: ap-southeast-2
  • stack - Name of the base stack.
    • Ruby, Rails: rails
    • Python, Django: django
    • Node.js: nodejs
    • Go: go

These can be set like typical provider-specific configuration:

Vagrant.configure("2") do |config| = "actionio-dummy"
  config.vm.box_url = ""

  config.vm.provider :actionio do |aio|
    aio.access_token = "abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01"
    aio.region = "us-west-1"
    aio.stack = "rails"
    aio.ssh_private_key_path = "~/.ssh/id_rsa"

Super User Access

Action.IO currently does not provide super-user access for free boxes. This means that provisioner scripts that require sudo or root access will not work for free boxes. Paid plans with super-user access is coming soon.


Networking features in the form of are not supported with vagrant-actionio, currently. If any of these are specified, Vagrant will emit a warning, but will otherwise boot the Action.IO box.

Synced Folders

There is minimal support for synced folders. Upon vagrant up, vagrant reload, and vagrant provision, the Actin.IO provider will use rsync (if available) to uni-directionally sync the folder to the remote machine over SSH.

This is good enough for all built-in Vagrant provisioners (shell, chef, and puppet) to work!

For bi-directional realtime syncing, please check out Action.IO for Mac.


Copyright (c) 2013 Irrational Industries Inc. and Mitchell Hashimoto This software is licensed under the MIT License.