apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: container-linux-update-agent
  namespace: reboot-coordinator
spec:
  updateStrategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
  selector:
    matchLabels:
      app: container-linux-update-agent
  template:
    metadata:
      labels:
        app: container-linux-update-agent
      annotations:
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
    spec:
      tolerations:
        - key: node-role.kubernetes.io/master
          operator: Exists
          effect: NoSchedule
      containers:
        - name: update-agent
          image: quay.io/coreos/container-linux-update-operator:v0.7.0
          command:
            - "/bin/update-agent"
          env:
            # read by update-agent as the node name to manage reboots for
            - name: UPDATE_AGENT_NODE
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            - name: POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          resources:
            requests:
              cpu: 10m
              memory: 20Mi
            limits:
              cpu: 20m
              memory: 40Mi
          volumeMounts:
            - mountPath: /var/run/dbus
              name: var-run-dbus
            - mountPath: /etc/coreos
              name: etc-coreos
            - mountPath: /usr/share/coreos
              name: usr-share-coreos
            - mountPath: /etc/os-release
              name: etc-os-release
      volumes:
      - name: var-run-dbus
        hostPath:
          path: /var/run/dbus
      - name: etc-coreos
        hostPath:
          path: /etc/coreos
      - name: usr-share-coreos
        hostPath:
          path: /usr/share/coreos
      - name: etc-os-release
        hostPath:
          path: /etc/os-release
