Class: KuberKit::Core::ServiceFactory

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

Instance Method Summary collapse

Instance Method Details

#create(definition) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/kuber_kit/core/service_factory.rb', line 2

def create(definition)
  service_attrs = definition.to_service_attrs

  configuration_attributes = KuberKit.current_configuration.service_attributes(service_attrs.name)
  attributes = (service_attrs.attributes || {}).merge(configuration_attributes)

  KuberKit::Core::Service.new(
    name:               service_attrs.name,
    initializers:       service_attrs.initializers,
    template_name:      service_attrs.template_name,
    tags:               service_attrs.tags,
    images:             service_attrs.images,
    attributes:         attributes,
    deployer_strategy:  service_attrs.deployer_strategy,
    generator_strategy: service_attrs.generator_strategy,
  )
end