diff --git a/kubernetes/main/apps/media/recyclarr/app/config/recyclarr.yml b/kubernetes/main/apps/media/recyclarr/app/config/recyclarr.yml deleted file mode 100644 index b472f2d31..000000000 --- a/kubernetes/main/apps/media/recyclarr/app/config/recyclarr.yml +++ /dev/null @@ -1,138 +0,0 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/recyclarr/recyclarr/master/schemas/config-schema.json -sonarr: - standard: - base_url: http://sonarr.media.svc.cluster.local:8989 - api_key: !env_var SONARR_API_KEY - delete_old_custom_formats: true - quality_definition: - type: series - quality_profiles: - - name: Any - reset_unmatched_scores: true - - name: HD - reset_unmatched_scores: true - - name: SD - reset_unmatched_scores: true - custom_formats: - - trash_ids: - # Streaming Services - - d660701077794679fd59e8bdf4ce3a29 # AMZN - - f67c9ca88f463a48346062e8ad07713f # ATVP - - 36b72f59f4ea20aad9316f475f2d9fbb # DCU - - 89358767a60cc28783cdc3d0be9388a4 # DSNP - - 7a235133c87f7da4c8cccceca7e3c7a6 # HBO - - a880d6abc21e7c16884f3ae393f84179 # HMAX - - f6cce30f1733d5c8194222a7507909bb # HULU - - 0ac24a2a68a9700bcb7eeca8e5cd644c # iT - - d34870697c9db575f17700212167be23 # NF - - 1656adc6d7bb2c8cca6acfb6592db421 # PCOK - - c67a75ae4a1715f2bb4d492755ba4195 # PMTP - - 3ac5d84fce98bab1b531393e9c82f467 # QIBI - - c30d2958827d1867c73318a5a2957eb1 # RED - - ae58039e1319178e6be73caab5c42166 # SHO - # Allowed Scene groups and tiered P2P groups - - d0c516558625b04b363fa6c5c2c7cfd4 # WEB Scene (allowed Scene groups) - - e6258996055b9fbab7e9cb2f75819294 # WEB Tier 01 - - 58790d4e2fdcd9733aa7ae68ba2bb503 # WEB Tier 02 - - d84935abd3f8556dcd51d4f27e22d0a6 # WEB Tier 03 - # Repacks / Propers - - ec8fa7296b64e8cd390a1600981f3923 # Repack/Proper - - eb3d5cc0a2be0db205fb823640db6a3c # Repack v2 - - 44e7c4de10ae50265753082e5dc76047 # Repack v3 - # HDR Metadata - - 7878c33f1963fefb3d6c8657d46c2f0a # DV HDR10 - - 1f733af03141f068a540eec352589a89 # DV HLG - - 27954b0a80aab882522a88a4d9eae1cd # DV SDR - - 6d0d8de7b57e35518ac0308b0ddf404e # DV - - bb019e1cd00f304f80971c965de064dc # HDR (undefined) - - 3e2c4e748b64a1a1118e0ea3f4cf6875 # HDR - - 3497799d29a085e2ac2df9d468413c94 # HDR10 - - a3d82cbef5039f8d295478d28a887159 # HDR10+ - - 17e889ce13117940092308f48b48b45b # HLG - - 2a7e3be05d3861d6df7171ec74cad727 # PQ - # Unwanted - - 32b367365729d530ca1c124a0b180c64 # Bad Dual Groups - - 85c61753df5da1fb2aab6f2a47426b09 # BR-DISK - - 9c14d194486c4014d422adc64092d794 # Dubs Only - - 9c11cd3f07101cdba90a2d81cf0e56b4 # LQ - - 82d40da2bc6923f41e14394075dd4b03 # No-RlsGroup - - e1a997ddb54e3ecbfe06341ad323c458 # Obfuscated - - 06d66ab109d4d2eddb2794d21526d140 # Retags - - 47435ece6b99a0b477caf360e79ba0bb # x265 (HD) - quality_profiles: - - name: Any - - name: HD - - name: SD - -radarr: - standard: - base_url: http://radarr.media.svc.cluster.local:7878 - api_key: !env_var RADARR_API_KEY - delete_old_custom_formats: true - quality_definition: - type: movie - quality_profiles: - - name: HD - reset_unmatched_scores: true - - name: SD - reset_unmatched_scores: true - custom_formats: - - trash_ids: - - ff5bc9e8ce91d46c997ca3ac6994d6f8 # UHD FraMeSToR (set to 0, 1 or 3200) - quality_profiles: - - name: HD - score: 1 - - name: SD - score: 1 - - trash_ids: - - 496f355514737f7d83bf7aa4d24f8169 # TrueHD Atmos - - 2f22d89048b01681dde8afe203bf2e95 # DTS X - - 417804f7f2c4308c1f4c5d380d4c4475 # ATMOS (undefined) - - 1af239278386be2919e1bcee0bde047e # DD+ Atmos - - 3cafb66171b47f226146a0770576870f # TrueHD - - dcf3ec6938fa32445f590a4da84256cd # DTS-HD MA - - a570d4a0e56a2874b64e5bfa55202a1b # FLAC - - e7c2fcae07cbada050a0af3357491d7b # PCM - - 8e109e50e0a0b83a5098b056e13bf6db # DTS-HD HRA - - 185f1dd7264c4562b9022d963ac37424 # DD+ - - f9f847ac70a0af62ea4a08280b859636 # DTS-ES - - 1c1a4c5e823891c75bc50380a6866f73 # DTS - - 240770601cc226190c367ef59aba7463 # ACC - - c2998bd0d90ed5621d8df281e839436e # DD - - e23edd2482476e595fb990b12e7c609c # DV HDR10 HDR/DV Custom Formats - - 58d6a88f13e2db7f5059c41047876f00 # DV - - 55d53828b9d81cbe20b02efd00aa0efd # DV HLG HDR/DV Custom Formats - - a3e19f8f627608af0211acd02bf89735 # DV SDR HDR/DV Custom Formats - - b974a6cd08c1066250f1f177d7aa1225 # HDR10Plus - - dfb86d5941bc9075d6af23b09c2aeecd # HDR10 - - e61e28db95d22bedcadf030b8f156d96 # HDR - - 2a4d9069cc1fe3242ff9bdaebed239bb # HDR (Undefined) - - 08d6d8834ad9ec87b1dc7ec8148e7a1f # PQ several HDR/DV Custom Formats - - 9364dd386c9b4a1100dde8264690add7 # HLG - - 0f12c086e289cf966fa5948eac571f44 # Hybrid - - 570bc9ebecd92723d2d21500f4be314c # Remaster - - eca37840c13c6ef2dd0262b141a5482f # 4K Remaster - - e0c07d59beb37348e975a930d5e50319 # Criterion Collection - - 957d0f44b592285f26449575e8b1167e # Special Edition - - eecf3a857724171f968a66cb5719e152 # IMAX - - 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced - - e7718d7a3ce595f289bfee26adc178f5 # Repack - - ed38b889b31be83fda192888e2286d83 # BR-DISK -10000 - - 90cedc1fea7ea5d11298bebd3d1d3223 # EVO (no WEBDL) -1000 - - 90a6f9a284dff5103f6346090e6280c8 # LQ -10000 - - b8cd450cbfa689c0259a01d9e29ba3d6 # 3D -10000 - - 7357cf5161efbf8c4d5d0c30b4815ee2 # Obfuscated - - ae9b7c9ebde1f3bd336a8cbd1ec4c5e5 # No-RlsGroup removed do avoid multiple downloads - - dc98083864ea246d05a42df0d05f81cc # x265 (720/1080p) - quality_profiles: - - name: HD - - name: SD - - trash_ids: - - 4b900e171accbfb172729b63323ea8ca # Optional: Multi - - 923b6abef9b17f937fab56cfcf89e1f1 # Optional: DV (WEBDL) without fallback to HDR, set to manual score 0 or -10000 - quality_profiles: - - name: HD - score: 0 - - name: SD - score: 0 diff --git a/kubernetes/main/apps/media/recyclarr/app/externalsecret.yaml b/kubernetes/main/apps/media/recyclarr/app/externalsecret.yaml index a93ee41bf..3d41439a7 100644 --- a/kubernetes/main/apps/media/recyclarr/app/externalsecret.yaml +++ b/kubernetes/main/apps/media/recyclarr/app/externalsecret.yaml @@ -4,7 +4,6 @@ apiVersion: external-secrets.io/v1beta1 kind: ExternalSecret metadata: name: recyclarr - namespace: media spec: secretStoreRef: kind: ClusterSecretStore diff --git a/kubernetes/main/apps/media/recyclarr/app/helmrelease.yaml b/kubernetes/main/apps/media/recyclarr/app/helmrelease.yaml index e50f38605..3f88ad265 100644 --- a/kubernetes/main/apps/media/recyclarr/app/helmrelease.yaml +++ b/kubernetes/main/apps/media/recyclarr/app/helmrelease.yaml @@ -1,23 +1,20 @@ --- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta1.json +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease metadata: name: recyclarr - namespace: media spec: - interval: 15m + interval: 30m chart: spec: chart: app-template - version: 1.5.1 + version: 2.4.0 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system - maxHistory: 2 install: - createNamespace: true remediation: retries: 3 upgrade: @@ -26,53 +23,61 @@ spec: retries: 3 uninstall: keepHistory: false - + dependsOn: + - name: rook-ceph-cluster + namespace: rook-ceph + - name: volsync + namespace: storage values: - controller: - type: statefulset - annotations: - reloader.stakater.com/auto: "true" - - image: - repository: ghcr.io/recyclarr/recyclarr - tag: 6.0.2 - - env: - TZ: America/Santiago - - envFrom: - - secretRef: - name: recyclarr-secret - + controllers: + main: + type: cronjob + annotations: + reloader.stakater.com/auto: "true" + cronjob: + schedule: "@daily" + containers: + main: + image: + repository: ghcr.io/recyclarr/recyclarr + tag: 6.0.2@sha256:02add40feae0569401b5020528e06419b47046723d0bb4bef1e82325e9eefdad + env: + # https://github.com/Radarr/Radarr/issues/7030#issuecomment-1039689518 + # https://github.com/dotnet/runtime/issues/9336 + COMPlus_EnableDiagnostics: "0" + TZ: America/Santiago + envFrom: + - secretRef: + name: recyclarr-secret + args: ["sync"] + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: { drop: ["ALL"] } + resources: + requests: + cpu: 10m + memory: 64M + limits: + memory: 128M + pod: + securityContext: + runAsUser: 568 + runAsGroup: 568 + runAsNonRoot: true + fsGroup: 568 + fsGroupChangePolicy: OnRootMismatch service: main: enabled: false - - podSecurityContext: - runAsUser: 568 - runAsGroup: 568 - fsGroup: 568 - fsGroupChangePolicy: OnRootMismatch - - volumeClaimTemplates: - - name: config - mountPath: /config - accessMode: ReadWriteOnce - size: 1Gi - storageClass: ceph-block - persistence: - config-file: + config: enabled: true + existingClaim: config-recyclarr-0 + config-file: type: configMap name: recyclarr-configmap - subPath: recyclarr.yml - mountPath: /config/recyclarr.yml - readOnly: true - - resources: - requests: - cpu: 10m - memory: 50Mi - limits: - memory: 200Mi + globalMounts: + - path: /config/recyclarr.yml + subPath: recyclarr.yml + readOnly: true diff --git a/kubernetes/main/apps/media/recyclarr/app/kustomization.yaml b/kubernetes/main/apps/media/recyclarr/app/kustomization.yaml index 7e7d09ef0..96cd8711d 100644 --- a/kubernetes/main/apps/media/recyclarr/app/kustomization.yaml +++ b/kubernetes/main/apps/media/recyclarr/app/kustomization.yaml @@ -2,7 +2,6 @@ # yaml-language-server: $schema=https://json.schemastore.org/kustomization apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -namespace: media resources: - ./externalsecret.yaml - ./helmrelease.yaml @@ -10,7 +9,7 @@ resources: configMapGenerator: - name: recyclarr-configmap files: - - recyclarr.yml=./config/recyclarr.yml + - recyclarr.yml=./resources/recyclarr.yml generatorOptions: disableNameSuffixHash: true annotations: diff --git a/kubernetes/main/apps/media/recyclarr/app/resources/recyclarr.yml b/kubernetes/main/apps/media/recyclarr/app/resources/recyclarr.yml new file mode 100644 index 000000000..51337c736 --- /dev/null +++ b/kubernetes/main/apps/media/recyclarr/app/resources/recyclarr.yml @@ -0,0 +1,200 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/recyclarr/recyclarr/master/schemas/config-schema.json +sonarr: + sonarr: + base_url: http://sonarr.default.svc.cluster.local + api_key: !env_var SONARR_API_KEY + + delete_old_custom_formats: true + replace_existing_custom_formats: true + + quality_definition: + type: series + + quality_profiles: + - name: Web 1080p + reset_unmatched_scores: + enabled: true + upgrade: + allowed: true + until_quality: Web-1080p + until_score: 10000 + min_format_score: 0 + quality_sort: top + qualities: + - name: Web-1080p + qualities: + - WEBDL-1080p + - WEBRip-1080p + - name: HDTV-1080p + - name: Web-720p + qualities: + - WEBDL-720p + - WEBRip-720p + - name: HDTV-720p + - name: Web-480p + qualities: + - WEBDL-480p + - WEBRip-480p + - name: DVD + - name: SDTV + - name: Web 720p + reset_unmatched_scores: + enabled: true + upgrade: + allowed: true + until_quality: Web-720p + until_score: 10000 + min_format_score: 0 + quality_sort: top + qualities: + - name: Web-720p + qualities: + - WEBDL-720p + - WEBRip-720p + - name: HDTV-720p + - name: Web-480p + qualities: + - WEBDL-480p + - WEBRip-480p + - name: DVD + - name: SDTV + custom_formats: + - trash_ids: + # Unwanted + - 85c61753df5da1fb2aab6f2a47426b09 # BR-DISK + - 9c11cd3f07101cdba90a2d81cf0e56b4 # LQ + - 47435ece6b99a0b477caf360e79ba0bb # x265 (HD) + - fbcb31d8dabd2a319072b84fc0b7249c # Extras + # Misc + - ec8fa7296b64e8cd390a1600981f3923 # Repack/Proper + - eb3d5cc0a2be0db205fb823640db6a3c # Repack v2 + - 44e7c4de10ae50265753082e5dc76047 # Repack v3 + # Streaming Services + - d660701077794679fd59e8bdf4ce3a29 # AMZN + - f67c9ca88f463a48346062e8ad07713f # ATVP + - 4e9a630db98d5391aec1368a0256e2fe # CRAV + - 36b72f59f4ea20aad9316f475f2d9fbb # DCU + - 89358767a60cc28783cdc3d0be9388a4 # DSNP + - 7a235133c87f7da4c8cccceca7e3c7a6 # HBO + - a880d6abc21e7c16884f3ae393f84179 # HMAX + - f6cce30f1733d5c8194222a7507909bb # HULU + - 0ac24a2a68a9700bcb7eeca8e5cd644c # iT + - 81d1fbf600e2540cee87f3a23f9d3c1c # MAX + - d34870697c9db575f17700212167be23 # NF + - b2b980877494b560443631eb1f473867 # NLZ + - fb1a91cdc0f26f7ca0696e0e95274645 # OViD + - 1656adc6d7bb2c8cca6acfb6592db421 # PCOK + - c67a75ae4a1715f2bb4d492755ba4195 # PMTP + - 3ac5d84fce98bab1b531393e9c82f467 # QIBI + - c30d2958827d1867c73318a5a2957eb1 # RED + - ae58039e1319178e6be73caab5c42166 # SHO + - 1efe8da11bfd74fbbcd4d8117ddb9213 # STAN + - 5d2317d99af813b6529c7ebf01c83533 # VDL + - 77a7b25585c18af08f60b1547bb9b4fb # CC + # HQ Source Groups + - e6258996055b9fbab7e9cb2f75819294 # WEB Tier 01 + - 58790d4e2fdcd9733aa7ae68ba2bb503 # WEB Tier 02 + - d84935abd3f8556dcd51d4f27e22d0a6 # WEB Tier 03 + - d0c516558625b04b363fa6c5c2c7cfd4 # WEB Scene + quality_profiles: + - name: Web 1080p + - name: Web 720p + +radarr: + radarr: + base_url: http://radarr.default.svc.cluster.local + api_key: !env_var RADARR_API_KEY + + delete_old_custom_formats: true + replace_existing_custom_formats: true + + quality_definition: + type: movie + + quality_profiles: + - name: Remux/Web 1080p + reset_unmatched_scores: + enabled: true + upgrade: + allowed: true + until_quality: Remux-1080p + until_score: 10000 + min_format_score: 0 + quality_sort: top + qualities: + - name: Remux-1080p + - name: Bluray-1080p + enabled: false + - name: Web-1080p + qualities: + - WEBDL-1080p + - WEBRip-1080p + - name: HDTV-1080p + custom_formats: + - trash_ids: + # Audio + - 496f355514737f7d83bf7aa4d24f8169 # TrueHD Atmos + - 2f22d89048b01681dde8afe203bf2e95 # DTS X + - 417804f7f2c4308c1f4c5d380d4c4475 # ATMOS (undefined) + - 1af239278386be2919e1bcee0bde047e # DD+ ATMOS + - 3cafb66171b47f226146a0770576870f # TrueHD + - dcf3ec6938fa32445f590a4da84256cd # DTS-HD MA + - a570d4a0e56a2874b64e5bfa55202a1b # FLAC + - e7c2fcae07cbada050a0af3357491d7b # PCM + - 8e109e50e0a0b83a5098b056e13bf6db # DTS-HD HRA + - 185f1dd7264c4562b9022d963ac37424 # DD+ + - f9f847ac70a0af62ea4a08280b859636 # DTS-ES + - 1c1a4c5e823891c75bc50380a6866f73 # DTS + - 240770601cc226190c367ef59aba7463 # AAC + - c2998bd0d90ed5621d8df281e839436e # DD + # Movie Versions + - 0f12c086e289cf966fa5948eac571f44 # Hybrid + - 570bc9ebecd92723d2d21500f4be314c # Remaster + - eca37840c13c6ef2dd0262b141a5482f # 4K Remaster + - e0c07d59beb37348e975a930d5e50319 # Criterion Collection + - 9d27d9d2181838f76dee150882bdc58c # Masters of Cinema + - db9b4c4b53d312a3ca5f1378f6440fc9 # Vinegar Syndrome + - 957d0f44b592285f26449575e8b1167e # Special Edition + - eecf3a857724171f968a66cb5719e152 # IMAX + - 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced + # HQ Release Groups + - 3a3ff47579026e76d6504ebea39390de # Remux Tier 01 + - 9f98181fe5a3fbeb0cc29340da2a468a # Remux Tier 02 + - 8baaf0b3142bf4d94c42a724f034e27a # Remux Tier 03 + - c20f169ef63c5f40c2def54abaf4438e # WEB Tier 01 + - 403816d65392c79236dcb6dd591aeda4 # WEB Tier 02 + - af94e0fe497124d1f9ce732069ec8c3b # WEB Tier 03 + # Misc + - e7718d7a3ce595f289bfee26adc178f5 # Repack/Proper + - ae43b294509409a6a13919dedd4764c4 # Repack2 + # Unwanted + - ed38b889b31be83fda192888e2286d83 # BR-DISK + - 90a6f9a284dff5103f6346090e6280c8 # LQ + - dc98083864ea246d05a42df0d05f81cc # x265 (HD) + - b8cd450cbfa689c0259a01d9e29ba3d6 # 3D + # Streaming Services + - cc5e51a9e85a6296ceefe097a77f12f4 # BCORE + - 2a6039655313bf5dab1e43523b62c374 # MA + - 16622a6911d1ab5d5b8b713d5b0036d4 # CRiT + quality_profiles: + - name: Remux/Web 1080p + - trash_ids: + # Streaming Services + - b3b3a6ac74ecbd56bcdbefa4799fb9df # AMZN + - 40e9380490e748672c2522eaaeb692f7 # ATVP + - f6ff65b3f4b464a79dcc75950fe20382 # CRAV + - 84272245b2988854bfb76a16e60baea5 # DSNP + - 509e5f41146e278f9eab1ddaceb34515 # HBO + - 5763d1b0ce84aff3b21038eea8e9b8ad # HMAX + - 526d445d4c16214309f0fd2b3be18a89 # Hulu + - 6a061313d22e51e0f25b7cd4dc065233 # MAX + - 170b1d363bd8516fbf3a3eb05d4faff6 # NF + - fbca986396c5e695ef7b2def3c755d01 # OViD + - bf7e73dd1d85b12cc527dc619761c840 # Pathe + - c9fd353f8f5f1baf56dc601c4cb29920 # PCOK + - e36a0ba1bc902b26ee40818a1d59b8bd # PMTP + - c2863d2a50c9acad1fb50e53ece60817 # STAN + quality_profiles: + - name: Remux/Web 1080p + score: 0