Mitchell Hashimoto 8c7ab333a0 Squash the f-docker-hostmachine branch.
Initial work

commands/up: make sure all names to with_target_vms are strings

providers/docker: create a docker host VM if needed

providers/docker: executor abstraction for driver to eventually support remote

providers/docker: vagrant executor

providers/docker: support creating the machine

providers/docker: status works if host VM is gone

providers/docker: use start fence to get real docker output

core: Call preserves stack ordering

core: support Message post option

providers/docker: Guard some features with HasSSH checks

providers/docker: much better messaging around create/destroy

providers/docker: output the container ID on create

providers/docker: copy the hostmachine Vagrantfile to the data dir

providers/docker: should make host machine before any up action

providers/docker: HandleBox before the host machine

providers/virtualbox: functional_vboxsf to disable vboxsf

providers/virtualbox: synced folder usable method should take 2 args

providers/docker: default machine name to :default
2014-04-21 13:54:33 -07:00

53 lines
1.3 KiB
Ruby

module VagrantPlugins
module DockerProvider
autoload :Action, File.expand_path("../action", __FILE__)
autoload :Driver, File.expand_path("../driver", __FILE__)
autoload :Errors, File.expand_path("../errors", __FILE__)
module Executor
autoload :Local, File.expand_path("../executor/local", __FILE__)
autoload :Vagrant, File.expand_path("../executor/vagrant", __FILE__)
end
class Plugin < Vagrant.plugin("2")
name "docker-provider"
description <<-EOF
The Docker provider allows Vagrant to manage and control
Docker containers.
EOF
provider(:docker, box_optional: true, parallel: true) do
require_relative 'provider'
init!
Provider
end
config(:docker, :provider) do
require_relative 'config'
init!
Config
end
synced_folder(:docker) do
require File.expand_path("../synced_folder", __FILE__)
SyncedFolder
end
provider_capability("docker", "public_address") do
require_relative "cap/public_address"
Cap::PublicAddress
end
protected
def self.init!
return if defined?(@_init)
I18n.load_path << File.expand_path(
"templates/locales/providers_docker.yml", Vagrant.source_root)
I18n.reload!
@_init = true
end
end
end
end