vagrant-lxc-ng/lib/vagrant-lxc/plugin.rb

51 lines
1.1 KiB
Ruby

require 'vagrant'
module Vagrant
module LXC
class Plugin < Vagrant.plugin("2")
name "vagrant-lxc"
description <<-EOF
The LXC provider allows Vagrant to manage and control
LXC-based virtual machines.
EOF
provider(:lxc, parallel: true, priority: 7) do
require_relative 'provider'
init!
Provider
end
command "lxc" do
require_relative 'command/root'
init!
Command::Root
end
config(:lxc, :provider) do
require_relative 'config'
init!
Config
end
synced_folder(:lxc) do
require_relative 'synced_folder'
SyncedFolder
end
provider_capability("lxc", "public_address") do
require_relative "provider/cap/public_address"
Provider::Cap::PublicAddress
end
protected
def self.init!
return if defined?(@_init)
I18n.load_path << File.expand_path(File.dirname(__FILE__) + '/../../locales/en.yml')
I18n.reload!
@_init = true
end
end
end
end