class Dock0::Config

A Config is a system-specific customization layer

Public Instance Methods

default_config() click to toggle source
# File lib/dock0/config.rb, line 8
def default_config
  {
    paths: {
      templates: './templates',
      scripts: './scripts',
      build: './build/config',
      output: './build.tar.gz'
    }
  }
end
easy_mode() click to toggle source
# File lib/dock0/config.rb, line 27
def easy_mode
  cleanup @paths.values_at(:build, :output)
  render_templates('templates')
  run_scripts
  finalize
  cleanup @paths.values_at(:build)
end
finalize() click to toggle source
# File lib/dock0/config.rb, line 19
def finalize
  puts "Packing config into #{@paths[:output]}"
  tar = Dir.chdir(File.dirname(@paths[:build])) do
    run 'tar -cz --owner=root --group=root *'
  end
  File.open(@paths[:output], 'w') { |fh| fh << tar }
end