Automated Manifest Update #3802
@@ -152,7 +152,6 @@ data:
|
|||||||
whodb IN CNAME traefik-cl01tl
|
whodb IN CNAME traefik-cl01tl
|
||||||
yamtrack IN CNAME traefik-cl01tl
|
yamtrack IN CNAME traefik-cl01tl
|
||||||
yubal IN CNAME traefik-cl01tl
|
yubal IN CNAME traefik-cl01tl
|
||||||
yubal-playlist IN CNAME traefik-cl01tl
|
|
||||||
|
|
||||||
blocking:
|
blocking:
|
||||||
denylists:
|
denylists:
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ spec:
|
|||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
checksum/configMaps: 4e7e93d0d3e718f156fdb3a34151b5dd8efe5158ea917431ba199fd3f8d1aba8
|
checksum/configMaps: 9634c9de81f40f8eeb0acee096a8802b02255efe8d18f8692322b0bbe6480644
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/controller: main
|
app.kubernetes.io/controller: main
|
||||||
app.kubernetes.io/instance: blocky
|
app.kubernetes.io/instance: blocky
|
||||||
|
|||||||
@@ -590,15 +590,6 @@ data:
|
|||||||
interval: 30s
|
interval: 30s
|
||||||
name: yubal
|
name: yubal
|
||||||
url: https://yubal.alexlebens.net
|
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:
|
- alerts:
|
||||||
- type: ntfy
|
- type: ntfy
|
||||||
conditions:
|
conditions:
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ spec:
|
|||||||
app.kubernetes.io/name: gatus
|
app.kubernetes.io/name: gatus
|
||||||
app.kubernetes.io/instance: gatus
|
app.kubernetes.io/instance: gatus
|
||||||
annotations:
|
annotations:
|
||||||
checksum/config: 5bfcb241ed2300d9653143bc63d2eccac44ed7a36cc992b6d2a361bb7cf7fa16
|
checksum/config: ad939bf8d5a1ad0a39ef835e6e4be4d1fc266ed8201a75b3e5d6f13b14fbf533
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: default
|
serviceAccountName: default
|
||||||
automountServiceAccountToken: false
|
automountServiceAccountToken: false
|
||||||
|
|||||||
@@ -590,16 +590,10 @@ data:
|
|||||||
fields: ["wanted", "queued", "artists"]
|
fields: ["wanted", "queued", "artists"]
|
||||||
- Yubal:
|
- Yubal:
|
||||||
icon: sh-yubal.webp
|
icon: sh-yubal.webp
|
||||||
description: Download Youtube playlist
|
description: Replicate Youtube playlist
|
||||||
href: https://yubal.alexlebens.net
|
href: https://yubal.alexlebens.net
|
||||||
siteMonitor: http://yubal.yubal:80
|
siteMonitor: http://yubal.yubal:80
|
||||||
statusStyle: dot
|
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:
|
- Spotisub:
|
||||||
icon: sh-spotify.webp
|
icon: sh-spotify.webp
|
||||||
description: Replicate Spotify playlist
|
description: Replicate Spotify playlist
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ spec:
|
|||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
checksum/configMaps: 5b485b6a7d842310e91f3605f42c0ad322a67b349be9868f89b9d8968504630f
|
checksum/configMaps: 49df17d103245467d6ab06cd848f2b4346e041e94dd058275da37be603bd648a
|
||||||
checksum/secrets: d3ba83f111cd32f92c909268c55ad8bbd4f9e299b74b35b33c1a011180d8b378
|
checksum/secrets: d3ba83f111cd32f92c909268c55ad8bbd4f9e299b74b35b33c1a011180d8b378
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/controller: main
|
app.kubernetes.io/controller: main
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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: /
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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"
|
|
||||||
@@ -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
|
|
||||||
Reference in New Issue
Block a user