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

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

{% set address = "-address=127.0.0.1" %}

{% set publicAddressOverride = "" %}
{% if grains.publicAddressOverride is defined %}
  {% set publicAddressOverride = "-public_address_override=" + grains.publicAddressOverride %}
{% endif %}


{% if grains.etcd_servers is defined %}
  {% set etcd_servers = "-etcd_servers=http://" + grains.etcd_servers + ":4001" %}
{% else %}
  {% set ips = salt['mine.get']('roles:kubernetes-master', 'network.ip_addrs', 'grain').values() %}
  {% set etcd_servers = "-etcd_servers=http://" + ips[0][0] + ":4001" %}
{% endif %}

{% if grains.cloud is defined %}
{% if grains.cloud == 'gce' %}
  {% set cloud_provider = "-cloud_provider=gce" %}
{% endif %}
{% endif %}

{% if pillar['portal_net'] is defined %}
  {% set portal_net = "-portal_net=" + pillar['portal_net'] %}
{% endif %}

{% set cert_file = "-tls_cert_file=/srv/kubernetes/server.cert" %}
{% set key_file = "-tls_private_key_file=/srv/kubernetes/server.key" %}

{% set secure_port = "-secure_port=6443" %}
{% set token_auth_file = "-token_auth_file=/dev/null" %}

{% if grains.cloud is defined %}
{% if grains.cloud == 'gce' %}
    # TODO: generate and distribute tokens for other cloud providers.
    {% set token_auth_file = "-token_auth_file=/srv/kubernetes/known_tokens.csv" %}
{% endif %}
{% endif %}

DAEMON_ARGS="{{daemon_args}} {{address}} {{etcd_servers}} {{ cloud_provider }} --allow_privileged={{pillar['allow_privileged']}} {{portal_net}} {{cert_file}} {{key_file}} {{secure_port}} {{token_auth_file}} {{publicAddressOverride}}"
