add sls
This commit is contained in:
		
							
								
								
									
										25
									
								
								clusters/cl01tl/applications/slskd/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								clusters/cl01tl/applications/slskd/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: slskd
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: slskd
 | 
			
		||||
keywords:
 | 
			
		||||
  - slskd
 | 
			
		||||
  - soularr
 | 
			
		||||
  - lidarr
 | 
			
		||||
  - music
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/slskd-v4Hfaqh48C
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/slskd/slskd
 | 
			
		||||
  - https://github.com/mrusse/soularr
 | 
			
		||||
  - https://hub.docker.com/r/slskd/slskd
 | 
			
		||||
  - https://hub.docker.com/r/mrusse08/soularr
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: slskd
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/slskd.png
 | 
			
		||||
appVersion: 0.22.1
 | 
			
		||||
@@ -0,0 +1,73 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: slskd-config-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: slskd-config-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: slskd.yml
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/slskd/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: slskd.yml
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: soularr-config-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: soularr-config-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: config.ini
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/slskd/soularr
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: config.ini
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: slskd-wireguard-conf
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: slskd-wireguard-conf
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    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
 | 
			
		||||
							
								
								
									
										30
									
								
								clusters/cl01tl/applications/slskd/templates/http-route.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								clusters/cl01tl/applications/slskd/templates/http-route.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
apiVersion: gateway.networking.k8s.io/v1
 | 
			
		||||
kind: HTTPRoute
 | 
			
		||||
metadata:
 | 
			
		||||
  name: http-route-slskd
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: http-route-slskd
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  parentRefs:
 | 
			
		||||
    - group: gateway.networking.k8s.io
 | 
			
		||||
      kind: Gateway
 | 
			
		||||
      name: traefik-gateway
 | 
			
		||||
      namespace: traefik
 | 
			
		||||
  hostnames:
 | 
			
		||||
    - slskd.alexlebens.net
 | 
			
		||||
  rules:
 | 
			
		||||
    - matches:
 | 
			
		||||
      - path:
 | 
			
		||||
          type: PathPrefix
 | 
			
		||||
          value: /
 | 
			
		||||
      backendRefs:
 | 
			
		||||
        - group: ''
 | 
			
		||||
          kind: Service
 | 
			
		||||
          name: slskd
 | 
			
		||||
          port: 5030
 | 
			
		||||
          weight: 100
 | 
			
		||||
@@ -0,0 +1,8 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: Namespace
 | 
			
		||||
metadata:
 | 
			
		||||
  name: slskd
 | 
			
		||||
  labels:
 | 
			
		||||
    pod-security.kubernetes.io/audit: privileged
 | 
			
		||||
    pod-security.kubernetes.io/enforce: privileged
 | 
			
		||||
    pod-security.kubernetes.io/warn: privileged
 | 
			
		||||
@@ -0,0 +1,19 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: slskd-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: slskd-nfs-storage
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: storage
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  volumeName: slskd-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -0,0 +1,25 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: slskd-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: slskd-nfs-storage
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: storage
 | 
			
		||||
    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
 | 
			
		||||
@@ -0,0 +1,21 @@
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1
 | 
			
		||||
kind: ServiceMonitor
 | 
			
		||||
metadata:
 | 
			
		||||
  name: slskd
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: slskd
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: metrics
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  selector:
 | 
			
		||||
    matchLabels:
 | 
			
		||||
      app.kubernetes.io/name: slskd
 | 
			
		||||
      app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
  endpoints:
 | 
			
		||||
    - port: http
 | 
			
		||||
      interval: 3m
 | 
			
		||||
      scrapeTimeout: 1m
 | 
			
		||||
      path: /metrics
 | 
			
		||||
							
								
								
									
										155
									
								
								clusters/cl01tl/applications/slskd/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								clusters/cl01tl/applications/slskd/values.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,155 @@
 | 
			
		||||
slskd:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      initContainers:
 | 
			
		||||
        init-sysctl:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: busybox
 | 
			
		||||
            tag: 1.37.0
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          securityContext:
 | 
			
		||||
            privileged: True
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
          command:
 | 
			
		||||
            - /bin/sh
 | 
			
		||||
          args:
 | 
			
		||||
            - -ec
 | 
			
		||||
            - |
 | 
			
		||||
              sysctl -w net.ipv4.ip_forward=1;
 | 
			
		||||
              sysctl -w net.ipv6.conf.all.disable_ipv6=1
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: slskd/slskd
 | 
			
		||||
            tag: 0.22.2
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: SLSKD_UMASK
 | 
			
		||||
              value: 000
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 512Mi
 | 
			
		||||
        gluetun:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/qdm12/gluetun
 | 
			
		||||
            tag: v3.40.0@sha256:2b42bfa046757145a5155acece417b65b4443c8033fb88661a8e9dcf7fda5a00
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: VPN_SERVICE_PROVIDER
 | 
			
		||||
              value: protonvpn
 | 
			
		||||
            - name: VPN_TYPE
 | 
			
		||||
              value: wireguard
 | 
			
		||||
            - name: WIREGUARD_PRIVATE_KEY
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: slskd-wireguard-conf
 | 
			
		||||
                  key: private-key
 | 
			
		||||
            - name: VPN_PORT_FORWARDING
 | 
			
		||||
              value: "on"
 | 
			
		||||
            - name: PORT_FORWARD_ONLY
 | 
			
		||||
              value: "on"
 | 
			
		||||
            - name: FIREWALL_OUTBOUND_SUBNETS
 | 
			
		||||
              value: 192.168.1.0/24,10.244.0.0/16
 | 
			
		||||
            - name: FIREWALL_INPUT_PORTS
 | 
			
		||||
              value: 5030,50300
 | 
			
		||||
            - name: DOT
 | 
			
		||||
              value: "off"
 | 
			
		||||
          securityContext:
 | 
			
		||||
            privileged: True
 | 
			
		||||
            capabilities:
 | 
			
		||||
              add:
 | 
			
		||||
                - NET_ADMIN
 | 
			
		||||
                - SYS_MODULE
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              squat.ai/tun: "1"
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
            limits:
 | 
			
		||||
              squat.ai/tun: "1"
 | 
			
		||||
    soularr:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      pod:
 | 
			
		||||
        securityContext:
 | 
			
		||||
          fsGroup: 1000
 | 
			
		||||
          fsGroupChangePolicy: OnRootMismatch
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: mrusse08/soularr
 | 
			
		||||
            tag: latest@sha256:11187ea58ea7b3686f4a2d328e721a5a8ca4d5815c43d90e9d67f5c61ca275c8
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: SCRIPT_INTERVAL
 | 
			
		||||
              value: 300
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 5030
 | 
			
		||||
          targetPort: 5030
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  persistence:
 | 
			
		||||
    slskd-config:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      type: secret
 | 
			
		||||
      name: slskd-config-secret
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /app/slskd.yml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: slskd.yml
 | 
			
		||||
    soularr-config:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      type: secret
 | 
			
		||||
      name: soularr-config-secret
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        soularr:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /data/config.ini
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: config.ini
 | 
			
		||||
    data:
 | 
			
		||||
      existingClaim: slskd-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store
 | 
			
		||||
              readOnly: false
 | 
			
		||||
        soularr:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store
 | 
			
		||||
              readOnly: false
 | 
			
		||||
		Reference in New Issue
	
	Block a user