diff --git a/clusters/cl01tl/manifests/blocky/ConfigMap-blocky.yaml b/clusters/cl01tl/manifests/blocky/ConfigMap-blocky.yaml index fb3b6d0ac..3a0b3b1bf 100644 --- a/clusters/cl01tl/manifests/blocky/ConfigMap-blocky.yaml +++ b/clusters/cl01tl/manifests/blocky/ConfigMap-blocky.yaml @@ -152,7 +152,6 @@ data: 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/manifests/blocky/Deployment-blocky.yaml b/clusters/cl01tl/manifests/blocky/Deployment-blocky.yaml index 4ab93fca8..67d9751cb 100644 --- a/clusters/cl01tl/manifests/blocky/Deployment-blocky.yaml +++ b/clusters/cl01tl/manifests/blocky/Deployment-blocky.yaml @@ -22,7 +22,7 @@ spec: template: metadata: annotations: - checksum/configMaps: 4e7e93d0d3e718f156fdb3a34151b5dd8efe5158ea917431ba199fd3f8d1aba8 + checksum/configMaps: 9634c9de81f40f8eeb0acee096a8802b02255efe8d18f8692322b0bbe6480644 labels: app.kubernetes.io/controller: main app.kubernetes.io/instance: blocky diff --git a/clusters/cl01tl/manifests/gatus/ConfigMap-gatus.yaml b/clusters/cl01tl/manifests/gatus/ConfigMap-gatus.yaml index 252e102e9..e2018668c 100644 --- a/clusters/cl01tl/manifests/gatus/ConfigMap-gatus.yaml +++ b/clusters/cl01tl/manifests/gatus/ConfigMap-gatus.yaml @@ -590,15 +590,6 @@ data: interval: 30s name: yubal url: https://yubal.alexlebens.net - - alerts: - - type: ntfy - conditions: - - '[STATUS] == 200' - - '[CERTIFICATE_EXPIRATION] > 240h' - group: core - interval: 30s - name: yubal-playlist - url: https://yubal-playlist.alexlebens.net - alerts: - type: ntfy conditions: diff --git a/clusters/cl01tl/manifests/gatus/Deployment-gatus.yaml b/clusters/cl01tl/manifests/gatus/Deployment-gatus.yaml index c26f84d10..17b4c771c 100644 --- a/clusters/cl01tl/manifests/gatus/Deployment-gatus.yaml +++ b/clusters/cl01tl/manifests/gatus/Deployment-gatus.yaml @@ -26,7 +26,7 @@ spec: app.kubernetes.io/name: gatus app.kubernetes.io/instance: gatus annotations: - checksum/config: 5bfcb241ed2300d9653143bc63d2eccac44ed7a36cc992b6d2a361bb7cf7fa16 + checksum/config: ad939bf8d5a1ad0a39ef835e6e4be4d1fc266ed8201a75b3e5d6f13b14fbf533 spec: serviceAccountName: default automountServiceAccountToken: false diff --git a/clusters/cl01tl/manifests/homepage/ConfigMap-homepage.yaml b/clusters/cl01tl/manifests/homepage/ConfigMap-homepage.yaml index 3fc85fcbc..9a6bf0091 100644 --- a/clusters/cl01tl/manifests/homepage/ConfigMap-homepage.yaml +++ b/clusters/cl01tl/manifests/homepage/ConfigMap-homepage.yaml @@ -590,16 +590,10 @@ data: 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/manifests/homepage/Deployment-homepage.yaml b/clusters/cl01tl/manifests/homepage/Deployment-homepage.yaml index 3ad415ad7..77f97ada2 100644 --- a/clusters/cl01tl/manifests/homepage/Deployment-homepage.yaml +++ b/clusters/cl01tl/manifests/homepage/Deployment-homepage.yaml @@ -24,7 +24,7 @@ spec: template: metadata: annotations: - checksum/configMaps: 5b485b6a7d842310e91f3605f42c0ad322a67b349be9868f89b9d8968504630f + checksum/configMaps: 49df17d103245467d6ab06cd848f2b4346e041e94dd058275da37be603bd648a checksum/secrets: d3ba83f111cd32f92c909268c55ad8bbd4f9e299b74b35b33c1a011180d8b378 labels: app.kubernetes.io/controller: main diff --git a/clusters/cl01tl/manifests/yubal-playlist/Deployment-yubal-playlist.yaml b/clusters/cl01tl/manifests/yubal-playlist/Deployment-yubal-playlist.yaml deleted file mode 100644 index eca90763a..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/Deployment-yubal-playlist.yaml +++ /dev/null @@ -1,172 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: yubal-playlist - labels: - app.kubernetes.io/controller: main - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: yubal-playlist - helm.sh/chart: yubal-playlist-4.6.2 - namespace: yubal-playlist -spec: - revisionHistoryLimit: 3 - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app.kubernetes.io/controller: main - app.kubernetes.io/name: yubal-playlist - app.kubernetes.io/instance: yubal-playlist - template: - metadata: - labels: - app.kubernetes.io/controller: main - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/name: yubal-playlist - spec: - enableServiceLinks: false - serviceAccountName: default - automountServiceAccountToken: true - hostIPC: false - hostNetwork: false - hostPID: false - dnsPolicy: ClusterFirst - initContainers: - - 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 - image: busybox:1.37.0 - imagePullPolicy: IfNotPresent - name: init-copy-cookie - volumeMounts: - - mountPath: /app/ytdlp - name: config - - mountPath: /app/ytdlp/cookies-ro.txt - mountPropagation: None - name: cookie - readOnly: true - subPath: cookies.txt - containers: - - env: - - name: VPN_SERVICE_PROVIDER - value: protonvpn - - name: VPN_TYPE - value: wireguard - - name: WIREGUARD_PRIVATE_KEY - valueFrom: - secretKeyRef: - key: private-key - name: yubal-playlist-wireguard-conf - - name: UPDATER_PROTONVPN_EMAIL - valueFrom: - secretKeyRef: - key: proton-email - name: yubal-playlist-wireguard-conf - - name: UPDATER_PROTONVPN_PASSWORD - valueFrom: - secretKeyRef: - key: proton-password - name: yubal-playlist-wireguard-conf - - name: FIREWALL_OUTBOUND_SUBNETS - value: 10.0.0.0/8 - - name: FIREWALL_INPUT_PORTS - value: "8080" - - name: DNS_UPSTREAM_RESOLVER_TYPE - value: dot - image: ghcr.io/qdm12/gluetun:v3.41.0@sha256:6b54856716d0de56e5bb00a77029b0adea57284cf5a466f23aad5979257d3045 - imagePullPolicy: IfNotPresent - lifecycle: - postStart: - exec: - command: - - /bin/sh - - -c - - (ip rule del table 51820; ip -6 rule del table 51820) || true - livenessProbe: - exec: - command: - - /gluetun-entrypoint - - healthcheck - failureThreshold: 5 - initialDelaySeconds: 30 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 15 - name: gluetun - resources: - limits: - devic.es/tun: "1" - requests: - cpu: 10m - devic.es/tun: "1" - memory: 128Mi - securityContext: - capabilities: - add: - - NET_ADMIN - - SYS_MODULE - privileged: true - - 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: - key: lidarr-key - name: yubal-playlist-config-secret - - name: YUBAL_SUBSONIC_ENDPOINT - value: http://navidrome-main.navidrome - - name: YUBAL_SUBSONIC_PORT - value: "80" - - name: YUBAL_SUBSONIC_USER - valueFrom: - secretKeyRef: - key: subsonic-user - name: yubal-playlist-config-secret - - name: YUBAL_SUBSONIC_PASSWORD - valueFrom: - secretKeyRef: - key: subsonic-password - name: yubal-playlist-config-secret - image: harbor.alexlebens.net/images/yubal-playlist:0.1.10 - imagePullPolicy: IfNotPresent - name: main - resources: - requests: - cpu: 10m - memory: 128Mi - volumeMounts: - - mountPath: /app/ytdlp - name: config - - mountPath: /app/data - name: music - volumes: - - name: config - persistentVolumeClaim: - claimName: yubal-playlist - - name: cookie - secret: - secretName: yubal-playlist-cookie - - name: music - persistentVolumeClaim: - claimName: yubal-playlist-nfs-storage diff --git a/clusters/cl01tl/manifests/yubal-playlist/ExternalSecret-yubal-playlist-config-secret.yaml b/clusters/cl01tl/manifests/yubal-playlist/ExternalSecret-yubal-playlist-config-secret.yaml deleted file mode 100644 index 2b81fd0e1..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/ExternalSecret-yubal-playlist-config-secret.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: yubal-playlist-config-secret - namespace: yubal-playlist - labels: - app.kubernetes.io/name: yubal-playlist-config-secret - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/part-of: yubal-playlist -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 diff --git a/clusters/cl01tl/manifests/yubal-playlist/ExternalSecret-yubal-playlist-cookie.yaml b/clusters/cl01tl/manifests/yubal-playlist/ExternalSecret-yubal-playlist-cookie.yaml deleted file mode 100644 index 157cf81e8..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/ExternalSecret-yubal-playlist-cookie.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: yubal-playlist-cookie - namespace: yubal-playlist - labels: - app.kubernetes.io/name: yubal-playlist-cookie - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/part-of: yubal-playlist -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: cookies.txt - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /youtube/cookie - metadataPolicy: None - property: cookies diff --git a/clusters/cl01tl/manifests/yubal-playlist/ExternalSecret-yubal-playlist-wireguard-conf.yaml b/clusters/cl01tl/manifests/yubal-playlist/ExternalSecret-yubal-playlist-wireguard-conf.yaml deleted file mode 100644 index 0240fa8b6..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/ExternalSecret-yubal-playlist-wireguard-conf.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: yubal-playlist-wireguard-conf - namespace: yubal-playlist - labels: - app.kubernetes.io/name: yubal-playlist-wireguard-conf - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/part-of: yubal-playlist -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/manifests/yubal-playlist/HTTPRoute-yubal-playlist.yaml b/clusters/cl01tl/manifests/yubal-playlist/HTTPRoute-yubal-playlist.yaml deleted file mode 100644 index 85241684e..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/HTTPRoute-yubal-playlist.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: yubal-playlist - labels: - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: yubal-playlist - helm.sh/chart: yubal-playlist-4.6.2 - namespace: yubal-playlist -spec: - 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 - namespace: yubal-playlist - port: 80 - weight: 100 - matches: - - path: - type: PathPrefix - value: / diff --git a/clusters/cl01tl/manifests/yubal-playlist/Namespace-yubal-playlist.yaml b/clusters/cl01tl/manifests/yubal-playlist/Namespace-yubal-playlist.yaml deleted file mode 100644 index b1d66dd4c..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/Namespace-yubal-playlist.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: yubal-playlist - app.kubernetes.io/part-of: yubal-playlist - pod-security.kubernetes.io/audit: privileged - pod-security.kubernetes.io/enforce: privileged - pod-security.kubernetes.io/warn: privileged diff --git a/clusters/cl01tl/manifests/yubal-playlist/PersistentVolume-yubal-playlist-nfs-storage.yaml b/clusters/cl01tl/manifests/yubal-playlist/PersistentVolume-yubal-playlist-nfs-storage.yaml deleted file mode 100644 index fe7656df7..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/PersistentVolume-yubal-playlist-nfs-storage.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: yubal-playlist-nfs-storage - namespace: yubal-playlist - labels: - app.kubernetes.io/name: yubal-playlist-nfs-storage - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/part-of: yubal-playlist -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/manifests/yubal-playlist/PersistentVolumeClaim-yubal-playlist-nfs-storage.yaml b/clusters/cl01tl/manifests/yubal-playlist/PersistentVolumeClaim-yubal-playlist-nfs-storage.yaml deleted file mode 100644 index fd87606ab..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/PersistentVolumeClaim-yubal-playlist-nfs-storage.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: yubal-playlist-nfs-storage - namespace: yubal-playlist - labels: - app.kubernetes.io/name: yubal-playlist-nfs-storage - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/part-of: yubal-playlist -spec: - volumeName: yubal-playlist-nfs-storage - storageClassName: nfs-client - accessModes: - - ReadWriteMany - resources: - requests: - storage: 1Gi diff --git a/clusters/cl01tl/manifests/yubal-playlist/PersistentVolumeClaim-yubal-playlist.yaml b/clusters/cl01tl/manifests/yubal-playlist/PersistentVolumeClaim-yubal-playlist.yaml deleted file mode 100644 index 18fbe1183..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/PersistentVolumeClaim-yubal-playlist.yaml +++ /dev/null @@ -1,19 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: yubal-playlist - labels: - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: yubal-playlist - helm.sh/chart: yubal-playlist-4.6.2 - annotations: - helm.sh/resource-policy: keep - namespace: yubal-playlist -spec: - accessModes: - - "ReadWriteOnce" - resources: - requests: - storage: "1Gi" - storageClassName: "ceph-block" diff --git a/clusters/cl01tl/manifests/yubal-playlist/Service-yubal-playlist.yaml b/clusters/cl01tl/manifests/yubal-playlist/Service-yubal-playlist.yaml deleted file mode 100644 index d1636cf2b..000000000 --- a/clusters/cl01tl/manifests/yubal-playlist/Service-yubal-playlist.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: yubal-playlist - labels: - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: yubal-playlist - app.kubernetes.io/service: yubal-playlist - helm.sh/chart: yubal-playlist-4.6.2 - namespace: yubal-playlist -spec: - type: ClusterIP - ports: - - port: 80 - targetPort: 8080 - protocol: TCP - name: http - selector: - app.kubernetes.io/controller: main - app.kubernetes.io/instance: yubal-playlist - app.kubernetes.io/name: yubal-playlist