From 60077df128556d5f34577416de8f206fe28fc582 Mon Sep 17 00:00:00 2001 From: Remy Moll Date: Tue, 17 Sep 2024 13:42:33 +0200 Subject: [PATCH] add audiobookshelf --- apps/audiobookshelf/deployment.yaml | 42 +++++++++++++++++++ apps/audiobookshelf/ingress.yaml | 17 ++++++++ apps/audiobookshelf/kustomization.yaml | 15 +++++++ apps/audiobookshelf/namespace.yaml | 4 ++ apps/audiobookshelf/pvc.yaml | 11 +++++ apps/audiobookshelf/service.yaml | 10 +++++ .../audiobookshelf/application.yaml | 18 ++++++++ .../audiobookshelf/kustomization.yaml | 4 ++ kluster-deployments/kustomization.yaml | 1 + 9 files changed, 122 insertions(+) create mode 100644 apps/audiobookshelf/deployment.yaml create mode 100644 apps/audiobookshelf/ingress.yaml create mode 100644 apps/audiobookshelf/kustomization.yaml create mode 100644 apps/audiobookshelf/namespace.yaml create mode 100644 apps/audiobookshelf/pvc.yaml create mode 100644 apps/audiobookshelf/service.yaml create mode 100644 kluster-deployments/audiobookshelf/application.yaml create mode 100644 kluster-deployments/audiobookshelf/kustomization.yaml diff --git a/apps/audiobookshelf/deployment.yaml b/apps/audiobookshelf/deployment.yaml new file mode 100644 index 0000000..c6d5ca2 --- /dev/null +++ b/apps/audiobookshelf/deployment.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: audiobookshelf +spec: + replicas: 1 + selector: + matchLabels: + app: audiobookshelf + template: + metadata: + labels: + app: audiobookshelf + spec: + containers: + - name: audiobookshelf + image: audiobookshelf + ports: + - containerPort: 80 + + env: + - name: TZ + value: Europe/Berlin + - name: CONFIG_PATH + value: /data/config + - name: METADATA_PATH + value: /data/metadata + volumeMounts: + - name: data + mountPath: /data + resources: + requests: + cpu: "100m" + memory: "200Mi" + limits: + cpu: "2" + memory: "1Gi" + volumes: + - name: data + persistentVolumeClaim: + claimName: audiobookshelf-data + diff --git a/apps/audiobookshelf/ingress.yaml b/apps/audiobookshelf/ingress.yaml new file mode 100644 index 0000000..8419a4b --- /dev/null +++ b/apps/audiobookshelf/ingress.yaml @@ -0,0 +1,17 @@ +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: audiobookshelf-ingressroute + +spec: + entryPoints: + - websecure + routes: + - match: Host(`audiobookshelf.kluster.moll.re`) + kind: Rule + services: + - name: audiobookshelf-web + port: 80 + + tls: + certResolver: default-tls diff --git a/apps/audiobookshelf/kustomization.yaml b/apps/audiobookshelf/kustomization.yaml new file mode 100644 index 0000000..777f27a --- /dev/null +++ b/apps/audiobookshelf/kustomization.yaml @@ -0,0 +1,15 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - pvc.yaml + - deployment.yaml + - service.yaml + - ingress.yaml + +namespace: audiobookshelf + +images: + - name: audiobookshelf + newName: ghcr.io/advplyr/audiobookshelf + newTag: "2.13.3" diff --git a/apps/audiobookshelf/namespace.yaml b/apps/audiobookshelf/namespace.yaml new file mode 100644 index 0000000..0a074bd --- /dev/null +++ b/apps/audiobookshelf/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: placeholder diff --git a/apps/audiobookshelf/pvc.yaml b/apps/audiobookshelf/pvc.yaml new file mode 100644 index 0000000..4c2ca81 --- /dev/null +++ b/apps/audiobookshelf/pvc.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: audiobookshelf-data +spec: + storageClassName: "nfs-client" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi diff --git a/apps/audiobookshelf/service.yaml b/apps/audiobookshelf/service.yaml new file mode 100644 index 0000000..236d7dc --- /dev/null +++ b/apps/audiobookshelf/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: audiobookshelf-web +spec: + selector: + app: audiobookshelf + ports: + - port: 80 + targetPort: 80 diff --git a/kluster-deployments/audiobookshelf/application.yaml b/kluster-deployments/audiobookshelf/application.yaml new file mode 100644 index 0000000..426749a --- /dev/null +++ b/kluster-deployments/audiobookshelf/application.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: audiobookshelf-application + namespace: argocd +spec: + project: apps + source: + repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git + targetRevision: main + path: apps/audiobookshelf + destination: + server: https://kubernetes.default.svc + namespace: audiobookshelf + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/kluster-deployments/audiobookshelf/kustomization.yaml b/kluster-deployments/audiobookshelf/kustomization.yaml new file mode 100644 index 0000000..977dcfe --- /dev/null +++ b/kluster-deployments/audiobookshelf/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - application.yaml diff --git a/kluster-deployments/kustomization.yaml b/kluster-deployments/kustomization.yaml index 1357771..195e12c 100644 --- a/kluster-deployments/kustomization.yaml +++ b/kluster-deployments/kustomization.yaml @@ -24,6 +24,7 @@ resources: # simple apps - adguard/ + - audiobookshelf/ - eth-physics/ - files/ - finance/