add tdarr
This commit is contained in:
		
							
								
								
									
										29
									
								
								clusters/cl01tl/applications/tdarr/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								clusters/cl01tl/applications/tdarr/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: tdarr
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Tdarr
 | 
			
		||||
keywords:
 | 
			
		||||
  - tdarr
 | 
			
		||||
  - video
 | 
			
		||||
  - transcode
 | 
			
		||||
  - healthchecks
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/tdarr-DlUb9r2tdL
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/HaveAGitGat/Tdarr
 | 
			
		||||
  - https://github.com/homeylab/tdarr-exporter
 | 
			
		||||
  - https://github.com/haveagitgat/Tdarr/pkgs/container/tdarr
 | 
			
		||||
  - https://hub.docker.com/r/homeylab/tdarr-exporter
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/homeylab/helm-charts/tree/main/charts/tdarr-exporter
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: tdarr
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: tdarr-exporter
 | 
			
		||||
    version: 1.1.7
 | 
			
		||||
    repository: https://homeylab.github.io/helm-charts/
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/tdarr.png
 | 
			
		||||
appVersion: 2.27.02
 | 
			
		||||
@@ -0,0 +1,116 @@
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: tdarr-config-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: tdarr-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 }}` }}/tdarr/tdarr-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: tdarr-server-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: tdarr-server-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 }}` }}/tdarr/tdarr-server"
 | 
			
		||||
#   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
 | 
			
		||||
							
								
								
									
										30
									
								
								clusters/cl01tl/applications/tdarr/templates/http-route.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								clusters/cl01tl/applications/tdarr/templates/http-route.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
apiVersion: gateway.networking.k8s.io/v1
 | 
			
		||||
kind: HTTPRoute
 | 
			
		||||
metadata:
 | 
			
		||||
  name: http-route-tdarr
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: http-route-tdarr
 | 
			
		||||
    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:
 | 
			
		||||
    - tdarr.alexlebens.net
 | 
			
		||||
  rules:
 | 
			
		||||
    - matches:
 | 
			
		||||
      - path:
 | 
			
		||||
          type: PathPrefix
 | 
			
		||||
          value: /
 | 
			
		||||
      backendRefs:
 | 
			
		||||
        - group: ''
 | 
			
		||||
          kind: Service
 | 
			
		||||
          name: tdarr-web
 | 
			
		||||
          port: 8265
 | 
			
		||||
          weight: 100
 | 
			
		||||
@@ -0,0 +1,19 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: tdarr-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: tdarr-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: tdarr-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -0,0 +1,25 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: tdarr-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: tdarr-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,56 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: tdarr-config-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: tdarr-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: tdarr-config
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: tdarr-config-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
 | 
			
		||||
# ---
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: tdarr-server-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: tdarr-server-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: tdarr-server
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: tdarr-server-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
							
								
								
									
										159
									
								
								clusters/cl01tl/applications/tdarr/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										159
									
								
								clusters/cl01tl/applications/tdarr/values.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,159 @@
 | 
			
		||||
tdarr:
 | 
			
		||||
  controllers:
 | 
			
		||||
    server:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/haveagitgat/tdarr
 | 
			
		||||
            tag: 2.35.02
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: "1001"
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: "1001"
 | 
			
		||||
            - name: UMASK_SET
 | 
			
		||||
              value: "002"
 | 
			
		||||
            - name: ffmpegVersion
 | 
			
		||||
              value: "6"
 | 
			
		||||
            - name: internalNode
 | 
			
		||||
              value: "false"
 | 
			
		||||
            - name: inContainer
 | 
			
		||||
              value: "true"
 | 
			
		||||
            - name: nodeName
 | 
			
		||||
              value: tdarr-server
 | 
			
		||||
            - name: serverIP
 | 
			
		||||
              value: 0.0.0.0
 | 
			
		||||
            - name: serverPort
 | 
			
		||||
              value: "8266"
 | 
			
		||||
            - name: webUIPort
 | 
			
		||||
              value: "8265"
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 200m
 | 
			
		||||
              memory: 1Gi
 | 
			
		||||
    node:
 | 
			
		||||
      type: daemonset
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      pod:
 | 
			
		||||
        nodeSelector:
 | 
			
		||||
          intel.feature.node.kubernetes.io/gpu: "true"
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/haveagitgat/tdarr_node
 | 
			
		||||
            tag: 2.35.02
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: "1001"
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: "1001"
 | 
			
		||||
            - name: UMASK_SET
 | 
			
		||||
              value: "002"
 | 
			
		||||
            - name: ffmpegVersion
 | 
			
		||||
              value: "6"
 | 
			
		||||
            - name: inContainer
 | 
			
		||||
              value: "true"
 | 
			
		||||
            - name: nodeName
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                fieldRef:
 | 
			
		||||
                  fieldPath: spec.nodeName
 | 
			
		||||
            - name: serverIP
 | 
			
		||||
              value: tdarr-api
 | 
			
		||||
            - name: serverPort
 | 
			
		||||
              value: "8266"
 | 
			
		||||
          resources:
 | 
			
		||||
            limits:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 2000m
 | 
			
		||||
            requests:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 512Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    api:
 | 
			
		||||
      controller: server
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 8266
 | 
			
		||||
          targetPort: 8266
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
    web:
 | 
			
		||||
      controller: server
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 8265
 | 
			
		||||
          targetPort: 8265
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 50Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        server:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /app/configs
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    server:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 50Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        server:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /app/server
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    server-cache:
 | 
			
		||||
      type: emptyDir
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        server:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /tcache
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    node-cache:
 | 
			
		||||
      type: emptyDir
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        node:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /tcache
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    media:
 | 
			
		||||
      existingClaim: tdarr-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        server:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store
 | 
			
		||||
              readOnly: true
 | 
			
		||||
        node:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store
 | 
			
		||||
              readOnly: true
 | 
			
		||||
tdarr-exporter:
 | 
			
		||||
  image:
 | 
			
		||||
    name: homeylab/tdarr-exporter
 | 
			
		||||
    tag: 1.4.2
 | 
			
		||||
  metrics:
 | 
			
		||||
    serviceMonitor:
 | 
			
		||||
      enabled: true
 | 
			
		||||
  settings:
 | 
			
		||||
    config:
 | 
			
		||||
      url: http://tdarr-web.tdarr:8265
 | 
			
		||||
      verify_ssl: false
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      cpu: 100m
 | 
			
		||||
      memory: 256Mi
 | 
			
		||||
		Reference in New Issue
	
	Block a user