From 2c5df6cd117f271f75444eff298a4c5afdaa3647 Mon Sep 17 00:00:00 2001 From: Alex Lebens Date: Fri, 6 Feb 2026 15:46:59 -0600 Subject: [PATCH] feat: remove yubal playlist --- clusters/cl01tl/helm/blocky/values.yaml | 1 - clusters/cl01tl/helm/gatus/values.yaml | 3 - clusters/cl01tl/helm/homepage/values.yaml | 8 +- .../cl01tl/helm/yubal-playlist/Chart.lock | 6 - .../cl01tl/helm/yubal-playlist/Chart.yaml | 22 -- .../templates/external-secret.yaml | 95 --------- .../yubal-playlist/templates/namespace.yaml | 11 - .../templates/persistent-volume-claim.yaml | 17 -- .../templates/persistent-volume.yaml | 23 --- .../cl01tl/helm/yubal-playlist/values.yaml | 189 ------------------ hosts/ps08rp/blocky/config.yml | 1 - hosts/ps09rp/blocky/config.yml | 1 - 12 files changed, 1 insertion(+), 376 deletions(-) delete mode 100644 clusters/cl01tl/helm/yubal-playlist/Chart.lock delete mode 100644 clusters/cl01tl/helm/yubal-playlist/Chart.yaml delete mode 100644 clusters/cl01tl/helm/yubal-playlist/templates/external-secret.yaml delete mode 100644 clusters/cl01tl/helm/yubal-playlist/templates/namespace.yaml delete mode 100644 clusters/cl01tl/helm/yubal-playlist/templates/persistent-volume-claim.yaml delete mode 100644 clusters/cl01tl/helm/yubal-playlist/templates/persistent-volume.yaml delete mode 100644 clusters/cl01tl/helm/yubal-playlist/values.yaml diff --git a/clusters/cl01tl/helm/blocky/values.yaml b/clusters/cl01tl/helm/blocky/values.yaml index c4f75eae2..dfdcaa580 100644 --- a/clusters/cl01tl/helm/blocky/values.yaml +++ b/clusters/cl01tl/helm/blocky/values.yaml @@ -165,7 +165,6 @@ blocky: whodb IN CNAME traefik-cl01tl yamtrack IN CNAME traefik-cl01tl yubal IN CNAME traefik-cl01tl - yubal-playlist IN CNAME traefik-cl01tl blocking: denylists: diff --git a/clusters/cl01tl/helm/gatus/values.yaml b/clusters/cl01tl/helm/gatus/values.yaml index 7736e29eb..43d77664a 100644 --- a/clusters/cl01tl/helm/gatus/values.yaml +++ b/clusters/cl01tl/helm/gatus/values.yaml @@ -316,9 +316,6 @@ gatus: - name: yubal url: https://yubal.alexlebens.net <<: *defaults - - name: yubal-playlist - url: https://yubal-playlist.alexlebens.net - <<: *defaults - name: slskd url: https://slskd.alexlebens.net <<: *defaults diff --git a/clusters/cl01tl/helm/homepage/values.yaml b/clusters/cl01tl/helm/homepage/values.yaml index 50c0d7e2d..2138c3eb5 100644 --- a/clusters/cl01tl/helm/homepage/values.yaml +++ b/clusters/cl01tl/helm/homepage/values.yaml @@ -657,16 +657,10 @@ homepage: fields: ["wanted", "queued", "artists"] - Yubal: icon: sh-yubal.webp - description: Download Youtube playlist + description: Replicate Youtube playlist href: https://yubal.alexlebens.net siteMonitor: http://yubal.yubal:80 statusStyle: dot - - Yubal Playlist: - icon: sh-yubal.webp - description: Replicate Youtube playlist - href: https://yubal-playlist.alexlebens.net - siteMonitor: http://yubal-playlist.yubal-playlist:80 - statusStyle: dot - Spotisub: icon: sh-spotify.webp description: Replicate Spotify playlist diff --git a/clusters/cl01tl/helm/yubal-playlist/Chart.lock b/clusters/cl01tl/helm/yubal-playlist/Chart.lock deleted file mode 100644 index ab4dc3073..000000000 --- a/clusters/cl01tl/helm/yubal-playlist/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: app-template - repository: https://bjw-s-labs.github.io/helm-charts/ - version: 4.6.2 -digest: sha256:f8966d4e96cba272ddc29e3bdc508ca11ea758e3f784849f598a724819ab9d04 -generated: "2026-01-16T18:57:07.816828126Z" diff --git a/clusters/cl01tl/helm/yubal-playlist/Chart.yaml b/clusters/cl01tl/helm/yubal-playlist/Chart.yaml deleted file mode 100644 index 285898687..000000000 --- a/clusters/cl01tl/helm/yubal-playlist/Chart.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: v2 -name: yubal-playlist -version: 1.0.0 -description: yubal-playlist -keywords: - - yubal-playlist - - music - - youtube -home: https://wiki.alexlebens.dev/s/ -sources: - - https://gitea.alexlebens.dev/alexlebens/yubal-playlist - - https://github.com/guillevc/yubal - - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template -maintainers: - - name: alexlebens -dependencies: - - name: app-template - alias: yubal-playlist - repository: https://bjw-s-labs.github.io/helm-charts/ - version: 4.6.2 -# renovate: datasource=github-releases depName=alexlebens/yubal-playlist -appVersion: 0.0.7 diff --git a/clusters/cl01tl/helm/yubal-playlist/templates/external-secret.yaml b/clusters/cl01tl/helm/yubal-playlist/templates/external-secret.yaml deleted file mode 100644 index bb8f4cc20..000000000 --- a/clusters/cl01tl/helm/yubal-playlist/templates/external-secret.yaml +++ /dev/null @@ -1,95 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: yubal-playlist-config-secret - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: yubal-playlist-config-secret - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: lidarr-key - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/lidarr2/key - metadataPolicy: None - property: key - - secretKey: subsonic-user - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/navidrome/admin - metadataPolicy: None - property: user - - secretKey: subsonic-password - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/navidrome/admin - metadataPolicy: None - property: password - ---- -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: yubal-playlist-cookie - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: yubal-playlist-cookie - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: cookies.txt - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /youtube/cookie - metadataPolicy: None - property: cookies - ---- -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: yubal-playlist-wireguard-conf - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: yubal-playlist-wireguard-conf - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: private-key - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /protonvpn/conf/cl01tl - metadataPolicy: None - property: private-key - - secretKey: proton-email - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /protonvpn/conf/cl01tl - metadataPolicy: None - property: email - - secretKey: proton-password - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /protonvpn/conf/cl01tl - metadataPolicy: None - property: password diff --git a/clusters/cl01tl/helm/yubal-playlist/templates/namespace.yaml b/clusters/cl01tl/helm/yubal-playlist/templates/namespace.yaml deleted file mode 100644 index 03db49e59..000000000 --- a/clusters/cl01tl/helm/yubal-playlist/templates/namespace.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: yubal-playlist - labels: - app.kubernetes.io/name: yubal-playlist - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} - pod-security.kubernetes.io/audit: privileged - pod-security.kubernetes.io/enforce: privileged - pod-security.kubernetes.io/warn: privileged diff --git a/clusters/cl01tl/helm/yubal-playlist/templates/persistent-volume-claim.yaml b/clusters/cl01tl/helm/yubal-playlist/templates/persistent-volume-claim.yaml deleted file mode 100644 index 19b35cee5..000000000 --- a/clusters/cl01tl/helm/yubal-playlist/templates/persistent-volume-claim.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: yubal-playlist-nfs-storage - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: yubal-playlist-nfs-storage - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - volumeName: yubal-playlist-nfs-storage - storageClassName: nfs-client - accessModes: - - ReadWriteMany - resources: - requests: - storage: 1Gi diff --git a/clusters/cl01tl/helm/yubal-playlist/templates/persistent-volume.yaml b/clusters/cl01tl/helm/yubal-playlist/templates/persistent-volume.yaml deleted file mode 100644 index c6b49f94e..000000000 --- a/clusters/cl01tl/helm/yubal-playlist/templates/persistent-volume.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: yubal-playlist-nfs-storage - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: yubal-playlist-nfs-storage - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - persistentVolumeReclaimPolicy: Retain - storageClassName: nfs-client - capacity: - storage: 1Gi - accessModes: - - ReadWriteMany - nfs: - path: /volume2/Storage/Music Youtube/ - server: synologybond.alexlebens.net - mountOptions: - - vers=4 - - minorversion=1 - - noac diff --git a/clusters/cl01tl/helm/yubal-playlist/values.yaml b/clusters/cl01tl/helm/yubal-playlist/values.yaml deleted file mode 100644 index 3b7dad316..000000000 --- a/clusters/cl01tl/helm/yubal-playlist/values.yaml +++ /dev/null @@ -1,189 +0,0 @@ -yubal-playlist: - controllers: - main: - type: deployment - replicas: 1 - strategy: Recreate - revisionHistoryLimit: 3 - initContainers: - init-copy-cookie: - image: - repository: busybox - tag: 1.37.0 - pullPolicy: IfNotPresent - command: - - /bin/sh - - -ec - - | - if [ ! -f "/app/ytdlp/cookies.txt" ]; then - echo ">> Coping files ..." - ls /app/ytdlp - cp -fv /app/ytdlp/cookies-ro.txt /app/ytdlp/cookies.txt - echo ">> Files in ytdlp:" - ls /app/ytdlp - fi - containers: - main: - image: - repository: harbor.alexlebens.net/images/yubal-playlist - tag: 0.1.10 - pullPolicy: IfNotPresent - env: - - name: YUBAL_TZ - value: America/Chicago - - name: YUBAL_HOST - value: 0.0.0.0 - - name: YUBAL_PORT - value: 8080 - - name: YUBAL_DEBUG - value: true - - name: YUBAL_MB_USER_AGENT - value: alexanderlebens@gmail.com - - name: YUBAL_LIDARR_ENDPOINT - value: http://lidarr.lidarr:80 - - name: YUBAL_LIDARR_API_KEY - valueFrom: - secretKeyRef: - name: yubal-playlist-config-secret - key: lidarr-key - - name: YUBAL_SUBSONIC_ENDPOINT - value: http://navidrome-main.navidrome - - name: YUBAL_SUBSONIC_PORT - value: 80 - - name: YUBAL_SUBSONIC_USER - valueFrom: - secretKeyRef: - name: yubal-playlist-config-secret - key: subsonic-user - - name: YUBAL_SUBSONIC_PASSWORD - valueFrom: - secretKeyRef: - name: yubal-playlist-config-secret - key: subsonic-password - resources: - requests: - cpu: 10m - memory: 128Mi - gluetun: - image: - repository: ghcr.io/qdm12/gluetun - tag: v3.41.0@sha256:6b54856716d0de56e5bb00a77029b0adea57284cf5a466f23aad5979257d3045 - pullPolicy: IfNotPresent - lifecycle: - postStart: - exec: - command: ["/bin/sh", "-c", "(ip rule del table 51820; ip -6 rule del table 51820) || true"] - env: - - name: VPN_SERVICE_PROVIDER - value: protonvpn - - name: VPN_TYPE - value: wireguard - - name: WIREGUARD_PRIVATE_KEY - valueFrom: - secretKeyRef: - name: yubal-playlist-wireguard-conf - key: private-key - - name: UPDATER_PROTONVPN_EMAIL - valueFrom: - secretKeyRef: - name: yubal-playlist-wireguard-conf - key: proton-email - - name: UPDATER_PROTONVPN_PASSWORD - valueFrom: - secretKeyRef: - name: yubal-playlist-wireguard-conf - key: proton-password - - name: FIREWALL_OUTBOUND_SUBNETS - value: 10.0.0.0/8 - - name: FIREWALL_INPUT_PORTS - value: 8080 - - name: DNS_UPSTREAM_RESOLVER_TYPE - value: dot - securityContext: - privileged: True - capabilities: - add: - - NET_ADMIN - - SYS_MODULE - probes: - liveness: - enabled: true - custom: true - spec: - exec: - command: - - /gluetun-entrypoint - - healthcheck - failureThreshold: 5 - initialDelaySeconds: 30 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 15 - resources: - limits: - devic.es/tun: "1" - requests: - devic.es/tun: "1" - cpu: 10m - memory: 128Mi - service: - main: - controller: main - ports: - http: - port: 80 - targetPort: 8080 - protocol: HTTP - route: - main: - kind: HTTPRoute - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: traefik-gateway - namespace: traefik - hostnames: - - yubal-playlist.alexlebens.net - rules: - - backendRefs: - - group: '' - kind: Service - name: yubal-playlist - port: 80 - weight: 100 - matches: - - path: - type: PathPrefix - value: / - persistence: - cookie: - enabled: true - type: secret - name: yubal-playlist-cookie - advancedMounts: - main: - init-copy-cookie: - - path: /app/ytdlp/cookies-ro.txt - readOnly: true - mountPropagation: None - subPath: cookies.txt - config: - storageClass: ceph-block - accessMode: ReadWriteOnce - size: 1Gi - retain: true - advancedMounts: - main: - init-copy-cookie: - - path: /app/ytdlp - readOnly: false - main: - - path: /app/ytdlp - readOnly: false - music: - existingClaim: yubal-playlist-nfs-storage - advancedMounts: - main: - main: - - path: /app/data - readOnly: false diff --git a/hosts/ps08rp/blocky/config.yml b/hosts/ps08rp/blocky/config.yml index 4c885a4f3..45817d160 100644 --- a/hosts/ps08rp/blocky/config.yml +++ b/hosts/ps08rp/blocky/config.yml @@ -140,7 +140,6 @@ customDNS: whodb IN CNAME traefik-cl01tl yamtrack IN CNAME traefik-cl01tl yubal IN CNAME traefik-cl01tl - yubal-playlist IN CNAME traefik-cl01tl blocking: denylists: diff --git a/hosts/ps09rp/blocky/config.yml b/hosts/ps09rp/blocky/config.yml index bf78e2a0c..a1947d1d2 100644 --- a/hosts/ps09rp/blocky/config.yml +++ b/hosts/ps09rp/blocky/config.yml @@ -161,7 +161,6 @@ customDNS: whodb IN CNAME traefik-cl01tl yamtrack IN CNAME traefik-cl01tl yubal IN CNAME traefik-cl01tl - yubal-playlist IN CNAME traefik-cl01tl blocking: denylists: