apiVersion: apps/v1 kind: Deployment metadata: name: prowlarr namespace: default labels: app: prowlarr spec: replicas: 1 selector: matchLabels: app: prowlarr template: metadata: labels: app: prowlarr spec: containers: - name: prowlarr image: ghcr.io/linuxserver/prowlarr@sha256:211cfc5b99e14dee7d49190b6ac8cceee3183a58240d522fb1937847ee4518e4 imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: America/New_York resources: requests: memory: "500Mi" cpu: "500m" limits: memory: "1Gi" cpu: "1" volumeMounts: - mountPath: /config name: prowlarr-config volumes: - name: prowlarr-config persistentVolumeClaim: claimName: prowlarr-config --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: prowlarr-config namespace: default spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi storageClassName: longhorn --- apiVersion: v1 kind: Service metadata: name: headless-prowlarr namespace: default spec: selector: app: prowlarr ports: - port: 9696 targetPort: 9696 protocol: TCP type: ClusterIP --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: prowlarr namespace: default annotations: kubernetes.io/ingress.class: traefik-external spec: entryPoints: - websecure routes: - match: Host(`prowlarr.local.mafyuh.com`) kind: Rule services: - name: headless-prowlarr port: 9696 middlewares: - name: default-headers tls: secretName: local-mafyuh-com-production-tls