apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: esphome
  name: esphome
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: esphome
  template:
    metadata:
      labels:
        app.kubernetes.io/name: esphome
    spec:
      containers:
      - env:
        - name: ESPHOME_DASHBOARD_USE_PING
          value: "true"
        image: esphome/esphome:2022.12.8
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          periodSeconds: 10
          successThreshold: 1
          tcpSocket:
            port: 6052
          timeoutSeconds: 1
        name: esphome
        ports:
        - containerPort: 6052
          name: http
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          periodSeconds: 10
          successThreshold: 1
          tcpSocket:
            port: 6052
          timeoutSeconds: 1
        startupProbe:
          failureThreshold: 30
          periodSeconds: 5
          successThreshold: 1
          tcpSocket:
            port: 6052
          timeoutSeconds: 1
        volumeMounts:
        - mountPath: /config
          name: config
      volumes:
      - name: config
        persistentVolumeClaim:
          claimName: esphome-config