Class: Orchparty::Kubernetes::MixinBuilder
- Defined in:
- lib/orchparty/dsl_parser_kubernetes.rb
Instance Method Summary collapse
- #_build ⇒ Object
- #apply(name, &block) ⇒ Object
- #helm(name, &block) ⇒ Object
-
#initialize(name) ⇒ MixinBuilder
constructor
A new instance of MixinBuilder.
- #mixin(name, &block) ⇒ Object
- #networks(&block) ⇒ Object
- #service(name, &block) ⇒ Object
- #template(path) ⇒ Object
- #volumes(&block) ⇒ Object
Methods inherited from Builder
Constructor Details
#initialize(name) ⇒ MixinBuilder
Returns a new instance of MixinBuilder.
67 68 69 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 67 def initialize(name) @mixin = AST.mixin(name: name) end |
Instance Method Details
#_build ⇒ Object
127 128 129 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 127 def _build @mixin end |
#apply(name, &block) ⇒ Object
108 109 110 111 112 113 |
# 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) ⇒ Object
100 101 102 103 104 105 |
# 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) ⇒ Object
115 116 117 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 115 def mixin(name, &block) @mixin._mixins[name] = ServiceMixinBuilder.build(name, block) end |
#networks(&block) ⇒ Object
123 124 125 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 123 def networks(&block) @mixin.networks = HashBuilder.build(block) end |
#service(name, &block) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# 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) ⇒ Object
71 72 73 74 75 76 77 78 79 80 |
# 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) ⇒ Object
119 120 121 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 119 def volumes(&block) @mixin.volumes = HashBuilder.build(block) end |