Class: KuberKit::Core::ConfigurationFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/kuber_kit/core/configuration_factory.rb

Constant Summary collapse

NotFoundError =
Class.new(KuberKit::NotFoundError)

Instance Method Summary collapse

Instance Method Details

#create(definition) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/kuber_kit/core/configuration_factory.rb', line 13

def create(definition)
  configuration_attrs = definition.to_attrs

  artifacts  = fetch_artifacts(configuration_attrs.artifacts)
  registries = fetch_registries(configuration_attrs.registries)
  env_files  = fetch_env_files(configuration_attrs.env_files)
  templates  = fetch_templates(configuration_attrs.templates)
  build_servers = fetch_build_servers(configuration_attrs.build_servers)

  KuberKit::Core::Configuration.new(
    name:               configuration_attrs.name,
    artifacts:          artifacts,
    registries:         registries,
    env_files:          env_files,
    templates:          templates,
    kubeconfig_path:    configuration_attrs.kubeconfig_path,
    deployer_strategy:  configuration_attrs.deployer_strategy || configs.deployer_strategy,
    deployer_namespace: configuration_attrs.deployer_namespace,
    build_servers:      build_servers,
    services_attributes:  configuration_attrs.services_attributes,
    global_build_vars:    configuration_attrs.global_build_vars || {},
  )
end