mirror of https://github.com/helm/helm
pull/167/head^2^2
parent
83876d6b69
commit
91b96cd25a
@ -1,3 +1,4 @@
|
||||
pyyaml
|
||||
Jinja2
|
||||
Jsonschema
|
||||
Jsonpath
|
||||
|
@ -0,0 +1,9 @@
|
||||
resources:
|
||||
- name: {{ env['name'] }}-backend
|
||||
type: instance_builder.jinja
|
||||
properties:
|
||||
instance-name: {{ env['name'] }}-backend-vm
|
||||
target-ip: {{ properties['frontend-ip'] }}
|
||||
outputs:
|
||||
- name: ip
|
||||
value: $(ref.{{ env['name'] }}-backend.ip)
|
@ -0,0 +1,8 @@
|
||||
resources:
|
||||
- name: chain-template
|
||||
type: one_simple.jinja
|
||||
outputs:
|
||||
- name: parent_ip
|
||||
# We expect the ip value from one_simple.jinja, which in turn
|
||||
# comes from simple.jinja, 192.168.0.0
|
||||
value: $(ref.chain-template.intermediate_ip)
|
@ -0,0 +1,23 @@
|
||||
config:
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
layout:
|
||||
outputs:
|
||||
- name: parent_ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: chain-template
|
||||
outputs:
|
||||
- name: intermediate_ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: simple-template
|
||||
outputs:
|
||||
- name: ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
type: simple.jinja
|
||||
type: one_simple.jinja
|
@ -0,0 +1,7 @@
|
||||
resources:
|
||||
- name: simple-template
|
||||
type: simple.jinja
|
||||
outputs:
|
||||
- name: parent_ip
|
||||
# We expect the ip value from simple.jinja, 192.168.0.0
|
||||
value: $(ref.simple-template.ip)
|
@ -0,0 +1,17 @@
|
||||
config:
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
layout:
|
||||
outputs:
|
||||
- name: parent_ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: simple-template
|
||||
outputs:
|
||||
- name: ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
type: simple.jinja
|
@ -0,0 +1,9 @@
|
||||
resources:
|
||||
- name: one
|
||||
type: simple-instance
|
||||
{# properties['value'] is a refernce, not yet a number. #}
|
||||
{# So this shouldn't output anything. #}
|
||||
{% if properties['value'] is number %}
|
||||
- name: two
|
||||
type: simple-instance
|
||||
{% endif %}
|
@ -0,0 +1,7 @@
|
||||
resources:
|
||||
- name: one
|
||||
type: output_one.jinja
|
||||
- name: conditional
|
||||
type: conditional.jinja
|
||||
properties:
|
||||
value: $(ref.one.one)
|
@ -0,0 +1,18 @@
|
||||
config:
|
||||
resources:
|
||||
- name: one
|
||||
type: simple-instance
|
||||
layout:
|
||||
resources:
|
||||
- name: one
|
||||
outputs:
|
||||
- name: one
|
||||
value: 1
|
||||
type: output_one.jinja
|
||||
- name: conditional
|
||||
properties:
|
||||
value: $(ref.one.one)
|
||||
resources:
|
||||
- name: one
|
||||
type: simple-instance
|
||||
type: conditional.jinja
|
@ -0,0 +1,8 @@
|
||||
resources:
|
||||
- name: simple-consume-template
|
||||
type: one_consume.jinja
|
||||
- name: consume-simple
|
||||
type: simple-instance
|
||||
properties:
|
||||
# Get the output value of simple.jinja, we expect 192.168.0.0
|
||||
target: $(ref.simple-consume-template.intermediate_ip)
|
@ -0,0 +1,32 @@
|
||||
config:
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
- name: sub-consume-simple
|
||||
properties:
|
||||
target: 192.168.0.0
|
||||
type: simple-instance
|
||||
- name: consume-simple
|
||||
properties:
|
||||
target: 192.168.0.0
|
||||
type: simple-instance
|
||||
layout:
|
||||
resources:
|
||||
- name: simple-consume-template
|
||||
outputs:
|
||||
- name: intermediate_ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: simple-template
|
||||
outputs:
|
||||
- name: ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
type: simple.jinja
|
||||
- name: sub-consume-simple
|
||||
type: simple-instance
|
||||
type: one_consume.jinja
|
||||
- name: consume-simple
|
||||
type: simple-instance
|
@ -0,0 +1,8 @@
|
||||
resources:
|
||||
- name: simple-template
|
||||
type: simple.jinja
|
||||
- name: consume-simple
|
||||
type: simple-instance
|
||||
properties:
|
||||
# Get the output value of simple.jinja, we expect 192.168.0.0
|
||||
target: $(ref.simple-template.ip)
|
@ -0,0 +1,20 @@
|
||||
config:
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
- name: consume-simple
|
||||
properties:
|
||||
target: 192.168.0.0
|
||||
type: simple-instance
|
||||
layout:
|
||||
resources:
|
||||
- name: simple-template
|
||||
outputs:
|
||||
- name: ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
type: simple.jinja
|
||||
- name: consume-simple
|
||||
type: simple-instance
|
@ -0,0 +1,9 @@
|
||||
resources:
|
||||
- name: {{ env['name'] }}-frontend
|
||||
type: instance_builder.jinja
|
||||
properties:
|
||||
instance-name: {{ env['name'] }}-frontend-vm
|
||||
target-ip: {{ properties['backend-ip'] }}
|
||||
outputs:
|
||||
- name: ip
|
||||
value: $(ref.{{ env['name'] }}-frontend.ip)
|
@ -0,0 +1,8 @@
|
||||
resources:
|
||||
- name: {{ properties['instance-name'] }}
|
||||
type: simple-instance
|
||||
properties:
|
||||
target: {{ properties['target-ip'] }}
|
||||
outputs:
|
||||
- name: ip
|
||||
value: $(ref.{{ properties['instance-name'] }}.network[0].ip)
|
@ -0,0 +1,5 @@
|
||||
resources:
|
||||
|
||||
outputs:
|
||||
- name: type
|
||||
value: my-kubernetes
|
@ -0,0 +1,9 @@
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
outputs:
|
||||
- name: ips
|
||||
value:
|
||||
- 192.168.0.0
|
||||
- 192.168.0.1
|
||||
- 192.168.0.2
|
@ -0,0 +1,12 @@
|
||||
resources:
|
||||
- name: simple-template
|
||||
type: list_output.jinja
|
||||
- name: consume-list
|
||||
type: simple-instance
|
||||
properties:
|
||||
# Get the first output value of list_output.jinja, we expect 192.168.0.1
|
||||
first-ip: $(ref.simple-template.ips[1])
|
||||
outputs:
|
||||
- name: second-ip
|
||||
# We expect the 2nd ip from list_outputs.jinja, 192.168.0.2
|
||||
value: $(ref.simple-template.ips[2])
|
@ -0,0 +1,26 @@
|
||||
config:
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
- name: consume-list
|
||||
properties:
|
||||
first-ip: 192.168.0.1
|
||||
type: simple-instance
|
||||
layout:
|
||||
outputs:
|
||||
- name: second-ip
|
||||
value: 192.168.0.2
|
||||
resources:
|
||||
- name: simple-template
|
||||
outputs:
|
||||
- name: ips
|
||||
value:
|
||||
- 192.168.0.0
|
||||
- 192.168.0.1
|
||||
- 192.168.0.2
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
type: list_output.jinja
|
||||
- name: consume-list
|
||||
type: simple-instance
|
@ -0,0 +1,12 @@
|
||||
resources:
|
||||
- name: simple-template
|
||||
type: simple.jinja
|
||||
- name: sub-consume-simple
|
||||
type: simple-instance
|
||||
properties:
|
||||
# Get the output value of simple.jinja, we expect 192.168.0.0
|
||||
target: $(ref.simple-template.ip)
|
||||
outputs:
|
||||
- name: intermediate_ip
|
||||
# We expect the ip value from simple.jinja, 192.168.0.0
|
||||
value: $(ref.simple-template.ip)
|
@ -0,0 +1,7 @@
|
||||
resources:
|
||||
- name: simple-template
|
||||
type: simple.jinja
|
||||
outputs:
|
||||
- name: intermediate_ip
|
||||
# We expect the ip value from simple.jinja, 192.168.0.0
|
||||
value: $(ref.simple-template.ip)
|
@ -0,0 +1,5 @@
|
||||
resources:
|
||||
|
||||
outputs:
|
||||
- name: one
|
||||
value: 1
|
@ -0,0 +1,5 @@
|
||||
resources:
|
||||
|
||||
outputs:
|
||||
- name: type
|
||||
value: helper.jinja
|
@ -0,0 +1,5 @@
|
||||
resources:
|
||||
- name: foo
|
||||
type: output_template.jinja
|
||||
- name: bar
|
||||
type: $(ref.foo.type)
|
@ -0,0 +1,6 @@
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
outputs:
|
||||
- name: ip
|
||||
value: 192.168.0.0
|
@ -0,0 +1,6 @@
|
||||
resources:
|
||||
- type: simple-type
|
||||
name: simple-instance
|
||||
outputs:
|
||||
- name: ip
|
||||
value: 192.168.0.0
|
@ -0,0 +1,11 @@
|
||||
config:
|
||||
resources:
|
||||
- name: simple-instance
|
||||
type: simple-type
|
||||
layout:
|
||||
outputs:
|
||||
- name: ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: simple-instance
|
||||
type: simple-type
|
@ -0,0 +1,17 @@
|
||||
resources:
|
||||
- name: frontend
|
||||
type: instance_builder.jinja
|
||||
properties:
|
||||
instance-name: mixer
|
||||
target-ip: $(ref.backend.ip)
|
||||
|
||||
- name: backend
|
||||
type: instance_builder.jinja
|
||||
properties:
|
||||
instance-name: workflow
|
||||
target-ip: $(ref.frontend.ip)
|
||||
outputs:
|
||||
- name: frontend-ip
|
||||
value: $(ref.frontend.ip)
|
||||
- name: backend-ip
|
||||
value: $(ref.backend.ip)
|
@ -0,0 +1,39 @@
|
||||
config:
|
||||
resources:
|
||||
- name: mixer
|
||||
properties:
|
||||
target: $(ref.workflow.network[0].ip)
|
||||
type: simple-instance
|
||||
- name: workflow
|
||||
properties:
|
||||
target: $(ref.mixer.network[0].ip)
|
||||
type: simple-instance
|
||||
layout:
|
||||
outputs:
|
||||
- name: frontend-ip
|
||||
value: $(ref.mixer.network[0].ip)
|
||||
- name: backend-ip
|
||||
value: $(ref.workflow.network[0].ip)
|
||||
resources:
|
||||
- name: frontend
|
||||
outputs:
|
||||
- name: ip
|
||||
value: $(ref.mixer.network[0].ip)
|
||||
properties:
|
||||
instance-name: mixer
|
||||
target-ip: $(ref.backend.ip)
|
||||
resources:
|
||||
- name: mixer
|
||||
type: simple-instance
|
||||
type: instance_builder.jinja
|
||||
- name: backend
|
||||
outputs:
|
||||
- name: ip
|
||||
value: $(ref.workflow.network[0].ip)
|
||||
properties:
|
||||
instance-name: workflow
|
||||
target-ip: $(ref.frontend.ip)
|
||||
resources:
|
||||
- name: workflow
|
||||
type: simple-instance
|
||||
type: instance_builder.jinja
|
@ -0,0 +1,6 @@
|
||||
resources:
|
||||
- name: simple-template
|
||||
type: simple.jinja
|
||||
outputs:
|
||||
- name: port
|
||||
value: 88
|
@ -0,0 +1,17 @@
|
||||
config:
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
layout:
|
||||
outputs:
|
||||
- name: port
|
||||
value: 88
|
||||
resources:
|
||||
- name: simple-template
|
||||
outputs:
|
||||
- name: ip
|
||||
value: 192.168.0.0
|
||||
resources:
|
||||
- name: simple-name
|
||||
type: simple-instance
|
||||
type: simple.jinja
|
@ -0,0 +1,8 @@
|
||||
resources:
|
||||
- name: kubernetes-cluster
|
||||
type: kubernetes.jinja
|
||||
- name: sub-thingy
|
||||
type: $(ref.kubernetes-cluster.type)
|
||||
outputs:
|
||||
- name: type
|
||||
value: $(ref.kubernetes-cluster.type)
|
@ -0,0 +1,5 @@
|
||||
resources:
|
||||
- name: type-helper
|
||||
type: type.jinja
|
||||
- name: thingy
|
||||
type: $(ref.type-helper.type)
|
@ -0,0 +1,23 @@
|
||||
config:
|
||||
resources:
|
||||
- name: sub-thingy
|
||||
type: my-kubernetes
|
||||
- name: thingy
|
||||
type: my-kubernetes
|
||||
layout:
|
||||
resources:
|
||||
- name: type-helper
|
||||
outputs:
|
||||
- name: type
|
||||
value: my-kubernetes
|
||||
resources:
|
||||
- name: kubernetes-cluster
|
||||
outputs:
|
||||
- name: type
|
||||
value: my-kubernetes
|
||||
type: kubernetes.jinja
|
||||
- name: sub-thingy
|
||||
type: $(ref.kubernetes-cluster.type)
|
||||
type: type.jinja
|
||||
- name: thingy
|
||||
type: $(ref.type-helper.type)
|
@ -0,0 +1,14 @@
|
||||
resources:
|
||||
- name: mixer
|
||||
type: frontend.jinja
|
||||
properties:
|
||||
backend-ip: $(ref.workflow.ip)
|
||||
- name: workflow
|
||||
type: backend.jinja
|
||||
properties:
|
||||
frontend-ip: $(ref.mixer.ip)
|
||||
outputs:
|
||||
- name: frontend-ip
|
||||
value: $(ref.mixer.ip)
|
||||
- name: backend-ip
|
||||
value: $(ref.workflow.ip)
|
@ -0,0 +1,55 @@
|
||||
config:
|
||||
resources:
|
||||
- name: mixer-frontend-vm
|
||||
properties:
|
||||
target: $(ref.workflow-backend-vm.network[0].ip)
|
||||
type: simple-instance
|
||||
- name: workflow-backend-vm
|
||||
properties:
|
||||
target: $(ref.mixer-frontend-vm.network[0].ip)
|
||||
type: simple-instance
|
||||
layout:
|
||||
outputs:
|
||||
- name: frontend-ip
|
||||
value: $(ref.mixer-frontend-vm.network[0].ip)
|
||||
- name: backend-ip
|
||||
value: $(ref.workflow-backend-vm.network[0].ip)
|
||||
resources:
|
||||
- name: mixer
|
||||
outputs:
|
||||
- name: ip
|
||||
value: $(ref.mixer-frontend-vm.network[0].ip)
|
||||
properties:
|
||||
backend-ip: $(ref.workflow.ip)
|
||||
resources:
|
||||
- name: mixer-frontend
|
||||
outputs:
|
||||
- name: ip
|
||||
value: $(ref.mixer-frontend-vm.network[0].ip)
|
||||
properties:
|
||||
instance-name: mixer-frontend-vm
|
||||
target-ip: $(ref.workflow.ip)
|
||||
resources:
|
||||
- name: mixer-frontend-vm
|
||||
type: simple-instance
|
||||
type: instance_builder.jinja
|
||||
type: frontend.jinja
|
||||
- name: workflow
|
||||
outputs:
|
||||
- name: ip
|
||||
value: $(ref.workflow-backend-vm.network[0].ip)
|
||||
properties:
|
||||
frontend-ip: $(ref.mixer.ip)
|
||||
resources:
|
||||
- name: workflow-backend
|
||||
outputs:
|
||||
- name: ip
|
||||
value: $(ref.workflow-backend-vm.network[0].ip)
|
||||
properties:
|
||||
instance-name: workflow-backend-vm
|
||||
target-ip: $(ref.mixer.ip)
|
||||
resources:
|
||||
- name: workflow-backend-vm
|
||||
type: simple-instance
|
||||
type: instance_builder.jinja
|
||||
type: backend.jinja
|
@ -0,0 +1,38 @@
|
||||
config:
|
||||
resources:
|
||||
- name: mixer-frontend-vm
|
||||
properties:
|
||||
target: $(ref.workflow.ip)
|
||||
type: simple-instance
|
||||
- name: workflow-backend-vm
|
||||
properties:
|
||||
target: $(ref.mixer.ip)
|
||||
type: simple-instance
|
||||
layout:
|
||||
resources:
|
||||
- name: mixer
|
||||
properties:
|
||||
backend-ip: $(ref.workflow.ip)
|
||||
resources:
|
||||
- name: mixer-frontend
|
||||
properties:
|
||||
instance-name: mixer-frontend-vm
|
||||
target-ip: $(ref.workflow.ip)
|
||||
resources:
|
||||
- name: mixer-frontend-vm
|
||||
type: simple-instance
|
||||
type: instance_builder.jinja
|
||||
type: frontend.jinja
|
||||
- name: workflow
|
||||
properties:
|
||||
frontend-ip: $(ref.mixer.ip)
|
||||
resources:
|
||||
- name: workflow-backend
|
||||
properties:
|
||||
instance-name: workflow-backend-vm
|
||||
target-ip: $(ref.mixer.ip)
|
||||
resources:
|
||||
- name: workflow-backend-vm
|
||||
type: simple-instance
|
||||
type: instance_builder.jinja
|
||||
type: backend.jinja
|
Loading…
Reference in new issue