add audiobookshelf
This commit is contained in:
		| @@ -0,0 +1,116 @@ | ||||
| # apiVersion: external-secrets.io/v1beta1 | ||||
| # kind: ExternalSecret | ||||
| # metadata: | ||||
| #   name: audiobookshelf-config-backup-secret | ||||
| #   namespace: {{ .Release.Namespace }} | ||||
| #   labels: | ||||
| #     app.kubernetes.io/name: audiobookshelf-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 }}` }}/audiobookshelf/audiobookshelf-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: audiobookshelf-metadata-backup-secret | ||||
| #   namespace: {{ .Release.Namespace }} | ||||
| #   labels: | ||||
| #     app.kubernetes.io/name: audiobookshelf-metadata-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 }}` }}/audiobookshelf/audiobookshelf-metadata" | ||||
| #   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 | ||||
| @@ -0,0 +1,30 @@ | ||||
| apiVersion: gateway.networking.k8s.io/v1 | ||||
| kind: HTTPRoute | ||||
| metadata: | ||||
|   name: http-route-audiobookshelf | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: http-route-audiobookshelf | ||||
|     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: | ||||
|     - audiobookshelf.alexlebens.net | ||||
|   rules: | ||||
|     - matches: | ||||
|       - path: | ||||
|           type: PathPrefix | ||||
|           value: / | ||||
|       backendRefs: | ||||
|         - group: '' | ||||
|           kind: Service | ||||
|           name: audiobookshelf | ||||
|           port: 80 | ||||
|           weight: 100 | ||||
| @@ -0,0 +1,40 @@ | ||||
| apiVersion: v1 | ||||
| kind: PersistentVolumeClaim | ||||
| metadata: | ||||
|   name: audiobookshelf-nfs-storage-backup | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: audiobookshelf-nfs-storage-backup | ||||
|     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: | ||||
|   volumeMode: Filesystem | ||||
|   storageClassName: nfs-client | ||||
|   accessModes: | ||||
|     - ReadWriteOnce | ||||
|   resources: | ||||
|     requests: | ||||
|       storage: 1Gi | ||||
|  | ||||
| --- | ||||
| apiVersion: v1 | ||||
| kind: PersistentVolumeClaim | ||||
| metadata: | ||||
|   name: audiobookshelf-nfs-storage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: audiobookshelf-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: audiobookshelf-nfs-storage | ||||
|   storageClassName: nfs-client | ||||
|   accessModes: | ||||
|     - ReadWriteMany | ||||
|   resources: | ||||
|     requests: | ||||
|       storage: 1Gi | ||||
| @@ -0,0 +1,25 @@ | ||||
| apiVersion: v1 | ||||
| kind: PersistentVolume | ||||
| metadata: | ||||
|   name: audiobookshelf-nfs-storage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: audiobookshelf-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: audiobookshelf-config-backup-source | ||||
| #   namespace: {{ .Release.Namespace }} | ||||
| #   labels: | ||||
| #     app.kubernetes.io/name: audiobookshelf-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: audiobookshelf-config | ||||
| #   trigger: | ||||
| #     schedule: 0 0 */3 * * | ||||
| #   restic: | ||||
| #     pruneIntervalDays: 14 | ||||
| #     repository: audiobookshelf-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: audiobookshelf-metadata-backup-source | ||||
| #   namespace: {{ .Release.Namespace }} | ||||
| #   labels: | ||||
| #     app.kubernetes.io/name: audiobookshelf-metadata-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: audiobookshelf-metadata | ||||
| #   trigger: | ||||
| #     schedule: 0 0 */3 * * | ||||
| #   restic: | ||||
| #     pruneIntervalDays: 14 | ||||
| #     repository: audiobookshelf-metadata-backup-secret | ||||
| #     retain: | ||||
| #       hourly: 1 | ||||
| #       daily: 1 | ||||
| #       weekly: 1 | ||||
| #       monthly: 2 | ||||
| #       yearly: 4 | ||||
| #     copyMethod: Snapshot | ||||
| #     storageClassName: ceph-block | ||||
| #     volumeSnapshotClassName: ceph-blockpool-snapshot | ||||
		Reference in New Issue
	
	Block a user