class Kubes::Compiler::Dsl::Syntax::Resource

Attributes

kind_from_block[RW]

Public Instance Methods

default_apiVersion() click to toggle source
# File lib/kubes/compiler/dsl/syntax/resource.rb, line 45
def default_apiVersion
  "v1"
end
default_kind() click to toggle source
# File lib/kubes/compiler/dsl/syntax/resource.rb, line 58
def default_kind
  return @kind_from_block if @kind_from_block
  normalize_kind(@path)
end
Also aliased as: resource_kind
default_metadata() click to toggle source
# File lib/kubes/compiler/dsl/syntax/resource.rb, line 49
def default_metadata
  {
    annotations: annotations,
    name: name,
    labels: labels,
    namespace: namespace,
  }
end
default_result() click to toggle source

top-level of resource is quite common

# File lib/kubes/compiler/dsl/syntax/resource.rb, line 19
def default_result
  data = top.merge(default_top)
  Kubes.deep_merge!(data, default_result_append)
  data.deep_stringify_keys!
  HashSqueezer.squeeze(data)
end
default_result_append() click to toggle source

can be overridden by subclasses. IE: secret

# File lib/kubes/compiler/dsl/syntax/resource.rb, line 41
def default_result_append
  {}
end
default_top() click to toggle source
# File lib/kubes/compiler/dsl/syntax/resource.rb, line 31
def default_top
  {
    apiVersion: apiVersion,
    kind: kind,
    metadata: metadata,
    spec: spec,
  }
end
field(name, data) click to toggle source

For generic kind

# File lib/kubes/compiler/dsl/syntax/resource.rb, line 65
def field(name, data)
  Kubes.deep_merge!(top, {name => data})
end
resource_kind()
Alias for: default_kind
top() click to toggle source

Where to set fields for generic kind

# File lib/kubes/compiler/dsl/syntax/resource.rb, line 27
def top
  @top ||= {}
end