From 06e284a1e0b20bc9d299ae0f16a5243504b8ce5a Mon Sep 17 00:00:00 2001 From: gilgamezh Date: Fri, 15 Aug 2025 17:44:32 +0200 Subject: [PATCH] feat: add Radarr and Sonarr GitOps applications MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Radarr and Sonarr ArgoCD Applications with auto-image updates - Update image tags from pinned versions to latest for auto-updates - Configure Bananaspliff charts with existing configurations - Enable GitOps workflow with digest strategy for latest tag tracking - Radarr: ghcr.io/linuxserver/radarr:5.26.2 -> latest - Sonarr: ghcr.io/linuxserver/sonarr:4.0.15 -> latest 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- applications/radarr.yaml | 45 ++++++++++++++++++++++++++++++++++ applications/sonarr.yaml | 45 ++++++++++++++++++++++++++++++++++ helm-values/radarr_values.yaml | 41 +++++++++++++++++++++++++++++++ helm-values/sonarr_values.yaml | 41 +++++++++++++++++++++++++++++++ 4 files changed, 172 insertions(+) create mode 100644 applications/radarr.yaml create mode 100644 applications/sonarr.yaml create mode 100644 helm-values/radarr_values.yaml create mode 100644 helm-values/sonarr_values.yaml diff --git a/applications/radarr.yaml b/applications/radarr.yaml new file mode 100644 index 0000000..b1aa834 --- /dev/null +++ b/applications/radarr.yaml @@ -0,0 +1,45 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: radarr + namespace: argocd + annotations: + # Enable automatic image updates for Radarr + argocd-image-updater.argoproj.io/image-list: radarr=ghcr.io/linuxserver/radarr:latest + # Use digest strategy to track latest tag updates + argocd-image-updater.argoproj.io/radarr.update-strategy: digest + # Write changes back to Git repository (GitOps workflow) + argocd-image-updater.argoproj.io/write-back-method: git + # Git configuration for write-back + argocd-image-updater.argoproj.io/git-branch: master + argocd-image-updater.argoproj.io/git-commit-user: argocd-image-updater + argocd-image-updater.argoproj.io/git-commit-email: argocd@turing.lan + argocd-image-updater.argoproj.io/git-commit-message: "chore: update Radarr image to {{.NewTag}}" +spec: + project: default + source: + repoURL: https://bananaspliff.github.io/geek-charts + chart: radarr + targetRevision: "*" + helm: + releaseName: radarr + valueFiles: + - $values/helm-values/radarr_values.yaml + sources: + - repoURL: https://bananaspliff.github.io/geek-charts + chart: radarr + targetRevision: "*" + ref: charts + - repoURL: http://gitea-http.gitea.svc.cluster.local:3000/admin/turingpi.git + targetRevision: HEAD + ref: values + destination: + server: https://kubernetes.default.svc + namespace: default + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + - ServerSideApply=true \ No newline at end of file diff --git a/applications/sonarr.yaml b/applications/sonarr.yaml new file mode 100644 index 0000000..165f3c0 --- /dev/null +++ b/applications/sonarr.yaml @@ -0,0 +1,45 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: sonarr + namespace: argocd + annotations: + # Enable automatic image updates for Sonarr + argocd-image-updater.argoproj.io/image-list: sonarr=ghcr.io/linuxserver/sonarr:latest + # Use digest strategy to track latest tag updates + argocd-image-updater.argoproj.io/sonarr.update-strategy: digest + # Write changes back to Git repository (GitOps workflow) + argocd-image-updater.argoproj.io/write-back-method: git + # Git configuration for write-back + argocd-image-updater.argoproj.io/git-branch: master + argocd-image-updater.argoproj.io/git-commit-user: argocd-image-updater + argocd-image-updater.argoproj.io/git-commit-email: argocd@turing.lan + argocd-image-updater.argoproj.io/git-commit-message: "chore: update Sonarr image to {{.NewTag}}" +spec: + project: default + source: + repoURL: https://bananaspliff.github.io/geek-charts + chart: sonarr + targetRevision: "*" + helm: + releaseName: sonarr + valueFiles: + - $values/helm-values/sonarr_values.yaml + sources: + - repoURL: https://bananaspliff.github.io/geek-charts + chart: sonarr + targetRevision: "*" + ref: charts + - repoURL: http://gitea-http.gitea.svc.cluster.local:3000/admin/turingpi.git + targetRevision: HEAD + ref: values + destination: + server: https://kubernetes.default.svc + namespace: default + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + - ServerSideApply=true \ No newline at end of file diff --git a/helm-values/radarr_values.yaml b/helm-values/radarr_values.yaml new file mode 100644 index 0000000..ac83b27 --- /dev/null +++ b/helm-values/radarr_values.yaml @@ -0,0 +1,41 @@ +--- +replicaCount: 1 + +image: + repository: ghcr.io/linuxserver/radarr + tag: latest + pullPolicy: Always + +env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "Europe/Amsterdam" + +service: + type: ClusterIP + port: 7878 + +volumes: + - name: "plex-data" + persistentVolumeClaim: + claimName: "plex-data" + +volumeMounts: + - name: "plex-data" + mountPath: "/config" + subPath: "configs/radarr" + - name: "plex-data" + mountPath: "/nfs" + +resources: + requests: + memory: "500Mi" + cpu: "500m" + ephemeral-storage: "50Mi" + limits: + memory: "800Mi" + cpu: "1000m" + ephemeral-storage: "1Gi" diff --git a/helm-values/sonarr_values.yaml b/helm-values/sonarr_values.yaml new file mode 100644 index 0000000..e59c12d --- /dev/null +++ b/helm-values/sonarr_values.yaml @@ -0,0 +1,41 @@ +--- +replicaCount: 1 + +image: + repository: ghcr.io/linuxserver/sonarr + tag: latest + pullPolicy: Always + +env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "Europe/Amsterdam" + +service: + type: ClusterIP + port: 8989 + +volumes: + - name: plex-data + persistentVolumeClaim: + claimName: "plex-data" + +volumeMounts: + - name: plex-data + mountPath: "/config" + subPath: "configs/sonarr" + - name: "plex-data" + mountPath: "/nfs" + +resources: + requests: + memory: "500Mi" + cpu: "500m" + ephemeral-storage: "50Mi" + limits: + memory: "800Mi" + cpu: "1000m" + ephemeral-storage: "1Gi"