Class: KuberKit::Core::ConfigurationDefinition
- Defined in:
- lib/kuber_kit/core/configuration_definition.rb
Constant Summary collapse
Instance Attribute Summary collapse
-
#configuration_name ⇒ Object
readonly
Returns the value of attribute configuration_name.
Instance Method Summary collapse
- #default_services(services) ⇒ Object
- #deployer_namespace(namespace) ⇒ Object
- #deployer_require_confirmation ⇒ Object (also: #deployer_require_confirimation)
- #deployer_strategy(strategy) ⇒ Object
- #disabled_services(services) ⇒ Object
- #enabled_services(services) ⇒ Object
- #generator_strategy(strategy) ⇒ Object
- #global_build_vars(variables) ⇒ Object
- #initial_services(services) ⇒ Object
-
#initialize(configuration_name) ⇒ ConfigurationDefinition
constructor
A new instance of ConfigurationDefinition.
- #kubeconfig_path(path) ⇒ Object
- #kubectl_entrypoint(path) ⇒ Object
- #post_deploy_services(services) ⇒ Object
- #pre_deploy_services(services) ⇒ Object
- #service_attributes(services) ⇒ Object
- #shell_launcher_strategy(strategy) ⇒ Object
- #to_attrs ⇒ Object
- #use_artifact(artifact_name, as:) ⇒ Object
- #use_build_server(build_server_name) ⇒ Object
- #use_env_file(env_file_name, as:) ⇒ Object
- #use_registry(registry_name, as:) ⇒ Object
- #use_template(template_name, as:) ⇒ Object
Constructor Details
#initialize(configuration_name) ⇒ ConfigurationDefinition
Returns a new instance of ConfigurationDefinition.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 7 def initialize(configuration_name) @configuration_name = configuration_name.to_sym @artifacts = {} @registries = {} @env_files = {} @templates = {} @build_servers = [] @enabled_services = [] @disabled_services = [] @default_services = [] @pre_deploy_services = [] @post_deploy_services = [] @services_attributes = {} end |
Instance Attribute Details
#configuration_name ⇒ Object (readonly)
Returns the value of attribute configuration_name.
4 5 6 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 4 def configuration_name @configuration_name end |
Instance Method Details
#default_services(services) ⇒ Object
149 150 151 152 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 149 def default_services(services) @default_services += services.map(&:to_sym) return self end |
#deployer_namespace(namespace) ⇒ Object
103 104 105 106 107 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 103 def deployer_namespace(namespace) @deployer_namespace = namespace self end |
#deployer_require_confirmation ⇒ Object Also known as: deployer_require_confirimation
121 122 123 124 125 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 121 def deployer_require_confirmation @deployer_require_confirmation = true self end |
#deployer_strategy(strategy) ⇒ Object
109 110 111 112 113 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 109 def deployer_strategy(strategy) @deployer_strategy = strategy self end |
#disabled_services(services) ⇒ Object
171 172 173 174 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 171 def disabled_services(services) @disabled_services += services.map(&:to_sym) return self end |
#enabled_services(services) ⇒ Object
134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 134 def enabled_services(services) if services.is_a?(Hash) @enabled_services += services.keys.map(&:to_sym) @services_attributes = @services_attributes.merge(services) return self end if services.is_a?(Array) @enabled_services += services.map(&:to_sym) return self end raise KuberKit::Error, "#enabled_services method accepts only Array or Hash" end |
#generator_strategy(strategy) ⇒ Object
115 116 117 118 119 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 115 def generator_strategy(strategy) @generator_strategy = strategy self end |
#global_build_vars(variables) ⇒ Object
181 182 183 184 185 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 181 def global_build_vars(variables) @global_build_vars = variables self end |
#initial_services(services) ⇒ Object
154 155 156 157 158 159 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 154 def initial_services(services) unless KuberKit.deprecation_warnings_disabled? puts "WARNING: initial_services is deprecated, please use pre_deploy_services instead" end pre_deploy_services(services) end |
#kubeconfig_path(path) ⇒ Object
91 92 93 94 95 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 91 def kubeconfig_path(path) @kubeconfig_path = path self end |
#kubectl_entrypoint(path) ⇒ Object
97 98 99 100 101 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 97 def kubectl_entrypoint(path) @kubectl_entrypoint = path self end |
#post_deploy_services(services) ⇒ Object
166 167 168 169 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 166 def post_deploy_services(services) @post_deploy_services += services.map(&:to_sym) return self end |
#pre_deploy_services(services) ⇒ Object
161 162 163 164 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 161 def pre_deploy_services(services) @pre_deploy_services += services.map(&:to_sym) return self end |
#service_attributes(services) ⇒ Object
176 177 178 179 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 176 def service_attributes(services) @services_attributes = @services_attributes.merge(services) self end |
#shell_launcher_strategy(strategy) ⇒ Object
128 129 130 131 132 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 128 def shell_launcher_strategy(strategy) @shell_launcher_strategy = strategy self end |
#to_attrs ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 22 def to_attrs OpenStruct.new( name: @configuration_name, artifacts: @artifacts, registries: @registries, env_files: @env_files, templates: @templates, kubeconfig_path: @kubeconfig_path, kubectl_entrypoint: @kubectl_entrypoint, enabled_services: @enabled_services, disabled_services: @disabled_services, default_services: @default_services, pre_deploy_services: @pre_deploy_services, post_deploy_services: @post_deploy_services, build_servers: @build_servers, services_attributes: @services_attributes, global_build_vars: @global_build_vars, deployer_strategy: @deployer_strategy, deployer_namespace: @deployer_namespace, deployer_require_confirmation: @deployer_require_confirmation || false, shell_launcher_strategy: @shell_launcher_strategy, generator_strategy: @generator_strategy, ) end |
#use_artifact(artifact_name, as:) ⇒ Object
47 48 49 50 51 52 53 54 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 47 def use_artifact(artifact_name, as:) if @artifacts.has_key?(as) raise ResourceAlreadyAdded.new("alias name :#{as} is already used by artifact: #{@artifacts[as].inspect}") end @artifacts[as] = artifact_name self end |
#use_build_server(build_server_name) ⇒ Object
83 84 85 86 87 88 89 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 83 def use_build_server(build_server_name) unless @build_servers.include?(build_server_name) @build_servers.push(build_server_name) end self end |
#use_env_file(env_file_name, as:) ⇒ Object
65 66 67 68 69 70 71 72 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 65 def use_env_file(env_file_name, as:) if @env_files.has_key?(as) raise ResourceAlreadyAdded.new("alias name :#{as} is already used by env_file: #{@env_files[as].inspect}") end @env_files[as] = env_file_name self end |
#use_registry(registry_name, as:) ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 56 def use_registry(registry_name, as:) if @registries.has_key?(as) raise ResourceAlreadyAdded.new("alias name :#{as} is already used by registry: #{@registries[as].inspect}") end @registries[as] = registry_name self end |
#use_template(template_name, as:) ⇒ Object
74 75 76 77 78 79 80 81 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 74 def use_template(template_name, as:) if @templates.has_key?(as) raise ResourceAlreadyAdded.new("alias name :#{as} is already used by template: #{@templates[as].inspect}") end @templates[as] = template_name self end |