lib/system_builder/configurator.rb in system-builder-0.0.7 vs lib/system_builder/configurator.rb in system-builder-0.0.9
- old
+ new
@@ -12,14 +12,15 @@
end
class PuppetConfigurator
- attr_reader :manifest
+ attr_reader :manifest, :config
- def initialize(manifest = ".")
- @manifest = manifest
+ def initialize(options = {})
+ @manifest = (options.delete(:manifest) or ".")
+ @config = options.dup
end
def puppet_directories
%w{manifests files modules templates plugins}.collect { |d| "#{manifest}/#{d}" }.select { |d| File.directory?(d) }
end
@@ -39,9 +40,15 @@
else
context_dir = "/tmp/puppet"
chroot.image.mkdir context_dir
chroot.image.rsync context_dir, puppet_directories, :exclude => "*~", :delete => true
+
+ chroot.image.open("#{context_dir}/manifests/config.pp") do |f|
+ config.each do |key, value|
+ f.puts "$#{key}=\"#{value}\""
+ end
+ end
chroot.image.mkdir "#{context_dir}/config"
chroot.image.open("#{context_dir}/config/fileserver.conf") do |f|
%w{files plugins}.each do |mount_point|
f.puts "[#{mount_point}]"