Class: TestLab::Provisioner::Apt

Inherits:
Object
  • Object
show all
Defined in:
lib/testlab/provisioners/apt.rb

Overview

APT Provisioner Class

Author:

  • Zachary Patten <zachary AT jovelabs DOT com>

Instance Method Summary collapse

Constructor Details

#initialize(config = {}, ui = nil) ⇒ Apt

Returns a new instance of Apt.



13
14
15
16
17
18
19
20
21
22
23
24
25
# 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

Instance Method Details

#on_container_provision(container) ⇒ Boolean

APT: Container Provision

Parameters:

Returns:

  • (Boolean)

    True if successful.



32
33
34
35
36
# 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