Class: DockerBuilder::Provisioner::ProvisionerChef

Inherits:
Object
  • Object
show all
Defined in:
lib/docker_builder/provisioner/provisioner_chef.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_settings) ⇒ ProvisionerChef

Returns a new instance of ProvisionerChef.



21
22
23
24
# File 'lib/docker_builder/provisioner/provisioner_chef.rb', line 21

def initialize(_settings)
  self.server = _settings

end

Instance Attribute Details

#serverObject

Returns the value of attribute server.



5
6
7
# File 'lib/docker_builder/provisioner/provisioner_chef.rb', line 5

def server
  @server
end

Instance Method Details

#build_configObject



53
54
55
56
57
58
59
60
61
62
# File 'lib/docker_builder/provisioner/provisioner_chef.rb', line 53

def build_config
  res = {}

  attr = settings.properties['attributes']
  res = attr

  #res = settings.all_attributes

  res
end

#copy_config_fileObject



28
29
30
31
32
33
34
35
# File 'lib/docker_builder/provisioner/provisioner_chef.rb', line 28

def copy_config_file
  # config json
  save_config

  # copy to container
  DockerBuilder::Command.cmd %Q(docker cp #{filename_config} #{settings.container_name}:/opt/bootstrap/config.json)

end

#filename_configObject



49
50
51
# File 'lib/docker_builder/provisioner/provisioner_chef.rb', line 49

def filename_config
  File.join(Config.root_path, 'temp', "bootstrap-#{settings.name}.json")
end

#save_configObject

helpers



38
39
40
41
42
43
44
45
46
47
# File 'lib/docker_builder/provisioner/provisioner_chef.rb', line 38

def save_config
  require 'json'
  filename = filename_config
  FileUtils.mkdir_p(File.dirname(filename))
  File.open(filename,"w+") do |f|
    f.write(build_config.to_json)
  end

  true
end

#settingsObject



16
17
18
# File 'lib/docker_builder/provisioner/provisioner_chef.rb', line 16

def settings
  server
end