From 39b1db53a1e24fc9d50e3c71e973104362603514 Mon Sep 17 00:00:00 2001 From: SeanOMik Date: Mon, 18 Nov 2024 20:11:22 -0500 Subject: [PATCH] chore(kapowarr): support backups --- .../kapowarr/{ => app}/helm-release.yaml | 26 ++++++--------- .../kapowarr/{ => app}/kustomization.yaml | 1 + .../main/apps/download/kapowarr/ks.yaml | 32 +++++++++++++++++++ .../main/apps/download/kustomization.yaml | 2 +- 4 files changed, 44 insertions(+), 17 deletions(-) rename kubernetes/main/apps/download/kapowarr/{ => app}/helm-release.yaml (86%) rename kubernetes/main/apps/download/kapowarr/{ => app}/kustomization.yaml (54%) create mode 100644 kubernetes/main/apps/download/kapowarr/ks.yaml diff --git a/kubernetes/main/apps/download/kapowarr/helm-release.yaml b/kubernetes/main/apps/download/kapowarr/app/helm-release.yaml similarity index 86% rename from kubernetes/main/apps/download/kapowarr/helm-release.yaml rename to kubernetes/main/apps/download/kapowarr/app/helm-release.yaml index 1c973f7..f50f4ce 100644 --- a/kubernetes/main/apps/download/kapowarr/helm-release.yaml +++ b/kubernetes/main/apps/download/kapowarr/app/helm-release.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json +# 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: @@ -9,15 +9,14 @@ spec: chart: spec: chart: app-template - version: 3.1.0 + version: 3.5.1 sourceRef: kind: HelmRepository name: bjws-charts namespace: flux-system - values: controllers: - main: + kapowarr: pod: securityContext: runAsNonRoot: true @@ -25,9 +24,8 @@ spec: runAsGroup: 10000 fsGroup: 10000 fsGroupChangePolicy: OnRootMismatch - containers: - main: + app: image: repository: git.seanomik.net/seanomik/kapowarr tag: rolling-e74ec0e4 @@ -35,19 +33,17 @@ spec: service: app: - controller: main - + controller: kapowarr ports: http: port: 5656 ingress: - main: + app: annotations: cert-manager.io/cluster-issuer: letsencrypt-production traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd - hosts: - host: "kapowarr.${SECRET_NEW_DOMAIN}" paths: @@ -57,14 +53,12 @@ spec: port: http persistence: + data: + existingClaim: kapowarr + globalMounts: + - path: /app/db storage: type: hostPath hostPath: /mnt/MainPool/Media globalMounts: - path: /storage - - config: - type: hostPath - hostPath: /mnt/MainPool/Kubernetes/kapowarr - globalMounts: - - path: /app/db \ No newline at end of file diff --git a/kubernetes/main/apps/download/kapowarr/kustomization.yaml b/kubernetes/main/apps/download/kapowarr/app/kustomization.yaml similarity index 54% rename from kubernetes/main/apps/download/kapowarr/kustomization.yaml rename to kubernetes/main/apps/download/kapowarr/app/kustomization.yaml index ea3145d..cc46271 100644 --- a/kubernetes/main/apps/download/kapowarr/kustomization.yaml +++ b/kubernetes/main/apps/download/kapowarr/app/kustomization.yaml @@ -1,4 +1,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: +- ../../../../../common/templates/volsync - ./helm-release.yaml \ No newline at end of file diff --git a/kubernetes/main/apps/download/kapowarr/ks.yaml b/kubernetes/main/apps/download/kapowarr/ks.yaml new file mode 100644 index 0000000..89c01cb --- /dev/null +++ b/kubernetes/main/apps/download/kapowarr/ks.yaml @@ -0,0 +1,32 @@ +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app kapowarr + namespace: flux-system +spec: + timeout: 5m + interval: 10m + targetNamespace: download + path: ./kubernetes/main/apps/download/kapowarr/app + prune: true + sourceRef: + kind: GitRepository + name: home-cluster + decryption: + provider: sops + secretRef: + name: sops-gpg + dependsOn: + - name: openebs + - name: openebs-sc + - name: volsync + postBuild: + substituteFrom: + - kind: ConfigMap + name: cluster-settings + - kind: Secret + name: cluster-secrets + substitute: + APP: *app + VOLSYNC_CAPACITY: 5Gi \ No newline at end of file diff --git a/kubernetes/main/apps/download/kustomization.yaml b/kubernetes/main/apps/download/kustomization.yaml index 179c7b9..9ea1e4e 100644 --- a/kubernetes/main/apps/download/kustomization.yaml +++ b/kubernetes/main/apps/download/kustomization.yaml @@ -14,5 +14,5 @@ resources: - ./unpackerr - ./media-dashboard.yaml - ./flaresolverr -- ./kapowarr +- ./kapowarr/ks.yaml - ./sabnzbd \ No newline at end of file