Merge "Fix Grafana dashboard"
diff --git a/docker/client/service.sls b/docker/client/service.sls
index e2487a1..31526dc 100644
--- a/docker/client/service.sls
+++ b/docker/client/service.sls
@@ -24,6 +24,7 @@
--with-registry-auth
{%- for env, value in service.get('environment', {}).iteritems() %} -e {{ env }}="{{ value }}"{%- endfor %}
{%- for port in service.get('ports', []) %} -p {{ port }}{%- endfor %}
+ {%- for name, host in service.get('hosts', {}).iteritems() %} --host {{ host.get('name', name) }}:{{ host.address }}{%- endfor %}
{%- for label, value in service.get('label', {}).iteritems() %} -l {{ label }}="{{ value }}"{%- endfor %}
{%- if service.network is defined %} --network {{ service.network }}{%- endif %}
{%- if service.replicas is defined %} --replicas {{ service.replicas }}{%- endif %}
diff --git a/docker/swarm.sls b/docker/swarm.sls
index 818e239..aa191ed 100644
--- a/docker/swarm.sls
+++ b/docker/swarm.sls
@@ -4,6 +4,34 @@
include:
- docker.host
+{%- for name, network in swarm.get('network', {}).iteritems() %}
+{%- if network.get('enabled', True) %}
+
+docker_swarm_network_{{ name }}_create:
+ cmd.run:
+ - name: >
+ docker network create
+ {%- if network.get('attachable', False) %} --attachable {%- endif %}
+ {%- if network.get('internal', False) %} --internal {%- endif %}
+ {%- if network.get('ipv6', False) %} --ipv6 {%- endif %}
+ {%- if network.driver is defined %} --driver {{ network.driver }} {%- endif %}
+ {%- if network.gateway is defined %} --gateway {{ network.gateway }} {%- endif %}
+ {%- if network.iprange is defined %} --ip-range {{ network.iprange }} {%- endif %}
+ {%- if network.ipamdriver is defined %} --ipam-driver {{ network.ipamdriver }} {%- endif %}
+ {%- if network.subnet is defined %} --subnet {{ network.subnet }} {%- endif %}
+ {%- for param,value in network.get('opt', {}).iteritems() %} --opt {{ param }}={{ value }} {%- endfor %}
+ {{ name }}
+ - unless: "docker network ls | grep {{ name }}"
+ - require_in:
+ {%- if swarm.role == 'master' %}
+ - cmd: docker_swarm_init
+ {%- else %}
+ - cmd: docker_swarm_join
+ {%- endif %}
+
+{%- endif %}
+{%- endfor %}
+
{%- if swarm.role == 'master' %}
docker_swarm_init: