class Orchparty::Kubernetes::MixinBuilder

Public Class Methods

new(name) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 67
def initialize(name)
  @mixin = AST.mixin(name: name)
end

Public Instance Methods

_build() click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 127
def _build
  @mixin
end
apply(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 108
def apply(name, &block)
  result = ServiceBuilder.build(name, "apply", block)
  @mixin.services[name] = result
  @mixin._mixins[name] = result
  self
end
helm(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 100
def helm(name, &block)
  result = ServiceBuilder.build(name, "helm", block)
  @mixin.services[name] = result
  @mixin._mixins[name] = result
  self
end
mixin(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 115
def mixin(name, &block)
  @mixin._mixins[name] = ServiceMixinBuilder.build(name, block)
end
networks(&block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 123
def networks(&block)
  @mixin.networks = HashBuilder.build(block)
end
service(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 82
def service(name, &block)

  chart_name = "_mixin_temp_name"
  unless @mixin.services[chart_name]
    @mixin.services[chart_name] = AST.chart(name: chart_name, _type: "chart" )
    @mixin._service_order << chart_name
  end
  chart = @mixin.services[chart_name]

  result = ServiceBuilder.build(name, "chart-service", block)

  name = "chart-#{chart.name}-#{name}"
  @mixin.services[name] = result
  @mixin._service_order << name
  chart._services << name
  self
end
template(path) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 71
def template(path)
  chart_name = "_mixin_temp_name"
  unless @mixin.services[chart_name]
    @mixin.services[chart_name] = AST.chart(name: chart_name, _type: "chart" )
    @mixin._service_order << chart_name
  end
  chart = @mixin.services[chart_name]
  chart.template = path
  self
end
volumes(&block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 119
def volumes(&block)
  @mixin.volumes = HashBuilder.build(block)
end