--- # 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 bazarr namespace: default spec: interval: 30m chart: spec: chart: app-template version: 3.5.1 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system maxHistory: 2 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 uninstall: keepHistory: false dependsOn: - name: rook-ceph-cluster namespace: rook-ceph - name: volsync namespace: volsync values: defaultPodOptions: securityContext: runAsUser: 568 runAsGroup: 568 fsGroup: 568 fsGroupChangePolicy: OnRootMismatch controllers: bazarr: annotations: reloader.stakater.com/auto: "true" initContainers: init-db: image: repository: ghcr.io/onedr0p/postgres-init tag: 16 envFrom: &envFrom - secretRef: name: bazarr-secret containers: app: image: repository: ghcr.io/onedr0p/bazarr tag: 1.5.0@sha256:5eb3ff2384c470fa351ff486b1b61660914a2ba144e908258cf111555a583356 env: TZ: "${TIMEZONE}" envFrom: *envFrom securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: { drop: ["ALL"] } probes: liveness: &probes enabled: true custom: true spec: httpGet: path: /ping port: &port 6767 initialDelaySeconds: 0 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 readiness: *probes resources: requests: cpu: 23m memory: 300Mi limits: memory: 500Mi subcleaner: image: repository: registry.k8s.io/git-sync/git-sync tag: v4.4.0@sha256:0330739a707a2969d617e859f096659ab6d149212658ac0ad7e550b59482ebf0 pullPolicy: IfNotPresent args: - --repo=https://github.com/KBlixt/subcleaner - --branch=master - --wait=86400 # 1 day - --root=/add-ons service: app: controller: *app ports: http: port: *port ingress: app: enabled: true className: nginx 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:subtitles-outline gethomepage.dev/enabled: "true" gethomepage.dev/group: Media gethomepage.dev/name: Bazarr gethomepage.dev/icon: bazarr.png 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 add-ons: enabled: true type: emptyDir globalMounts: - path: /add-ons video: enabled: true type: nfs server: 192.168.9.10 path: /var/mnt/vol1/video globalMounts: - path: /mnt/storage/video scripts: enabled: true type: configMap name: bazarr-scripts # overriden by kustomizeconfig defaultMode: 0775 globalMounts: - path: /scripts