From 00383caf887513a6d39ed663caa3da12706c90ff Mon Sep 17 00:00:00 2001 From: David Landry Date: Thu, 19 Sep 2024 14:04:42 -0400 Subject: [PATCH 1/2] chore(kavita): add mount for tech books and ttrpg --- apps/kavita/base/kavita-deployment.yaml | 10 +++++++++ apps/kavita/base/kustomization.yaml | 3 +++ apps/kavita/base/pv-techbooks.yaml | 30 +++++++++++++++++++++++++ apps/kavita/base/pv-ttrpgbooks.yaml | 30 +++++++++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 apps/kavita/base/pv-techbooks.yaml create mode 100644 apps/kavita/base/pv-ttrpgbooks.yaml diff --git a/apps/kavita/base/kavita-deployment.yaml b/apps/kavita/base/kavita-deployment.yaml index da5f273..6d01f54 100644 --- a/apps/kavita/base/kavita-deployment.yaml +++ b/apps/kavita/base/kavita-deployment.yaml @@ -64,6 +64,10 @@ spec: name: kavita-config-pvc - mountPath: /books name: kavita-ebooks-pvc + - mountPath: /tech-books + name: kavita-tech-ebooks-pvc + - mountPath: /ttrpg-books + name: kavita-ttrpg-ebooks-pvc - mountPath: /comics name: kavita-comics-pvc @@ -79,6 +83,12 @@ spec: - name: kavita-ebooks-pvc persistentVolumeClaim: claimName: kavita-ebooks-pvc + - name: kavita-tech-ebooks-pvc + persistentVolumeClaim: + claimName: kavita-tech-ebooks-pvc + - name: kavita-ttrpg-ebooks-pvc + persistentVolumeClaim: + claimName: kavita-ttrpg-ebooks-pvc - name: kavita-comics-pvc persistentVolumeClaim: claimName: kavita-comics-pvc diff --git a/apps/kavita/base/kustomization.yaml b/apps/kavita/base/kustomization.yaml index 88008f8..9e35588 100644 --- a/apps/kavita/base/kustomization.yaml +++ b/apps/kavita/base/kustomization.yaml @@ -12,3 +12,6 @@ resources: - kavita-ebooks-pvc.yaml - kavita-ingress.yaml - kavita-service.yaml + - ./pv-techbooks.yaml + - ./pv-ttrpgbooks.yaml + diff --git a/apps/kavita/base/pv-techbooks.yaml b/apps/kavita/base/pv-techbooks.yaml new file mode 100644 index 0000000..34a2ccb --- /dev/null +++ b/apps/kavita/base/pv-techbooks.yaml @@ -0,0 +1,30 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + annotations: + pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner + name: media-library-tech-ebooks +spec: + accessModes: + - ReadWriteOnce + capacity: + storage: 100Gi + nfs: + path: /export/tech-ebooks + server: 192.168.1.215 + persistentVolumeReclaimPolicy: Retain + storageClassName: nfs-client + volumeMode: Filesystem +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: kavita-tech-ebooks-pvc + namespace: media +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + volumeName: media-library-tech-ebooks diff --git a/apps/kavita/base/pv-ttrpgbooks.yaml b/apps/kavita/base/pv-ttrpgbooks.yaml new file mode 100644 index 0000000..a9acc92 --- /dev/null +++ b/apps/kavita/base/pv-ttrpgbooks.yaml @@ -0,0 +1,30 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + annotations: + pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner + name: media-library-ttrpg-ebooks +spec: + accessModes: + - ReadWriteOnce + capacity: + storage: 100Gi + nfs: + path: /export/ttrpg-ebooks + server: 192.168.1.215 + persistentVolumeReclaimPolicy: Retain + storageClassName: nfs-client + volumeMode: Filesystem +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: kavita-ttrpg-ebooks-pvc + namespace: media +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + volumeName: media-library-ttrpg-ebooks From 2674133fad44391f9c3e43acde65fb9f5910bc7a Mon Sep 17 00:00:00 2001 From: David Landry Date: Thu, 19 Sep 2024 14:12:45 -0400 Subject: [PATCH 2/2] chore(kavita): combine and rename manifest files --- apps/kavita/base/email-claim-pvc.yaml | 14 ----- apps/kavita/base/email-service.yaml | 15 ----- .../{email-deployment.yaml => email.yaml} | 31 ++++++++++ apps/kavita/base/kavita-comics-pvc.yaml | 12 ---- apps/kavita/base/kavita-config-pvc.yaml | 14 ----- apps/kavita/base/kavita-ebooks-pvc.yaml | 12 ---- apps/kavita/base/kavita-ingress.yaml | 30 --------- apps/kavita/base/kavita-service.yaml | 15 ----- .../{kavita-deployment.yaml => kavita.yaml} | 62 +++++++++++++++++++ apps/kavita/base/kustomization.yaml | 15 ++--- .../{kavita-comics-pv.yaml => pv-comics.yaml} | 12 ++++ .../{kavita-ebooks-pv.yaml => pv-ebooks.yaml} | 12 ++++ 12 files changed, 121 insertions(+), 123 deletions(-) delete mode 100644 apps/kavita/base/email-claim-pvc.yaml delete mode 100644 apps/kavita/base/email-service.yaml rename apps/kavita/base/{email-deployment.yaml => email.yaml} (71%) delete mode 100644 apps/kavita/base/kavita-comics-pvc.yaml delete mode 100644 apps/kavita/base/kavita-config-pvc.yaml delete mode 100644 apps/kavita/base/kavita-ebooks-pvc.yaml delete mode 100644 apps/kavita/base/kavita-ingress.yaml delete mode 100644 apps/kavita/base/kavita-service.yaml rename apps/kavita/base/{kavita-deployment.yaml => kavita.yaml} (69%) rename apps/kavita/base/{kavita-comics-pv.yaml => pv-comics.yaml} (64%) rename apps/kavita/base/{kavita-ebooks-pv.yaml => pv-ebooks.yaml} (64%) diff --git a/apps/kavita/base/email-claim-pvc.yaml b/apps/kavita/base/email-claim-pvc.yaml deleted file mode 100644 index 0d3bc5d..0000000 --- a/apps/kavita/base/email-claim-pvc.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - creationTimestamp: null - labels: - io.kompose.service: kavita-email-config-pvc - name: kavita-email-config-pvc -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi -status: {} diff --git a/apps/kavita/base/email-service.yaml b/apps/kavita/base/email-service.yaml deleted file mode 100644 index ed97c7f..0000000 --- a/apps/kavita/base/email-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: kavita-email - labels: - name: kavita-email -spec: - ports: - - port: 5003 - targetPort: http - protocol: TCP - name: http - selector: - app.kubernetes.io/name: kavita-email - #publishNotReadyAddresses: true diff --git a/apps/kavita/base/email-deployment.yaml b/apps/kavita/base/email.yaml similarity index 71% rename from apps/kavita/base/email-deployment.yaml rename to apps/kavita/base/email.yaml index 4b10c48..aa3cb21 100644 --- a/apps/kavita/base/email-deployment.yaml +++ b/apps/kavita/base/email.yaml @@ -50,3 +50,34 @@ spec: persistentVolumeClaim: claimName: kavita-email-config-pvc status: {} +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: kavita-email-config-pvc + name: kavita-email-config-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} +--- +apiVersion: v1 +kind: Service +metadata: + name: kavita-email + labels: + name: kavita-email +spec: + ports: + - port: 5003 + targetPort: http + protocol: TCP + name: http + selector: + app.kubernetes.io/name: kavita-email + #publishNotReadyAddresses: true diff --git a/apps/kavita/base/kavita-comics-pvc.yaml b/apps/kavita/base/kavita-comics-pvc.yaml deleted file mode 100644 index 872a216..0000000 --- a/apps/kavita/base/kavita-comics-pvc.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: kavita-comics-pvc - namespace: media -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Gi - volumeName: media-library-comics diff --git a/apps/kavita/base/kavita-config-pvc.yaml b/apps/kavita/base/kavita-config-pvc.yaml deleted file mode 100644 index 2020fb7..0000000 --- a/apps/kavita/base/kavita-config-pvc.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - creationTimestamp: null - labels: - io.kompose.service: kavita-config-pvc - name: kavita-config-pvc -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi -status: {} diff --git a/apps/kavita/base/kavita-ebooks-pvc.yaml b/apps/kavita/base/kavita-ebooks-pvc.yaml deleted file mode 100644 index 624de08..0000000 --- a/apps/kavita/base/kavita-ebooks-pvc.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: kavita-ebooks-pvc - namespace: media -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Gi - volumeName: media-library-ebooks diff --git a/apps/kavita/base/kavita-ingress.yaml b/apps/kavita/base/kavita-ingress.yaml deleted file mode 100644 index ad24bd2..0000000 --- a/apps/kavita/base/kavita-ingress.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - annotations: - cert-manager.io/cluster-issuer: letsencrypt-issuer - gethomepage.dev/enabled: "true" - gethomepage.dev/name: "Books" - gethomepage.dev/description: "Ebooks and graphic novels by Kavita" - gethomepage.dev/group: "Media" - gethomepage.dev/icon: "kavita.png" - name: kavita - labels: - name: kavita -spec: - rules: - - host: library.nc.landry.land - http: - paths: - - backend: - service: - name: kavita - port: - number: 5000 - path: / - pathType: Prefix - - tls: - - hosts: - - library.nc.landry.land - secretName: kavita-tls diff --git a/apps/kavita/base/kavita-service.yaml b/apps/kavita/base/kavita-service.yaml deleted file mode 100644 index 7984487..0000000 --- a/apps/kavita/base/kavita-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: kavita - labels: - name: kavita -spec: - ports: - - port: 5000 - targetPort: http - protocol: TCP - name: http - selector: - app.kubernetes.io/name: kavita - #publishNotReadyAddresses: true diff --git a/apps/kavita/base/kavita-deployment.yaml b/apps/kavita/base/kavita.yaml similarity index 69% rename from apps/kavita/base/kavita-deployment.yaml rename to apps/kavita/base/kavita.yaml index 6d01f54..31dbe8c 100644 --- a/apps/kavita/base/kavita-deployment.yaml +++ b/apps/kavita/base/kavita.yaml @@ -93,3 +93,65 @@ spec: persistentVolumeClaim: claimName: kavita-comics-pvc status: {} +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: kavita-config-pvc + name: kavita-config-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} +--- +apiVersion: v1 +kind: Service +metadata: + name: kavita + labels: + name: kavita +spec: + ports: + - port: 5000 + targetPort: http + protocol: TCP + name: http + selector: + app.kubernetes.io/name: kavita + #publishNotReadyAddresses: true +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + cert-manager.io/cluster-issuer: letsencrypt-issuer + gethomepage.dev/enabled: "true" + gethomepage.dev/name: "Books" + gethomepage.dev/description: "Ebooks and graphic novels by Kavita" + gethomepage.dev/group: "Media" + gethomepage.dev/icon: "kavita.png" + name: kavita + labels: + name: kavita +spec: + rules: + - host: library.nc.landry.land + http: + paths: + - backend: + service: + name: kavita + port: + number: 5000 + path: / + pathType: Prefix + + tls: + - hosts: + - library.nc.landry.land + secretName: kavita-tls diff --git a/apps/kavita/base/kustomization.yaml b/apps/kavita/base/kustomization.yaml index 9e35588..a9d17f5 100644 --- a/apps/kavita/base/kustomization.yaml +++ b/apps/kavita/base/kustomization.yaml @@ -1,17 +1,10 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - email-claim-pvc.yaml - - email-deployment.yaml - - email-service.yaml - - kavita-comics-pv.yaml - - kavita-comics-pvc.yaml - - kavita-config-pvc.yaml - - kavita-deployment.yaml - - kavita-ebooks-pv.yaml - - kavita-ebooks-pvc.yaml - - kavita-ingress.yaml - - kavita-service.yaml + - ./email.yaml + - ./kavita.yaml + - ./pv-comics.yaml + - ./pv-ebooks.yaml - ./pv-techbooks.yaml - ./pv-ttrpgbooks.yaml diff --git a/apps/kavita/base/kavita-comics-pv.yaml b/apps/kavita/base/pv-comics.yaml similarity index 64% rename from apps/kavita/base/kavita-comics-pv.yaml rename to apps/kavita/base/pv-comics.yaml index b4ce4ad..4d8a9e6 100644 --- a/apps/kavita/base/kavita-comics-pv.yaml +++ b/apps/kavita/base/pv-comics.yaml @@ -1,4 +1,16 @@ apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: kavita-comics-pvc + namespace: media +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + volumeName: media-library-comics +apiVersion: v1 kind: PersistentVolume metadata: annotations: diff --git a/apps/kavita/base/kavita-ebooks-pv.yaml b/apps/kavita/base/pv-ebooks.yaml similarity index 64% rename from apps/kavita/base/kavita-ebooks-pv.yaml rename to apps/kavita/base/pv-ebooks.yaml index 79de27e..230fd43 100644 --- a/apps/kavita/base/kavita-ebooks-pv.yaml +++ b/apps/kavita/base/pv-ebooks.yaml @@ -1,4 +1,16 @@ apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: kavita-ebooks-pvc + namespace: media +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + volumeName: media-library-ebooks +apiVersion: v1 kind: PersistentVolume metadata: annotations: