Sha256: 641ff7a911e1fc93be2ca0dbea07bf9f215f3c2888a4b4467cdeae2274f13f18

Contents?: true

Size: 1.8 KB

Versions: 4

Compression:

Stored size: 1.8 KB

Contents

require 'vagrant'
require 'pe_build/version'

if Vagrant::VERSION < "1.1.0"
  raise "vagrant-pe_build version #{PEBuild::VERSION} requires Vagrant 1.1 or later"
end

module PEBuild
  class Plugin < Vagrant.plugin('2')

    name 'pe_build'

    description <<-DESC
    This plugin adds commands and provisioners to automatically install Puppet
    Enterprise on Vagrant guests.
    DESC

    # User facing plugin configuration

    config(:pe_bootstrap, :provisioner) do
      require_relative 'config'
      PEBuild::Config::PEBootstrap
    end

    config(:pe_build) do
      require_relative 'config'
      PEBuild::Config::Global
    end

    provisioner(:pe_bootstrap) do
      require_relative 'provisioner/pe_bootstrap'
      PEBuild::Provisioner::PEBootstrap
    end

    command(:'pe-build') do
      require_relative 'command'
      PEBuild::Command::Base
    end

    # Guest capabilities for installing PE

    guest_capability('debian', 'detect_installer') do
      require_relative 'cap'
      PEBuild::Cap::DetectInstaller::Debian
    end

    guest_capability('redhat', 'detect_installer') do
      require_relative 'cap'
      PEBuild::Cap::DetectInstaller::Redhat
    end

    guest_capability('ubuntu', 'detect_installer') do
      require_relative 'cap'
      PEBuild::Cap::DetectInstaller::Ubuntu
    end

    guest_capability('linux', 'run_install') do
      require_relative 'cap'
      PEBuild::Cap::RunInstall::POSIX
    end

    guest_capability('solaris', 'run_install') do
      require_relative 'cap'
      PEBuild::Cap::RunInstall::POSIX
    end

    # internal action hooks

    action_hook('PE Build: initialize build dir') do |hook|
      require 'pe_build/action'
      hook.prepend PEBuild::Action::PEBuildDir
    end

    def self.config_builder_hook
      require_relative 'config_builder'
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vagrant-pe_build-0.4.3 lib/pe_build/plugin.rb
vagrant-pe_build-0.4.2 lib/pe_build/plugin.rb
vagrant-pe_build-0.4.1 lib/pe_build/plugin.rb
vagrant-pe_build-0.4.0 lib/pe_build/plugin.rb