apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    app.kubernetes.io/name: logitech-media-server
  name: logitech-media-server
  namespace: lms
spec:
  podManagementPolicy: OrderedReady
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/name: logitech-media-server
  serviceName: logitech-media-server
  template:
    metadata:
      labels:
        app.kubernetes.io/name: logitech-media-server
    spec:
      containers:
      - image: lmscommunity/lyrionmusicserver:9.1.0
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 10
          httpGet:
            path: /
            port: http
            scheme: HTTP
          initialDelaySeconds: 90
          periodSeconds: 5
          successThreshold: 1
          timeoutSeconds: 1
        name: logitech-media-server
        ports:
        - containerPort: 9000
          name: http
          protocol: TCP
        - containerPort: 9090
          name: cli
          protocol: TCP
        - containerPort: 3483
          name: control
          protocol: TCP
        - containerPort: 3483
          name: discovery
          protocol: UDP
        - containerPort: 5353
          name: spottydiscovery
          protocol: UDP
        readinessProbe:
          failureThreshold: 5
          httpGet:
            path: /
            port: http
            scheme: HTTP
          initialDelaySeconds: 2
          periodSeconds: 2
          successThreshold: 1
          timeoutSeconds: 1
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /config
          name: config
        - mountPath: /music
          name: smbmusic
        - mountPath: /playlist
          name: config
          subPath: playlist
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      terminationGracePeriodSeconds: 30
      volumes:
      - name: config
        persistentVolumeClaim:
          claimName: logitech-media-server-config
      - name: smbmusic
        persistentVolumeClaim:
          claimName: smb-music
  updateStrategy:
    rollingUpdate:
      partition: 0
    type: RollingUpdate