apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: xserver
  labels:
    app.kubernetes.io/name: xserver
    device-system.edge.ncr.com/injection: "enabled"
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: xserver
  template:
    metadata:
      labels:
        app.kubernetes.io/name: xserver
      annotations:
        kubectl.kubernetes.io/default-container: xserver
    spec:
      serviceAccountName: xserver
      automountServiceAccountToken: true
      priorityClassName: edge-p2-critical-services
      nodeSelector:
        node.ncr.com/class: touchpoint
      containers:
      - name: xserver
        image: bzl://cmd/sds/display/xserver:container_push
        ports:
        - name: healthz
          containerPort: 8082
        env:
        - name: DISPLAY
          value: ":0.0"
        - name: LOGLVL
          value: "3"
        - name: HOSTNAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        resources:
          limits:
            device-system.class.edge.ncr.com/xserver: "1"
          requests:
            device-system.class.edge.ncr.com/xserver: "1"
        volumeMounts:
        - name: x11
          mountPath: /tmp/.X11-unix
        - name: zoneinfo
          readOnly: true
          mountPath: /usr/share/zoneinfo
        livenessProbe:
          httpGet:
            port: healthz
            path: /healthz
          initialDelaySeconds: 10
        imagePullPolicy: IfNotPresent
      volumes:
      - name: x11
        hostPath:
          type: DirectoryOrCreate
          path: /tmp/.X11-unix
      - name: zoneinfo
        hostPath:
          type: Directory
          path: /usr/share/zoneinfo
      imagePullSecrets:
      - name: edge-docker-pull-secret