{% 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' or grains.cloud == 'vagrant' -%}
    # TODO: generate and distribute tokens for other cloud providers.
    {% set token_auth_file = "--token_auth_file=/srv/kubernetes/known_tokens.csv" -%}
{% endif -%}
{% endif -%}

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

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