class Orchparty::Kubernetes::ApplicationBuilder

Public Class Methods

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

Public Instance Methods

_build() click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 234
def _build
  @application
end
all(&block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 147
def all(&block)
  @application.all = AllBuilder.build(block)
  self
end
apply(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 177
def apply(name, &block)
  result = ServiceBuilder.build(name, "apply", block)
  @application.services[name] = result
  @application._service_order << name
  self
end
chart(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 199
def chart(name, &block)
  @application.services[name] = ChartBuilder.build(name, @application, "chart", block)
  @application._service_order << name
  self
end
helm(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 162
def helm(name, &block)
  result = ServiceBuilder.build(name, "helm", block)
  @application.services[name] = result
  @application._service_order << name
  self
end
label(&block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 169
def label(&block)
  name = SecureRandom.hex
  result = ServiceWithoutNameBuilder.build("label", block)
  @application.services[name] = result
  @application._service_order << name
  self
end
mix(name) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 138
def mix(name)
  @application._mix << name
end
mixin(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 142
def mixin(name, &block)
  @application._mixins[name] = ApplicationMixinBuilder.build(block)
  self
end
secret_generic(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 184
def secret_generic(name, &block)
  result = ServiceBuilder.build(name, "secret_generic", block)
  @application.services[name] = result
  @application._service_order << name
  self
end
service(name, &block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 216
def service(name, &block)

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

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

  name = "chart-#{chart.name}-#{name}"
  @application.services[name] = result
  @application._service_order << name
  chart._services << name
  self
end
template(path) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 205
def template(path)
  chart_name = @application.name
  unless @application.services[chart_name]
    @application.services[chart_name] = AST.chart(name: chart_name, _type: "chart" )
    @application._service_order << chart_name
  end
  chart = @application.services[chart_name]
  chart.template = path
  self
end
variables(&block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 152
def variables(&block)
  @application._variables = VariableBuilder.build(block)
  self
end
volumes(&block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 157
def volumes(&block)
  @application.volumes = HashBuilder.build(block)
  self
end
wait(&block) click to toggle source
# File lib/orchparty/dsl_parser_kubernetes.rb, line 191
def wait(&block)
  name = SecureRandom.hex
  result = ServiceBuilder.build(name, "wait", block)
  @application.services[name] = result
  @application._service_order << name
  self
end