Split riak cluster into smaller pieces
This commit is contained in:
parent
09077fc487
commit
ebb3048a80
50
examples/riak/haproxy_riak_config.yaml
Normal file
50
examples/riak/haproxy_riak_config.yaml
Normal file
@ -0,0 +1,50 @@
|
||||
id: haproxy_riak_config
|
||||
|
||||
resources:
|
||||
- id: haproxy_riak_config_http
|
||||
from: resources/haproxy_service_config
|
||||
tags: ['service=riak', 'protocol=http']
|
||||
values:
|
||||
listen_port: {{http_listen_port}}
|
||||
protocol: 'http'
|
||||
name: 'riak_haproxy_http'
|
||||
backends:server:
|
||||
{% for riak in riaks %}
|
||||
- {{riak}}::riak_hostname
|
||||
{% endfor %}
|
||||
backends:port:
|
||||
{% for riak in riaks %}
|
||||
- {{riak}}::riak_port_http
|
||||
{% endfor %}
|
||||
|
||||
- id: haproxy_riak_config_pb
|
||||
from: resources/haproxy_service_config
|
||||
tags: ['service=riak', 'protocol=tcp']
|
||||
values:
|
||||
listen_port: {{pb_listen_port}}
|
||||
protocol: 'tcp'
|
||||
name: 'riak_haproxy_pb'
|
||||
backends:server:
|
||||
{% for riak in riaks %}
|
||||
- {{riak}}::riak_hostname
|
||||
{% endfor %}
|
||||
backends:port:
|
||||
{% for riak in riaks %}
|
||||
- {{riak}}::riak_port_pb
|
||||
{% endfor %}
|
||||
|
||||
updates:
|
||||
- with_tags: ['resource=haproxy_config']
|
||||
values:
|
||||
config:protocol:
|
||||
- haproxy_riak_config_http::protocol
|
||||
- haproxy_riak_config_pb::protocol
|
||||
config:listen_port:
|
||||
- haproxy_riak_config_http::listen_port
|
||||
- haproxy_riak_config_pb::listen_port
|
||||
config:name:
|
||||
- haproxy_riak_config_http::name
|
||||
- haproxy_riak_config_pb::name
|
||||
config:backends:
|
||||
- haproxy_riak_config_http::backends
|
||||
- haproxy_riak_config_pb::backends
|
61
examples/riak/riak_service.yaml
Normal file
61
examples/riak/riak_service.yaml
Normal file
@ -0,0 +1,61 @@
|
||||
id: riak_service
|
||||
|
||||
resources:
|
||||
- id: riak_service{{index}}
|
||||
from: resources/riak_node
|
||||
location: {{node}}
|
||||
values:
|
||||
riak_self_name: riak{{index}}
|
||||
riak_hostname: riak_server{{index}}.solar
|
||||
riak_name: riak{{index}}@riak_server{{index}}.solar
|
||||
{% if join_to %}
|
||||
join_to: {{join_to}}::riak_name
|
||||
{% endif %}
|
||||
ip: {{node}}::ip
|
||||
|
||||
updates:
|
||||
- with_tags: ['resource=hosts_file']
|
||||
values:
|
||||
hosts:name:
|
||||
- riak_service{{index}}::riak_hostname::NO_EVENTS
|
||||
hosts:ip:
|
||||
- riak_service{{index}}::ip::NO_EVENTS
|
||||
|
||||
- with_tags: ['resource=haproxy_service_config', 'service=riak', 'protocol=http']
|
||||
values:
|
||||
backends:server:
|
||||
- riak_service{{index}}::riak_hostname
|
||||
backends:port:
|
||||
- riak_service{{index}}::riak_port_http
|
||||
|
||||
- with_tags: ['resource=haproxy_service_config', 'service=riak', 'protocol=tcp']
|
||||
values:
|
||||
backends:server:
|
||||
- riak_service{{index}}::riak_hostname
|
||||
backends:port:
|
||||
- riak_service{{index}}::riak_port_pb
|
||||
|
||||
events:
|
||||
- type: depends_on
|
||||
parent:
|
||||
with_tags: ['resource=hosts_file', 'location={{node}}']
|
||||
action: run
|
||||
state: success
|
||||
depend_action: riak_service{{index}}.run
|
||||
|
||||
{% if join_to %}
|
||||
- type: react_on
|
||||
parent_action: riak_service{{index}}.run
|
||||
state: success
|
||||
depend_action: riak_service{{index}}.join
|
||||
|
||||
- type: react_on
|
||||
parent_action: riak_service{{index}}.leave
|
||||
state: success
|
||||
depend_action: riak_service{{index}}.join
|
||||
|
||||
- type: react_on
|
||||
parent_action: riak_service{{index}}.join
|
||||
state: success
|
||||
depend_action: {{join_to}}.commit
|
||||
{% endif %}
|
46
templates/haproxy.yaml
Normal file
46
templates/haproxy.yaml
Normal file
@ -0,0 +1,46 @@
|
||||
id: haproxy
|
||||
|
||||
resources:
|
||||
- id: haproxy_config{{index}}
|
||||
from: resources/haproxy_config
|
||||
location: {{node}}
|
||||
values:
|
||||
ip: '{{node}}::ip'
|
||||
config:protocol:
|
||||
{% for config in service_configs %}
|
||||
- {{config}}::protocol
|
||||
{% endfor %}
|
||||
config:listen_port:
|
||||
{% for config in service_configs %}
|
||||
- {{config}}::listen_port
|
||||
{% endfor %}
|
||||
config:name:
|
||||
{% for config in service_configs %}
|
||||
- {{config}}::name
|
||||
{% endfor %}
|
||||
config:backends:
|
||||
{% for config in service_configs %}
|
||||
- {{config}}::backends
|
||||
{% endfor %}
|
||||
|
||||
- id: haproxy_service{{index}}
|
||||
location: {{node}}
|
||||
from: resources/haproxy_service
|
||||
values:
|
||||
ip: '{{node}}::ip'
|
||||
|
||||
events:
|
||||
- type: depends_on
|
||||
parent_action: 'haproxy_service{{index}}.run'
|
||||
state: 'success'
|
||||
depend_action: 'haproxy_config{{index}}.run'
|
||||
|
||||
- type: react_on
|
||||
parent_action: 'haproxy_config{{index}}.run'
|
||||
state: 'success'
|
||||
depend_action: 'haproxy_service{{index}}.apply_config'
|
||||
|
||||
- type: react_on
|
||||
parent_action: 'haproxy_config{{index}}.update'
|
||||
state: 'success'
|
||||
depend_action: 'haproxy_service{{index}}.apply_config'
|
Loading…
Reference in New Issue
Block a user