Class: Kondate::Config
- Inherits:
-
Object
- Object
- Kondate::Config
- Defined in:
- lib/kondate/config.rb
Constant Summary collapse
- DEFAULT_CONFIG_PATH =
'.kondate.conf'
Class Method Summary collapse
- .config ⇒ Object
- .config_path ⇒ Object
- .configure(opts = {}) ⇒ Object
- .environments_properties_dir ⇒ Object
- .explore_role_files? ⇒ Boolean
- .host_plugin ⇒ Object
- .kondate_directories ⇒ Object
- .middleware_recipes_dir ⇒ Object
- .middleware_recipes_serverspec_dir ⇒ Object
- .nodes_properties_dir ⇒ Object
- .opts ⇒ Object
- .plugin_dir ⇒ Object
- .reset ⇒ Object
- .role_delimiter ⇒ Object
- .roles_properties_dir ⇒ Object
- .roles_recipes_dir ⇒ Object
- .roles_recipes_serverspec_dir ⇒ Object
- .secret_environments_properties_dir ⇒ Object
- .secret_middleware_recipes_dir ⇒ Object
- .secret_middleware_recipes_serverspec_dir ⇒ Object
- .secret_nodes_properties_dir ⇒ Object
- .secret_roles_properties_dir ⇒ Object
- .secret_roles_recipes_dir ⇒ Object
- .secret_roles_recipes_serverspec_dir ⇒ Object
Class Method Details
.config ⇒ Object
23 24 25 26 27 28 29 30 |
# 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 ⇒ Object
32 33 34 |
# File 'lib/kondate/config.rb', line 32 def config_path @config_path ||= opts[:config] || ENV['KONDATE_CONFIG_PATH'] || DEFAULT_CONFIG_PATH end |
.configure(opts = {}) ⇒ Object
6 7 8 9 10 |
# File 'lib/kondate/config.rb', line 6 def configure(opts = {}) @opts = opts reset self end |
.environments_properties_dir ⇒ Object
79 80 81 |
# File 'lib/kondate/config.rb', line 79 def environments_properties_dir config[:environments_properties_dir] || 'properties/environments' end |
.explore_role_files? ⇒ Boolean
111 112 113 |
# File 'lib/kondate/config.rb', line 111 def explore_role_files? !config[:explore_role_files].nil? end |
.host_plugin ⇒ Object
123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/kondate/config.rb', line 123 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 |
.kondate_directories ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/kondate/config.rb', line 36 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 ⇒ Object
55 56 57 |
# File 'lib/kondate/config.rb', line 55 def middleware_recipes_dir config[:middleware_recipes_dir] || 'recipes/middleware' end |
.middleware_recipes_serverspec_dir ⇒ Object
63 64 65 |
# File 'lib/kondate/config.rb', line 63 def middleware_recipes_serverspec_dir config[:middleware_recipes_serverspec_dir] || 'spec/middleware' end |
.nodes_properties_dir ⇒ Object
71 72 73 |
# File 'lib/kondate/config.rb', line 71 def nodes_properties_dir config[:nodes_properties_dir] || 'properties/nodes' end |
.opts ⇒ Object
12 13 14 |
# File 'lib/kondate/config.rb', line 12 def opts @opts ||= {} end |
.plugin_dir ⇒ Object
119 120 121 |
# File 'lib/kondate/config.rb', line 119 def plugin_dir File.(config[:plugin_dir] || 'lib') end |
.reset ⇒ Object
16 17 18 19 |
# File 'lib/kondate/config.rb', line 16 def reset @config_path = nil @config = nil end |
.role_delimiter ⇒ Object
115 116 117 |
# File 'lib/kondate/config.rb', line 115 def role_delimiter config[:role_delimiter] || '-' end |
.roles_properties_dir ⇒ Object
75 76 77 |
# File 'lib/kondate/config.rb', line 75 def roles_properties_dir config[:roles_properties_dir] || 'properties/roles' end |
.roles_recipes_dir ⇒ Object
59 60 61 |
# File 'lib/kondate/config.rb', line 59 def roles_recipes_dir config[:roles_recipes_dir] || 'recipes/roles' end |
.roles_recipes_serverspec_dir ⇒ Object
67 68 69 |
# File 'lib/kondate/config.rb', line 67 def roles_recipes_serverspec_dir config[:roles_recipes_serverspec_dir] || 'spec/roles' end |
.secret_environments_properties_dir ⇒ Object
107 108 109 |
# File 'lib/kondate/config.rb', line 107 def secret_environments_properties_dir config[:secret_environments_properties_dir] || 'secrets/properties/environments' end |
.secret_middleware_recipes_dir ⇒ Object
83 84 85 |
# File 'lib/kondate/config.rb', line 83 def secret_middleware_recipes_dir config[:secret_middleware_recipes_dir] || 'secrets/recipes/middleware' end |
.secret_middleware_recipes_serverspec_dir ⇒ Object
91 92 93 |
# File 'lib/kondate/config.rb', line 91 def secret_middleware_recipes_serverspec_dir config[:secret_middleware_recipes_serverspec_dir] || 'secrets/spec/middleware' end |
.secret_nodes_properties_dir ⇒ Object
99 100 101 |
# File 'lib/kondate/config.rb', line 99 def secret_nodes_properties_dir config[:secret_nodes_properties_dir] || 'secrets/properties/nodes' end |
.secret_roles_properties_dir ⇒ Object
103 104 105 |
# File 'lib/kondate/config.rb', line 103 def secret_roles_properties_dir config[:secret_roles_properties_dir] || 'secrets/properties/roles' end |
.secret_roles_recipes_dir ⇒ Object
87 88 89 |
# File 'lib/kondate/config.rb', line 87 def secret_roles_recipes_dir config[:secret_roles_recipes_dir] || 'secrets/recipes/roles' end |
.secret_roles_recipes_serverspec_dir ⇒ Object
95 96 97 |
# File 'lib/kondate/config.rb', line 95 def secret_roles_recipes_serverspec_dir config[:secret_roles_recipes_serverspec_dir] || 'secrets/spec/roles' end |