Class: Orchparty::Kubernetes::ApplicationBuilder
- Defined in:
- lib/orchparty/dsl_parser_kubernetes.rb
Instance Method Summary collapse
- #_build ⇒ Object
- #all(&block) ⇒ Object
- #apply(name, &block) ⇒ Object
- #chart(name, &block) ⇒ Object
- #helm(name, &block) ⇒ Object
-
#initialize(name) ⇒ ApplicationBuilder
constructor
A new instance of ApplicationBuilder.
- #label(&block) ⇒ Object
- #mix(name) ⇒ Object
- #mixin(name, &block) ⇒ Object
- #secret_generic(name, &block) ⇒ Object
- #service(name, &block) ⇒ Object
- #template(path) ⇒ Object
- #variables(&block) ⇒ Object
- #volumes(&block) ⇒ Object
- #wait(&block) ⇒ Object
Methods inherited from Builder
Constructor Details
#initialize(name) ⇒ ApplicationBuilder
Returns a new instance of ApplicationBuilder.
134 135 136 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 134 def initialize(name) @application = AST.application(name: name) end |
Instance Method Details
#_build ⇒ Object
234 235 236 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 234 def _build @application end |
#all(&block) ⇒ Object
147 148 149 150 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 147 def all(&block) @application.all = AllBuilder.build(block) self end |
#apply(name, &block) ⇒ Object
177 178 179 180 181 182 |
# 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) ⇒ Object
199 200 201 202 203 |
# 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) ⇒ Object
162 163 164 165 166 167 |
# 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) ⇒ Object
169 170 171 172 173 174 175 |
# 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) ⇒ Object
138 139 140 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 138 def mix(name) @application._mix << name end |
#mixin(name, &block) ⇒ Object
142 143 144 145 |
# 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) ⇒ Object
184 185 186 187 188 189 |
# 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) ⇒ Object
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 |
# 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) ⇒ Object
205 206 207 208 209 210 211 212 213 214 |
# 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) ⇒ Object
152 153 154 155 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 152 def variables(&block) @application._variables = VariableBuilder.build(block) self end |
#volumes(&block) ⇒ Object
157 158 159 160 |
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 157 def volumes(&block) @application.volumes = HashBuilder.build(block) self end |
#wait(&block) ⇒ Object
191 192 193 194 195 196 197 |
# 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 |