class KuberKit::Core::ConfigurationDefinition
Constants
- ResourceAlreadyAdded
Attributes
configuration_name[R]
Public Class Methods
new(configuration_name)
click to toggle source
# 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 = [] @services_attributes = {} end
Public Instance Methods
default_services(services)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 124 def default_services(services) @default_services += services.map(&:to_sym) return self end
deployer_namespace(namespace)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 90 def deployer_namespace(namespace) @deployer_namespace = namespace self end
deployer_require_confirmation()
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 102 def deployer_require_confirmation @deployer_require_confirmation = true self end
Also aliased as: deployer_require_confirimation
deployer_strategy(path)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 96 def deployer_strategy(path) @deployer_strategy = path self end
disabled_services(services)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 129 def disabled_services(services) @disabled_services += services.map(&:to_sym) return self end
enabled_services(services)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 109 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
global_build_vars(variables)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 139 def global_build_vars(variables) @global_build_vars = variables self end
kubeconfig_path(path)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 84 def kubeconfig_path(path) @kubeconfig_path = path self end
service_attributes(services)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 134 def service_attributes(services) @services_attributes = @services_attributes.merge(services) self end
to_attrs()
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 20 def to_attrs OpenStruct.new( name: @configuration_name, artifacts: @artifacts, registries: @registries, env_files: @env_files, templates: @templates, kubeconfig_path: @kubeconfig_path, enabled_services: @enabled_services, disabled_services: @disabled_services, default_services: @default_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, ) end
use_artifact(artifact_name, as:)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 40 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)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 76 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:)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 58 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:)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 49 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:)
click to toggle source
# File lib/kuber_kit/core/configuration_definition.rb, line 67 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