--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: &app sabnzbd spec: interval: 1h chartRef: kind: OCIRepository name: app-template namespace: flux-system install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 dependsOn: - name: rook-ceph-cluster namespace: rook-ceph - name: volsync namespace: volsync values: defaultPodOptions: securityContext: runAsUser: 568 runAsGroup: 568 fsGroup: 568 fsGroupChangePolicy: OnRootMismatch controllers: sabnzbd: annotations: reloader.stakater.com/auto: "true" containers: app: image: repository: ghcr.io/home-operations/sabnzbd tag: 4.5.1@sha256:0bd045af783ba13da0a9bf029ae5e574c9dcfcc65f1cd348ffc06b2660be90ff env: TZ: "${TIMEZONE}" SABNZBD__PORT: &port 8080 SABNZBD__HOST_WHITELIST_ENTRIES: >- sabnzbd, sabnzbd.default, sabnzbd.default.svc, sabnzbd.default.svc.cluster, sabnzbd.default.svc.cluster.local, sabnzbd.${SECRET_EXTERNAL_DOMAIN} envFrom: - secretRef: name: sabnzbd-secret probes: liveness: &probes enabled: true custom: true spec: httpGet: path: /api?mode=version port: *port initialDelaySeconds: 0 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 readiness: *probes startup: enabled: false resources: requests: cpu: 10m memory: 250Mi limits: memory: 8000Mi service: app: controller: *app ports: http: port: *port ingress: app: enabled: true className: internal annotations: # nginx.ingress.kubernetes.io/auth-method: GET # nginx.ingress.kubernetes.io/auth-url: http://authelia.default.svc.cluster.local.:8888/api/verify # nginx.ingress.kubernetes.io/auth-signin: https://auth.${SECRET_EXTERNAL_DOMAIN}?rm=$request_method # nginx.ingress.kubernetes.io/auth-response-headers: Remote-User,Remote-Name,Remote-Groups,Remote-Email # nginx.ingress.kubernetes.io/auth-snippet: proxy_set_header X-Forwarded-Method $request_method; hajimari.io/icon: mdi:download gethomepage.dev/enabled: "true" gethomepage.dev/name: SABnzbd gethomepage.dev/description: Automated Usenet download tool. gethomepage.dev/group: Applications gethomepage.dev/icon: sabnzbd.png gethomepage.dev/pod-selector: >- app in ( sabnzbd ) hosts: - host: &host "{{ .Release.Name }}.${SECRET_EXTERNAL_DOMAIN}" paths: - path: / service: identifier: app port: http tls: - hosts: - *host persistence: config: enabled: true existingClaim: *app globalMounts: - path: /config downloads: type: nfs server: 192.168.9.10 path: /var/mnt/vol1/downloads globalMounts: - path: /mnt/storage/downloads music-usenet: type: nfs server: 192.168.9.10 path: /var/mnt/vol1/music/.usenet globalMounts: - path: /mnt/storage/music/.usenet video-usenet: type: nfs server: 192.168.9.10 path: /var/mnt/vol1/video/.usenet globalMounts: - path: /mnt/storage/video/.usenet