feat: add music-grabber
All checks were successful
lint-test-docker / lint-docker-compose (push) Successful in 19s
lint-test-helm / lint-helm (push) Successful in 1m6s
renovate / renovate (push) Successful in 2m0s
render-manifests-push / render-manifests-push (push) Successful in 2m48s

This commit is contained in:
2026-02-20 18:33:49 -06:00
parent d64c847988
commit 225e047b91
12 changed files with 332 additions and 5 deletions

View File

@@ -0,0 +1,79 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: music-grabber-config-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: music-grabber-config-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: navidrome-user
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/navidrome/admin
metadataPolicy: None
property: user
- secretKey: navidrome-password
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/navidrome/admin
metadataPolicy: None
property: password
- secretKey: slskd-user
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/slskd/auth
metadataPolicy: None
property: user
- secretKey: slskd-password
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/slskd/auth
metadataPolicy: None
property: password
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: music-grabber-wireguard-conf
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: music-grabber-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

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: Namespace
metadata:
name: music-grabber
labels:
app.kubernetes.io/name: music-grabber
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

View File

@@ -0,0 +1,17 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: music-grabber-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: music-grabber-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
volumeName: music-grabber-nfs-storage
storageClassName: nfs-client
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi

View File

@@ -0,0 +1,23 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: music-grabber-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: music-grabber-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
server: synologybond.alexlebens.net
mountOptions:
- vers=4
- minorversion=1
- noac