{% set daemon_args = "$DAEMON_ARGS" %}
{% if grains['os_family'] == 'RedHat' %}
	{% set daemon_args = "" %}
{% endif %}

{% set master="-master=127.0.0.1:8080" %}

{% set machines = ""%}
{% set cloud_provider = "" %}
{% set minion_regexp = "-minion_regexp=.*" %}
{% if grains.cloud_provider is defined %}
  {% set cloud_provider = "-cloud_provider=" + grains.cloud_provider %}
{% endif %}

{% if pillar['node_instance_prefix'] is defined %}
  {% set minion_regexp = "-minion_regexp='" + pillar['node_instance_prefix'] + ".*'" %}
{% endif %}

{% if grains.cloud is defined %}
{% if grains.cloud == 'gce' %}
  {% set cloud_provider = "-cloud_provider=gce" %}
  {% set machines = "-machines=" + ','.join(salt['mine.get']('roles:kubernetes-pool', 'network.ip_addrs', expr_form='grain').keys()) %}
{% endif %}
{% if grains.cloud == 'aws' %}
  # TODO: turn on AWS as a cloud provider.  Need to figure out AWS role-based auth.
  {% set cloud_provider = "" %}
  {% set minion_regexp = "" %}
  {% set machines = "-machines " + ','.join(salt['mine.get']('roles:kubernetes-pool', 'network.ip_addrs', expr_form='grain').keys()) %}
{% endif %}
{% if grains.cloud == 'azure' %}
  MACHINES="{{ salt['mine.get']('roles:kubernetes-pool', 'grains.items', expr_form='grain').values()|join(',', attribute='hostnamef') }}"
  {% set machines = "-machines=$MACHINES" %}
{% endif %}
{% if grains.cloud == 'vsphere' %}
  # Collect IPs of minions as machines list.
  #
  # Use a bash array to build the value we need. Jinja 2.7 does support a 'map'
  # filter that would simplify this.  However, some installations (specifically
  # Debian Wheezy) only install Jinja 2.6.
  MACHINE_IPS=()
  {% for addrs in salt['mine.get']('roles:kubernetes-pool', 'network.ip_addrs', expr_form='grain').values() %}
  MACHINE_IPS+=( {{ addrs[0] }} )
  {% endfor %}
  {% set machines = "-machines=$(echo ${MACHINE_IPS[@]} | xargs -n1 echo | paste -sd,)" %}
  {% set minion_regexp = "" %}
{% endif %}
{% endif %}

DAEMON_ARGS="{{daemon_args}} {{master}} {{machines}} {{ minion_regexp }} {{ cloud_provider }}"
