Sha256: 9e3ed750b1341652c760e32c378f6c805514fa074b41f6dff8d2970f7869480d
Contents?: true
Size: 1.33 KB
Versions: 21
Compression:
Stored size: 1.33 KB
Contents
--- title: DSL Merge Behavior --- Generally, the merge should behave as expected. For example, map or Hash fields are merged together from multiple layers. Strings are simply replaced. ## Hash Example .kubes/resources/base/all.rb ```ruby labels(app: "demo") # ... ``` .kubes/resources/base/all/env.rb ```ruby labels(env: Kubes.env) # ... ``` .kubes/resources/web/deployment.rb ```ruby labels(role: "web") # ... ``` Layering results in: .kubes/output/web/deployment.yaml ```yaml metadata: labels: app: demo env: dev role: web # ... ``` ## Hash Merge Behavior Override You can override the merge behavior with the `_mode` key. .kubes/resources/web/deployment.rb ```ruby labels(role: "web", _mode: "reset") # ... ``` This will completely reset the labels and result in: ```yaml metadata: labels: role: web # ... ``` ## String Example The merging of simple String is a straightforward replacement. .kubes/resources/web/deployment.rb ```ruby image built_image # IE: user/demo:kubes-2020-06-13T19-55-16-43afc6e # ... ``` .kubes/resources/web/deployment/prod.rb ```ruby image "nginx:prod-v1" # ... ``` Results in: .kubes/output/web/deployment.yaml ```yaml spec: # ... template: spec: containers: - image: nginx:prod-v1 name: demo-web # ... ``` {% include dsl/methods.md name="backend_config" %}
Version data entries
21 entries across 21 versions & 1 rubygems