add lidarr
This commit is contained in:
		@@ -91,7 +91,7 @@ spec:
 | 
			
		||||
        key: /cl01tl/radarr5-standup/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_LIDARR2_KEY
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_LIDARR_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
 
 | 
			
		||||
@@ -519,12 +519,12 @@ homepage:
 | 
			
		||||
                  icon: sh-lidarr.svg
 | 
			
		||||
                  description: Music
 | 
			
		||||
                  href: https://lidarr.alexlebens.net
 | 
			
		||||
                  siteMonitor: http://lidarr2.lidarr2:80
 | 
			
		||||
                  siteMonitor: http://lidarr.lidarr:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: lidarr
 | 
			
		||||
                    url: http://lidarr2.lidarr2:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_LIDARR2_KEY}}" }}
 | 
			
		||||
                    url: http://lidarr.lidarr:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_LIDARR_KEY}}" }}
 | 
			
		||||
                    fields: ["wanted", "queued", "artists"]
 | 
			
		||||
              - LidaTube:
 | 
			
		||||
                  icon: sh-lidatube.png
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								clusters/cl01tl/applications/lidarr/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								clusters/cl01tl/applications/lidarr/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: lidarr
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Lidarr
 | 
			
		||||
keywords:
 | 
			
		||||
  - lidarr
 | 
			
		||||
  - servarr
 | 
			
		||||
  - music
 | 
			
		||||
  - metrics
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/lidarr-BIqpxux60p
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/Lidarr/Lidarr
 | 
			
		||||
  - https://github.com/linuxserver/docker-lidarr
 | 
			
		||||
  - https://github.com/cloudnative-pg/cloudnative-pg
 | 
			
		||||
  - https://github.com/onedr0p/exportarr/pkgs/container/exportarr
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/charts/postgres-cluster
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: lidarr
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: postgres-cluster
 | 
			
		||||
    alias: postgres-17-cluster
 | 
			
		||||
    version: 4.2.0
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/lidarr.png
 | 
			
		||||
appVersion: 2.8.2
 | 
			
		||||
@@ -0,0 +1,89 @@
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: lidarr-config-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: lidarr-config-backup-secret
 | 
			
		||||
#     app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
#     app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
#     app.kubernetes.io/component: backup
 | 
			
		||||
#     app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
# spec:
 | 
			
		||||
#   secretStoreRef:
 | 
			
		||||
#     kind: ClusterSecretStore
 | 
			
		||||
#     name: vault
 | 
			
		||||
#   target:
 | 
			
		||||
#     template:
 | 
			
		||||
#       mergePolicy: Merge
 | 
			
		||||
#       engineVersion: v2
 | 
			
		||||
#       data:
 | 
			
		||||
#         RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/lidarr2/lidarr2-config"
 | 
			
		||||
#   data:
 | 
			
		||||
#     - secretKey: BUCKET_ENDPOINT
 | 
			
		||||
#       remoteRef:
 | 
			
		||||
#         conversionStrategy: Default
 | 
			
		||||
#         decodingStrategy: None
 | 
			
		||||
#         key: /cl01tl/volsync/restic/config
 | 
			
		||||
#         metadataPolicy: None
 | 
			
		||||
#         property: S3_BUCKET_ENDPOINT
 | 
			
		||||
#     - secretKey: RESTIC_PASSWORD
 | 
			
		||||
#       remoteRef:
 | 
			
		||||
#         conversionStrategy: Default
 | 
			
		||||
#         decodingStrategy: None
 | 
			
		||||
#         key: /cl01tl/volsync/restic/config
 | 
			
		||||
#         metadataPolicy: None
 | 
			
		||||
#         property: RESTIC_PASSWORD
 | 
			
		||||
#     - secretKey: AWS_DEFAULT_REGION
 | 
			
		||||
#       remoteRef:
 | 
			
		||||
#         conversionStrategy: Default
 | 
			
		||||
#         decodingStrategy: None
 | 
			
		||||
#         key: /cl01tl/volsync/restic/config
 | 
			
		||||
#         metadataPolicy: None
 | 
			
		||||
#         property: AWS_DEFAULT_REGION
 | 
			
		||||
#     - secretKey: AWS_ACCESS_KEY_ID
 | 
			
		||||
#       remoteRef:
 | 
			
		||||
#         conversionStrategy: Default
 | 
			
		||||
#         decodingStrategy: None
 | 
			
		||||
#         key: /digital-ocean/home-infra/volsync-backups
 | 
			
		||||
#         metadataPolicy: None
 | 
			
		||||
#         property: access_key
 | 
			
		||||
#     - secretKey: AWS_SECRET_ACCESS_KEY
 | 
			
		||||
#       remoteRef:
 | 
			
		||||
#         conversionStrategy: Default
 | 
			
		||||
#         decodingStrategy: None
 | 
			
		||||
#         key: /digital-ocean/home-infra/volsync-backups
 | 
			
		||||
#         metadataPolicy: None
 | 
			
		||||
#         property: secret_key
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidarr-postgresql-17-cluster-backup-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr-postgresql-17-cluster-backup-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: database
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: ACCESS_KEY_ID
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /digital-ocean/home-infra/postgres-backups
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: access
 | 
			
		||||
    - secretKey: ACCESS_SECRET_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /digital-ocean/home-infra/postgres-backups
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: secret
 | 
			
		||||
@@ -0,0 +1,30 @@
 | 
			
		||||
apiVersion: gateway.networking.k8s.io/v1
 | 
			
		||||
kind: HTTPRoute
 | 
			
		||||
metadata:
 | 
			
		||||
  name: http-route-lidarr
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: http-route-lidarr
 | 
			
		||||
    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:
 | 
			
		||||
    - lidarr.alexlebens.net
 | 
			
		||||
  rules:
 | 
			
		||||
    - matches:
 | 
			
		||||
      - path:
 | 
			
		||||
          type: PathPrefix
 | 
			
		||||
          value: /
 | 
			
		||||
      backendRefs:
 | 
			
		||||
        - group: ''
 | 
			
		||||
          kind: Service
 | 
			
		||||
          name: lidarr
 | 
			
		||||
          port: 80
 | 
			
		||||
          weight: 100
 | 
			
		||||
@@ -0,0 +1,19 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidarr-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr-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: lidarr-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -0,0 +1,25 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidarr-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr-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,34 @@
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1
 | 
			
		||||
kind: PrometheusRule
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidarr
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr
 | 
			
		||||
    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:
 | 
			
		||||
  groups:
 | 
			
		||||
    - name: lidarr
 | 
			
		||||
      rules:
 | 
			
		||||
        - alert: ExportarrAbsent
 | 
			
		||||
          annotations:
 | 
			
		||||
            description: Lidarr Exportarr has disappeared from Prometheus
 | 
			
		||||
              service discovery.
 | 
			
		||||
            summary: Exportarr is down.
 | 
			
		||||
          expr: |
 | 
			
		||||
            absent(up{job=~".*lidarr.*"} == 1)
 | 
			
		||||
          for: 5m
 | 
			
		||||
          labels:
 | 
			
		||||
            severity: critical
 | 
			
		||||
        - alert: LidarrDown
 | 
			
		||||
          annotations:
 | 
			
		||||
            description: Lidarr service is down.
 | 
			
		||||
            summary: Lidarr is down.
 | 
			
		||||
          expr: |
 | 
			
		||||
            lidarr_system_status{job=~".*lidarr.*"} == 0
 | 
			
		||||
          for: 5m
 | 
			
		||||
          labels:
 | 
			
		||||
            severity: critical
 | 
			
		||||
@@ -0,0 +1,30 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: lidarr-config-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: lidarr-config-backup-source
 | 
			
		||||
#     app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
#     app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
#     app.kubernetes.io/component: backup
 | 
			
		||||
#     app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
# spec:
 | 
			
		||||
#   sourcePVC: lidarr-config
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: lidarr-config-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     moverSecurityContext:
 | 
			
		||||
#       runAsUser: 1000
 | 
			
		||||
#       runAsGroup: 1000
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -0,0 +1,21 @@
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1
 | 
			
		||||
kind: ServiceMonitor
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidarr
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr
 | 
			
		||||
    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: lidarr
 | 
			
		||||
      app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
  endpoints:
 | 
			
		||||
    - port: metrics
 | 
			
		||||
      interval: 3m
 | 
			
		||||
      scrapeTimeout: 1m
 | 
			
		||||
      path: /metrics
 | 
			
		||||
							
								
								
									
										133
									
								
								clusters/cl01tl/applications/lidarr/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								clusters/cl01tl/applications/lidarr/values.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,133 @@
 | 
			
		||||
lidarr:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      pod:
 | 
			
		||||
        securityContext:
 | 
			
		||||
          runAsUser: 1000
 | 
			
		||||
          runAsGroup: 1000
 | 
			
		||||
          fsGroup: 1000
 | 
			
		||||
          fsGroupChangePolicy: OnRootMismatch
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/linuxserver/lidarr
 | 
			
		||||
            tag: version-2.8.2.4493@sha256:108ecf0fcbd8f77b6e8a513be6f3446feb47666dd1b45ea360569e9aac0960e4
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: 1000
 | 
			
		||||
          probes:
 | 
			
		||||
            liveness:
 | 
			
		||||
              enabled: true
 | 
			
		||||
              custom: true
 | 
			
		||||
              spec:
 | 
			
		||||
                exec:
 | 
			
		||||
                  command:
 | 
			
		||||
                  - /usr/bin/env
 | 
			
		||||
                  - bash
 | 
			
		||||
                  - -c
 | 
			
		||||
                  - curl --fail localhost:8686/api/v1/system/status?apiKey=`IFS=\> && while
 | 
			
		||||
                    read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml`
 | 
			
		||||
                failureThreshold: 5
 | 
			
		||||
                initialDelaySeconds: 60
 | 
			
		||||
                periodSeconds: 10
 | 
			
		||||
                successThreshold: 1
 | 
			
		||||
                timeoutSeconds: 10
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
        metrics:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/onedr0p/exportarr
 | 
			
		||||
            tag: v2.0.1
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          args: ["lidarr"]
 | 
			
		||||
          env:
 | 
			
		||||
            - name: URL
 | 
			
		||||
              value: http://localhost
 | 
			
		||||
            - name: CONFIG
 | 
			
		||||
              value: /config/config.xml
 | 
			
		||||
            - name: PORT
 | 
			
		||||
              value: 9792
 | 
			
		||||
            - name: ENABLE_ADDITIONAL_METRICS
 | 
			
		||||
              value: false
 | 
			
		||||
            - name: ENABLE_UNKNOWN_QUEUE_ITEMS
 | 
			
		||||
              value: false
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 8686
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
        metrics:
 | 
			
		||||
          port: 9792
 | 
			
		||||
          targetPort: 9792
 | 
			
		||||
          protocol: TCP
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 10Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
          metrics:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: true
 | 
			
		||||
    media:
 | 
			
		||||
      existingClaim: lidarr-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store
 | 
			
		||||
              readOnly: false
 | 
			
		||||
postgres-17-cluster:
 | 
			
		||||
  mode: recovery
 | 
			
		||||
  cluster:
 | 
			
		||||
    walStorage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    storage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    resources:
 | 
			
		||||
      requests:
 | 
			
		||||
        memory: 1Gi
 | 
			
		||||
        cpu: 200m
 | 
			
		||||
    monitoring:
 | 
			
		||||
      enabled: true
 | 
			
		||||
  bootstrap:
 | 
			
		||||
    initdb:
 | 
			
		||||
      postInitSQL:
 | 
			
		||||
        - CREATE DATABASE "lidarr-main" OWNER "app";
 | 
			
		||||
        - CREATE DATABASE "lidarr-log" OWNER "app";
 | 
			
		||||
  recovery:
 | 
			
		||||
    endpointURL: https://nyc3.digitaloceanspaces.com
 | 
			
		||||
    destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/lidarr2/lidarr2-postgresql-17-cluster
 | 
			
		||||
    endpointCredentials: lidarr-postgresql-17-cluster-backup-secret
 | 
			
		||||
    recoveryIndex: 2
 | 
			
		||||
  backup:
 | 
			
		||||
    enabled: false
 | 
			
		||||
    endpointURL: https://nyc3.digitaloceanspaces.com
 | 
			
		||||
    destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/lidarr2/lidarr2-postgresql-17-cluster
 | 
			
		||||
    endpointCredentials: lidarr-postgresql-17-cluster-backup-secret
 | 
			
		||||
    backupIndex: 3
 | 
			
		||||
    retentionPolicy: "7d"
 | 
			
		||||
							
								
								
									
										22
									
								
								clusters/cl01tl/applications/lidatube/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								clusters/cl01tl/applications/lidatube/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: lidatube
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: LidaTube
 | 
			
		||||
keywords:
 | 
			
		||||
  - lidatube
 | 
			
		||||
  - music
 | 
			
		||||
  - yt-dlp
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/lidatube-Rm5ioxwcaS
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/TheWicklowWolf/LidaTube
 | 
			
		||||
  - https://registry.hub.docker.com/r/thewicklowwolf/lidatube
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: lidatube
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/TheWicklowWolf/LidaTube/main/src/static/lidatube.png
 | 
			
		||||
appVersion: 0.2.9
 | 
			
		||||
@@ -0,0 +1,23 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidatube-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidatube-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: lidarr_api_key
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/lidarr2/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
@@ -0,0 +1,30 @@
 | 
			
		||||
apiVersion: gateway.networking.k8s.io/v1
 | 
			
		||||
kind: HTTPRoute
 | 
			
		||||
metadata:
 | 
			
		||||
  name: http-route-lidarr
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: http-route-lidarr
 | 
			
		||||
    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:
 | 
			
		||||
    - lidarr.alexlebens.net
 | 
			
		||||
  rules:
 | 
			
		||||
    - matches:
 | 
			
		||||
      - path:
 | 
			
		||||
          type: PathPrefix
 | 
			
		||||
          value: /
 | 
			
		||||
      backendRefs:
 | 
			
		||||
        - group: ''
 | 
			
		||||
          kind: Service
 | 
			
		||||
          name: lidarr
 | 
			
		||||
          port: 80
 | 
			
		||||
          weight: 100
 | 
			
		||||
@@ -0,0 +1,19 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidatube-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidatube-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: lidatube-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -0,0 +1,25 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidatube-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidatube-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/Music
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
    - noac
 | 
			
		||||
							
								
								
									
										67
									
								
								clusters/cl01tl/applications/lidatube/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								clusters/cl01tl/applications/lidatube/values.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
lidatube:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      pod:
 | 
			
		||||
        securityContext:
 | 
			
		||||
          fsGroup: 1000
 | 
			
		||||
          fsGroupChangePolicy: OnRootMismatch
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: thewicklowwolf/lidatube
 | 
			
		||||
            tag: 0.2.16
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: lidarr_address
 | 
			
		||||
              value: http://lidarr.lidarr:80
 | 
			
		||||
            - name: lidarr_api_key
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: lidatube-secret
 | 
			
		||||
                  key: lidarr_api_key
 | 
			
		||||
            - name: sleep_interval
 | 
			
		||||
              value: 360
 | 
			
		||||
            - name: sync_schedule
 | 
			
		||||
              value: 4
 | 
			
		||||
            - name: attempt_lidarr_import
 | 
			
		||||
              value: true
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 5000
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 5Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /lidatube/config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    music:
 | 
			
		||||
      existingClaim: lidatube-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /lidatube/downloads
 | 
			
		||||
              readOnly: false
 | 
			
		||||
		Reference in New Issue
	
	Block a user