51 lines
1.1 KiB
Ruby
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 File.expand_path("../provider", __FILE__)
|
|
init!
|
|
Provider
|
|
end
|
|
|
|
command "lxc" do
|
|
require_relative 'command/root'
|
|
init!
|
|
Command::Root
|
|
end
|
|
|
|
config(:lxc, :provider) do
|
|
require File.expand_path("../config", __FILE__)
|
|
init!
|
|
Config
|
|
end
|
|
|
|
synced_folder(:lxc) do
|
|
require File.expand_path("../synced_folder", __FILE__)
|
|
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
|