From 99cd846878cbea2b753aceeb70e3cfacb326de4c Mon Sep 17 00:00:00 2001 From: David Liaw Date: Fri, 17 Jan 2025 01:01:11 +1100 Subject: [PATCH] feat(Zipline): Initial commit (#911) --- apps/media/kustomization.yaml | 3 +- apps/media/zipline/app.yaml | 20 +++++++ apps/media/zipline/app/helm-release.yaml | 52 +++++++++++++++++++ apps/media/zipline/app/kustomization.yaml | 7 +++ apps/media/zipline/app/public-pvc.yaml | 11 ++++ .../zipline/app/zipline-secrets.sops.yaml | 30 +++++++++++ apps/media/zipline/kustomization.yaml | 5 ++ 7 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 apps/media/zipline/app.yaml create mode 100644 apps/media/zipline/app/helm-release.yaml create mode 100644 apps/media/zipline/app/kustomization.yaml create mode 100644 apps/media/zipline/app/public-pvc.yaml create mode 100644 apps/media/zipline/app/zipline-secrets.sops.yaml create mode 100644 apps/media/zipline/kustomization.yaml diff --git a/apps/media/kustomization.yaml b/apps/media/kustomization.yaml index 0a6257df6..64faf952b 100644 --- a/apps/media/kustomization.yaml +++ b/apps/media/kustomization.yaml @@ -12,4 +12,5 @@ resources: - radarr - sabnzbd - sonarr -- tautulli \ No newline at end of file +- tautulli +- zipline \ No newline at end of file diff --git a/apps/media/zipline/app.yaml b/apps/media/zipline/app.yaml new file mode 100644 index 000000000..79915725b --- /dev/null +++ b/apps/media/zipline/app.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: zipline + namespace: flux-system +spec: + path: ./apps/media/zipline/app + targetNamespace: media + interval: 10m + prune: true + sourceRef: + kind: GitRepository + name: flux-system + namespace: flux-system + healthChecks: + - apiVersion: helm.toolkit.fluxcd.io/v2beta1 + kind: HelmRelease + name: zipline + namespace: media \ No newline at end of file diff --git a/apps/media/zipline/app/helm-release.yaml b/apps/media/zipline/app/helm-release.yaml new file mode 100644 index 000000000..5cd88d39f --- /dev/null +++ b/apps/media/zipline/app/helm-release.yaml @@ -0,0 +1,52 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: zipline +spec: + interval: 5m + chart: + spec: + chart: app-template + version: 3.6.0 + sourceRef: + kind: HelmRepository + name: bjw-s-charts + namespace: flux-system + values: + controllers: + main: + containers: + main: + image: + repository: ghcr.io/diced/zipline + tag: v4-f68d670 + envFrom: + - secretRef: + name: zipline-secrets + service: + main: + controller: main + ports: + http: + port: 3000 + persistence: + zipline-uploads: + existingClaim: scratch-nfs + globalMounts: + - path: /zipline/uploads + subPath: Zipline + public: + existingClaim: zipline-public + globalMounts: + - path: /zipline/public + ingress: + main: + enabled: true + hosts: + - host: "s.${PUBLIC_HOSTNAME}" + paths: + - path: / + pathType: Prefix + service: + name: zipline + port: 3000 \ No newline at end of file diff --git a/apps/media/zipline/app/kustomization.yaml b/apps/media/zipline/app/kustomization.yaml new file mode 100644 index 000000000..f69e744e7 --- /dev/null +++ b/apps/media/zipline/app/kustomization.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- helm-release.yaml +- public-pvc.yaml +- zipline-secrets.sops.yaml diff --git a/apps/media/zipline/app/public-pvc.yaml b/apps/media/zipline/app/public-pvc.yaml new file mode 100644 index 000000000..eff6d4409 --- /dev/null +++ b/apps/media/zipline/app/public-pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: zipline-public +spec: + storageClassName: longhorn-backup + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi \ No newline at end of file diff --git a/apps/media/zipline/app/zipline-secrets.sops.yaml b/apps/media/zipline/app/zipline-secrets.sops.yaml new file mode 100644 index 000000000..7eee4d93c --- /dev/null +++ b/apps/media/zipline/app/zipline-secrets.sops.yaml @@ -0,0 +1,30 @@ +apiVersion: v1 +data: + DATABASE_URL: ENC[AES256_GCM,data:u+/Pul8YWi8S/F3B4D4N1zDs/9KhscvrvyvbQv9M0fNCRtbdC2h5DR7I3RITOE4BelPg9twW6wiiL44/RtIFvOuYtNz/Wzdy9AXI/DF5Js5X1ZZvvPAmc74avXShWcHt,iv:K261WIdfIYiQxM7EVbth+ntZktIvzELCqd4grHEfsfk=,tag:lT5LCBj+sxgIKfNX/eUmFA==,type:str] + CORE_SECRET: ENC[AES256_GCM,data:+46LuNx6lVuLly/azkOiepPFlr/8EygouQlGlDOigUbsBKsvnuxnHzSEZHMbuh9y,iv:CWCtft/f3zwA3kbgwkotwgS2hyqAQZzHESMnh0lR6yc=,tag:hXT7EYbjtNVMrVEP5zMVaQ==,type:str] + DATASOURCE_LOCAL_DIRECTORY: ENC[AES256_GCM,data:bSA894T6uXHUlzbnjSh5Ir6YTpaLz6/7,iv:c7At43wN+dpKKnXQI9GkdocJF+M21tfnsmJ2ljNCNZk=,tag:1XLNifEZFeiPKOCmhjW6Rw==,type:str] + HOST: ENC[AES256_GCM,data:IC8riPCumT6z9+3b,iv:K9rJ2ytkPzXO0fPZsRprF/mppbvzJqf84cP27WDrazQ=,tag:0+MbqOoaMEnhffUhz1/o2Q==,type:str] + CORE_HOST: ENC[AES256_GCM,data:RaiOJx5bPj1Jvt9/,iv:uTHaKtF0B1h2dQw/hghUAMpdqkzJ4zBOF0y5nWKfS04=,tag:E02CeuFkwNHhhx4z61I3dQ==,type:str] +kind: Secret +metadata: + name: zipline-secrets +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1mt3e0vdhgcxtcqfv0jhfdeejkk8f48elacyua387nekmnfufsd4qhtwmqn + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3bCs4QThvS1N1UFlSWmpp + UStxc1pNeU5ETmlIZ1l2Yy9xRkdoSlJmWmpRCkJJd3Jpb0Q4ZFVjblBuMzRNNHJP + ckMrSnJBRE92UTgreFVmRHB5b3NhTlUKLS0tIEoxM2hNVEd1TDJGajhva3EyV05s + eEhOdmhJMFJlbW4zRnJwbUVDdHErYmcKH1yCdGdtSqerlYQN8NCNHSHyph+Mehww + IcIoRV4dMx+r3i2DZ43qsUnodb+u/GNQeU8UjskWANgQAUEcK2bTuA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-01-17T06:59:01Z" + mac: ENC[AES256_GCM,data:wtluTx8PJVs/80WCVVYMGJmu7xtPQf+BBIxvSxK9gzO5t6e/yJPfgYdEVhKuerVMBkqLBlmz5y3EIs1dY0wZ07cHScGram5I+VMmNE9az8aWrKRlkfAZ9a6CcycB1pyppk3nOkji0u/HtsxCY1df4KxnWV5To69jO9ACwY9HTmM=,iv:N5dIhB/HGyMdxebR5BGvJ7/zV6rUOwGPgcRQ/oLeg8c=,tag:hA7AaWKsJ7AMqjO4FCmxDQ==,type:str] + pgp: [] + encrypted_regex: ^(data|stringData)$ + version: 3.9.3 diff --git a/apps/media/zipline/kustomization.yaml b/apps/media/zipline/kustomization.yaml new file mode 100644 index 000000000..118a517a7 --- /dev/null +++ b/apps/media/zipline/kustomization.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- app.yaml