#cloud-config
write_files:
  - path: /etc/systemd/system/enable-kube-proxy.service
    owner: "root:root"
    permissions: "0644"
    content: |
      [Unit]
      Description=Configure Kubernetes Proxy

      [Service]
      Type=oneshot
      EnvironmentFile=/etc/sysconfig/heat-params
      ExecStart=/etc/sysconfig/enable-kube-proxy-master.sh

      [Install]
      WantedBy=multi-user.target

  - path: /etc/sysconfig/enable-kube-proxy-master.sh
    owner: "root:root"
    permissions: "0755"
    content: |
      #!/bin/sh

      TEMPLATE=/etc/kubernetes/manifests/kube-proxy.yaml
      mkdir -p $(dirname ${TEMPLATE})
      cat > ${TEMPLATE} <<EOF
      apiVersion: v1
      kind: Pod
      metadata:
        name: kube-proxy
        namespace: kube-system
      spec:
        hostNetwork: true
        containers:
        - name: kube-proxy
          image: ${HYPERKUBE_IMAGE_REPO}:${KUBE_VERSION}
          command:
          - /hyperkube
          - proxy
          - --master=http://127.0.0.1:8080
          - --cluster-cidr=${FLANNEL_NETWORK_CIDR}
          - --logtostderr=true
          - --v=0
          securityContext:
            privileged: true
          volumeMounts:
          - mountPath: /etc/ssl/certs
            name: ssl-certs-host
            readOnly: true
          - mountPath: /var/run/dbus
            name: dbus
            readOnly: false
        volumes:
        - hostPath:
            path: ${HOST_CERTS_PATH}
          name: ssl-certs-host
        - hostPath:
            path: /var/run/dbus
          name: dbus
      EOF
