apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: cups
  name: cups
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cups
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: cups
    spec:
      containers:
      - image: cups:stephan2
        imagePullPolicy: IfNotPresent
        name: cups
        resources: {}
        securityContext:
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /etc/cups/ppd/
          name: printy-ppd
        - mountPath: /etc/cups/
          name: cupsd-conf
        - mountPath: /var/run/dbus
          name: dbus-host-vol
        - mountPath: /dev/bus/usb
          name: usb-host-vol
      dnsPolicy: ClusterFirst
      hostIPC: true
      hostNetwork: true
      hostPID: true
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
      - configMap:
          defaultMode: 420
          items:
          - key: cupsd.conf
            path: cupsd.conf
          name: cupsd-conf
        name: cupsd-conf
      - hostPath:
          path: /tmp/printyppd
          type: ""
        name: printy-ppd
      - hostPath:
          path: /var/run/dbus
          type: ""
        name: dbus-host-vol
      - hostPath:
          path: /dev/bus/usb
          type: ""
        name: usb-host-vol
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: cups
  name: cups
  namespace: default
  selfLink: /api/v1/namespaces/default/services/cups
spec:
  clusterIP: 10.43.105.64
  externalTrafficPolicy: Cluster
  ports:
  - nodePort: 31631
    port: 31631
    protocol: TCP
    targetPort: 31631
  selector:
    app: cups
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}