class Kondate::Config

Constants

DEFAULT_CONFIG_PATH

Public Class Methods

config() click to toggle source
# File lib/kondate/config.rb, line 23
def config
  return @config if @config
  if config_path == DEFAULT_CONFIG_PATH && !File.exist?(config_path)
    @config = Thor::CoreExt::HashWithIndifferentAccess.new({})
  else
    @config = Thor::CoreExt::HashWithIndifferentAccess.new(YAML.load_file(config_path))
  end
end
config_path() click to toggle source
# File lib/kondate/config.rb, line 32
def config_path
  @config_path ||= opts[:config] || ENV['KONDATE_CONFIG_PATH'] || DEFAULT_CONFIG_PATH
end
configure(opts = {}) click to toggle source
# File lib/kondate/config.rb, line 6
def configure(opts = {})
  @opts = opts
  reset
  self
end
environments_properties_dir() click to toggle source
# File lib/kondate/config.rb, line 87
def environments_properties_dir
  config[:environments_properties_dir] || 'properties/environments'
end
explore_role_files?() click to toggle source
# File lib/kondate/config.rb, line 119
def explore_role_files?
  !config[:explore_role_files].nil?
end
host_plugin() click to toggle source
# File lib/kondate/config.rb, line 131
def host_plugin
  return @host_plugin if @host_plugin
  plugin = Thor::CoreExt::HashWithIndifferentAccess.new(config[:host_plugin] || {
    'type' => 'file',
    'path' => 'hosts.yml'
  })
  begin
    require File.join(Config.plugin_dir, "kondate/host_plugin/#{plugin.type}")
  rescue LoadError => e
    require "kondate/host_plugin/#{plugin.type}"
  end
  class_name = "Kondate::HostPlugin::#{StringUtil.camelize(plugin.type)}" 
  @host_plugin = Object.const_get(class_name).new(plugin)
end
itamae_options() click to toggle source
# File lib/kondate/config.rb, line 36
def itamae_options
  @itamae_options ||= Thor::CoreExt::HashWithIndifferentAccess.new(config[:itamae_options] || {})
end
kondate_directories() click to toggle source
# File lib/kondate/config.rb, line 44
def kondate_directories
  {
    'middleware_recipes_dir' => middleware_recipes_dir,
    'roles_recipes_dir' => roles_recipes_dir,
    'middleware_recipes_serverspec_dir' => middleware_recipes_serverspec_dir,
    'roles_recipes_serverspec_dir' => roles_recipes_serverspec_dir,
    'nodes_properties_dir' => nodes_properties_dir,
    'roles_properties_dir' => roles_properties_dir,
    'environments_properties_dir' => environments_properties_dir,
    'secret_middleware_recipes_dir' => secret_middleware_recipes_dir,
    'secret_roles_recipes_dir' => secret_roles_recipes_dir,
    'secret_middleware_recipes_serverspec_dir' => secret_middleware_recipes_serverspec_dir,
    'secret_roles_recipes_serverspec_dir' => secret_roles_recipes_serverspec_dir,
    'secret_nodes_properties_dir' => secret_nodes_properties_dir,
    'secret_roles_properties_dir' => secret_roles_properties_dir,
    'secret_environments_properties_dir' => secret_environments_properties_dir,
  }
end
middleware_recipes_dir() click to toggle source
# File lib/kondate/config.rb, line 63
def middleware_recipes_dir
  config[:middleware_recipes_dir] || 'recipes/middleware'
end
middleware_recipes_serverspec_dir() click to toggle source
# File lib/kondate/config.rb, line 71
def middleware_recipes_serverspec_dir
  config[:middleware_recipes_serverspec_dir] || 'spec/middleware'
end
nodes_properties_dir() click to toggle source
# File lib/kondate/config.rb, line 79
def nodes_properties_dir
  config[:nodes_properties_dir] || 'properties/nodes'
end
opts() click to toggle source
# File lib/kondate/config.rb, line 12
def opts
  @opts ||= {}
end
plugin_dir() click to toggle source
# File lib/kondate/config.rb, line 127
def plugin_dir
  File.expand_path(config[:plugin_dir] || 'lib')
end
reset() click to toggle source
# File lib/kondate/config.rb, line 16
def reset
  @config_path = nil
  @config = nil
end
role_delimiter() click to toggle source
# File lib/kondate/config.rb, line 123
def role_delimiter
  config[:role_delimiter] || '-'
end
roles_properties_dir() click to toggle source
# File lib/kondate/config.rb, line 83
def roles_properties_dir
  config[:roles_properties_dir] || 'properties/roles'
end
roles_recipes_dir() click to toggle source
# File lib/kondate/config.rb, line 67
def roles_recipes_dir
  config[:roles_recipes_dir] || 'recipes/roles'
end
roles_recipes_serverspec_dir() click to toggle source
# File lib/kondate/config.rb, line 75
def roles_recipes_serverspec_dir
  config[:roles_recipes_serverspec_dir] || 'spec/roles'
end
secret_environments_properties_dir() click to toggle source
# File lib/kondate/config.rb, line 115
def secret_environments_properties_dir
  config[:secret_environments_properties_dir] || 'secrets/properties/environments'
end
secret_middleware_recipes_dir() click to toggle source
# File lib/kondate/config.rb, line 91
def secret_middleware_recipes_dir
  config[:secret_middleware_recipes_dir] || 'secrets/recipes/middleware'
end
secret_middleware_recipes_serverspec_dir() click to toggle source
# File lib/kondate/config.rb, line 99
def secret_middleware_recipes_serverspec_dir
  config[:secret_middleware_recipes_serverspec_dir] || 'secrets/spec/middleware'
end
secret_nodes_properties_dir() click to toggle source
# File lib/kondate/config.rb, line 107
def secret_nodes_properties_dir
  config[:secret_nodes_properties_dir] || 'secrets/properties/nodes'
end
secret_roles_properties_dir() click to toggle source
# File lib/kondate/config.rb, line 111
def secret_roles_properties_dir
  config[:secret_roles_properties_dir] || 'secrets/properties/roles'
end
secret_roles_recipes_dir() click to toggle source
# File lib/kondate/config.rb, line 95
def secret_roles_recipes_dir
  config[:secret_roles_recipes_dir] || 'secrets/recipes/roles'
end
secret_roles_recipes_serverspec_dir() click to toggle source
# File lib/kondate/config.rb, line 103
def secret_roles_recipes_serverspec_dir
  config[:secret_roles_recipes_serverspec_dir] || 'secrets/spec/roles'
end
serverspec_options() click to toggle source
# File lib/kondate/config.rb, line 40
def serverspec_options
  @serverspec_options ||= Thor::CoreExt::HashWithIndifferentAccess.new(config[:serverspec_options] || {})
end