apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: mosquitto
  name: mosquitto
  namespace: mosquitto
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/name: mosquitto
  strategy:
    type: Recreate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app.kubernetes.io/name: mosquitto
    spec:
      containers:
      - image: eclipse-mosquitto:1.6.12
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          initialDelaySeconds: 5
          periodSeconds: 1
          successThreshold: 1
          tcpSocket:
            port: websocket
          timeoutSeconds: 1
        name: mosquitto
        ports:
        - containerPort: 1883
          name: mqtt
          protocol: TCP
        - containerPort: 9090
          name: websocket
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          initialDelaySeconds: 3
          periodSeconds: 3
          successThreshold: 1
          tcpSocket:
            port: websocket
          timeoutSeconds: 1
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /mosquitto/config/mosquitto.conf
          name: config
          subPath: mosquitto.conf
        - mountPath: /mosquitto/data
          name: data
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      serviceAccount: mosquitto
      serviceAccountName: mosquitto
      terminationGracePeriodSeconds: 30
      volumes:
      - configMap:
          defaultMode: 420
          name: mosquitto
        name: config
      - name: data