{%- from "kubernetes/map.jinja" import common with context -%}
{%- from "kubernetes/map.jinja" import pool with context -%}

# test_args has to be kept at the end, so they'll overwrite any prior configuration
DAEMON_ARGS="\
--require-kubeconfig \
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig \
--pod-manifest-path=/etc/kubernetes/manifests \
--allow-privileged={{ pool.kubelet.allow_privileged }} \
--cluster_dns={{ common.addons.dns.server }} \
--cluster_domain={{ common.addons.dns.domain|replace('_', '-') }} \
--cni-bin-dir={{ pool.apiserver.get('cni_bin_dir', '/opt/cni/bin') }} \
--hostname-override={{ pool.host.name }} \
--v={{ pool.get('verbosity', 2) }} \
--node-labels=node-role.kubernetes.io/node=true \
{%- if pool.network.engine in ['calico', 'opencontrail'] %}
--network-plugin=cni \
--network-plugin-dir=/etc/cni/net.d \
{%- endif %}
--file-check-frequency={{ pool.kubelet.frequency }} \
{%- if common.addons.get('virtlet', {}).get('enabled') %}
--container-runtime={{ pool.get('container-runtime', 'remote') }} \
--container-runtime-endpoint={{ pool.get('container-runtime-endpoint', '/var/run/criproxy.sock') }} \
--image-service-endpoint={{ pool.get('image-service-endpoint', '/var/run/criproxy.sock') }} \
--enable-controller-attach-detach={{ pool.get('enable-controller-attach-detach', 'false') }} \
{%- endif %}
{%- for key, value in pool.get('kubelet', {}).get('daemon_opts', {}).iteritems() %}
--{{ key }}={{ value }} \
{%- endfor %}
"
