class TestLab::Provisioner::Apt

APT Provisioner Class

@author Zachary Patten <zachary AT jovelabs DOT com>

Public Class Methods

new(config={}, ui=nil) click to toggle source
# File lib/testlab/provisioners/apt.rb, line 13
def initialize(config={}, ui=nil)
  @config = (config || Hash.new)
  @ui     = (ui     || TestLab.ui)

  @config[:apt] ||= Hash.new
  @config[:apt][:install]   ||= Array.new
  @config[:apt][:remove]    ||= Array.new
  @config[:apt][:purge]     ||= Array.new
  @config[:apt][:sources]   ||= Array.new
  @config[:apt][:multiarch] ||= true

  @ui.logger.debug { "config(#{@config.inspect})" }
end

Public Instance Methods

on_container_provision(container) click to toggle source

APT: Container Provision

@param [TestLab::Container] container The container which we want to

provision.

@return [Boolean] True if successful.

# File lib/testlab/provisioners/apt.rb, line 32
def on_container_provision(container)
  @ui.logger.debug { "APT Provisioner: Container #{container.id}" }

  container.bootstrap(ZTK::Template.render(provision_template, @config))
end

Private Instance Methods

provision_template() click to toggle source
# File lib/testlab/provisioners/apt.rb, line 40
def provision_template
  File.join(TestLab::Provisioner.template_dir, 'apt', 'provision.erb')
end