feat: add more
All checks were successful
lint-test-docker / lint-docker-compose (pull_request) Successful in 2m0s
lint-test-helm / lint-helm (pull_request) Successful in 9m32s
lint-test-helm / validate-kubeconform (pull_request) Successful in 9m26s

This commit is contained in:
2026-04-22 20:12:26 -05:00
parent 5cf0638c16
commit 4cda238587
25 changed files with 173 additions and 107 deletions

View File

@@ -1,42 +1,42 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: s3-do-home-infra-secret name: digital-ocean-s3-exporter-credentials
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: s3-do-home-infra-secret app.kubernetes.io/name: digital-ocean-s3-exporter-credentials
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore
name: vault name: openbao
data: data:
- secretKey: AWS_ACCESS_KEY_ID - secretKey: AWS_ACCESS_KEY_ID
remoteRef: remoteRef:
key: /digital-ocean/home-infra/all-access key: /digital-ocean/home-infra/s3-exporter
property: AWS_ACCESS_KEY_ID property: AWS_ACCESS_KEY_ID
- secretKey: AWS_SECRET_ACCESS_KEY - secretKey: AWS_SECRET_ACCESS_KEY
remoteRef: remoteRef:
key: /digital-ocean/home-infra/all-access key: /digital-ocean/home-infra/s3-exporter
property: AWS_SECRET_ACCESS_KEY property: AWS_SECRET_ACCESS_KEY
- secretKey: AWS_REGION - secretKey: AWS_REGION
remoteRef: remoteRef:
key: /digital-ocean/home-infra/prometheus-exporter key: /digital-ocean/home-infra/s3-exporter
property: AWS_REGION property: AWS_REGION
--- ---
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: s3-garage-secret name: garage-s3-exporter-credentials
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: s3-garage-secret app.kubernetes.io/name: garage-s3-exporter-credentials
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore
name: vault name: openbao
data: data:
- secretKey: AWS_ACCESS_KEY_ID - secretKey: AWS_ACCESS_KEY_ID
remoteRef: remoteRef:
@@ -46,3 +46,7 @@ spec:
remoteRef: remoteRef:
key: /garage/home-infra/s3-exporter key: /garage/home-infra/s3-exporter
property: ACCESS_SECRET_KEY property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
key: /garage/home-infra/s3-exporter
property: ACCESS_REGION

View File

@@ -17,17 +17,17 @@ s3-exporter:
- name: S3_ACCESS_KEY - name: S3_ACCESS_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: s3-do-home-infra-secret name: digital-ocean-s3-exporter-credentials
key: AWS_ACCESS_KEY_ID key: AWS_ACCESS_KEY_ID
- name: S3_SECRET_KEY - name: S3_SECRET_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: s3-do-home-infra-secret name: digital-ocean-s3-exporter-credentials
key: AWS_SECRET_ACCESS_KEY key: AWS_SECRET_ACCESS_KEY
- name: S3_REGION - name: S3_REGION
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: s3-do-home-infra-secret name: digital-ocean-s3-exporter-credentials
key: AWS_REGION key: AWS_REGION
- name: LOG_LEVEL - name: LOG_LEVEL
value: info value: info
@@ -54,15 +54,18 @@ s3-exporter:
- name: S3_ACCESS_KEY - name: S3_ACCESS_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: s3-garage-secret name: garage-s3-exporter-credentials
key: AWS_ACCESS_KEY_ID key: AWS_ACCESS_KEY_ID
- name: S3_SECRET_KEY - name: S3_SECRET_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: s3-garage-secret name: garage-s3-exporter-credentials
key: AWS_SECRET_ACCESS_KEY key: AWS_SECRET_ACCESS_KEY
- name: S3_REGION - name: S3_REGION
value: us-east-1 valueFrom:
secretKeyRef:
name: garage-s3-exporter-credentials
key: ACCESS_REGION
- name: LOG_LEVEL - name: LOG_LEVEL
value: debug value: debug
- name: S3_FORCE_PATH_STYLE - name: S3_FORCE_PATH_STYLE

View File

@@ -1,10 +1,10 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: searxng-browser-metrics-auth name: searxng-browser-metrics-credentials
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: searxng-browser-metrics-auth app.kubernetes.io/name: searxng-browser-metrics-credentials
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
secretStoreRef: secretStoreRef:
@@ -13,32 +13,9 @@ spec:
data: data:
- secretKey: metrics-password - secretKey: metrics-password
remoteRef: remoteRef:
key: cl01tl/searxng/browser key: /cl01tl/searxng/metrics
property: metrics-password property: password
- secretKey: metrics-username - secretKey: metrics-username
remoteRef: remoteRef:
key: cl01tl/searxng/browser key: /cl01tl/searxng/metrics
property: metrics-username property: username
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: searxng-api-config-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: searxng-api-config-secret
{{- include "custom.labels" . | nindent 4 }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: settings.yml
remoteRef:
key: /cl01tl/searxng/api/config
property: settings.yml
- secretKey: limiter.toml
remoteRef:
key: /cl01tl/searxng/api/config
property: limiter.toml

View File

@@ -0,0 +1,22 @@
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: searxng-api-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: searxng-api-config
{{- include "custom.labels" . | nindent 4 }}
spec:
provider: openbao
parameters:
baoAddress: "http://openbao-internal.openbao:8200"
roleName: searxng
objects: |
- objectName: limiter.toml
fileName: limiter.toml
secretPath: secret/data/cl01tl/searxng/api
secretKey: limiter.toml
- objectName: settings.yml
fileName: settings.yml
secretPath: secret/data/cl01tl/searxng/api
secretKey: settings.yml

View File

@@ -4,6 +4,8 @@ searxng:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
serviceAccount:
name: searxng
containers: containers:
main: main:
image: image:
@@ -58,6 +60,9 @@ searxng:
image: image:
repository: valkey/valkey repository: valkey/valkey
tag: 9.0.3-alpine@sha256:e1095c6c76ee982cb2d1e07edbb7fb2a53606630a1d810d5a47c9f646b708bf5 tag: 9.0.3-alpine@sha256:e1095c6c76ee982cb2d1e07edbb7fb2a53606630a1d810d5a47c9f646b708bf5
serviceAccount:
searxng:
enabled: true
service: service:
api: api:
controller: api controller: api
@@ -85,10 +90,10 @@ searxng:
path: /metrics path: /metrics
basicAuth: basicAuth:
password: password:
name: searxng-browser-metrics-auth name: searxng-browser-metrics-credentials
key: metrics-password key: metrics-password
username: username:
name: searxng-browser-metrics-auth name: searxng-browser-metrics-credentials
key: metrics-username key: metrics-username
route: route:
main: main:
@@ -110,20 +115,19 @@ searxng:
value: / value: /
persistence: persistence:
config: config:
enabled: true type: custom
type: secret volumeSpec:
name: searxng-api-config-secret csi:
driver: secrets-store.csi.k8s.io
readOnly: true
volumeAttributes:
secretProviderClass: searxng-api-config
advancedMounts: advancedMounts:
api: api:
main: main:
- path: /etc/searxng/settings.yml - path: /etc/searxng/
readOnly: true readOnly: true
mountPropagation: None mountPropagation: None
subPath: settings.yml
- path: /etc/searxng/limiter.toml
readOnly: true
mountPropagation: None
subPath: limiter.toml
api-data: api-data:
forceRename: searxng-api-data forceRename: searxng-api-data
storageClass: ceph-block storageClass: ceph-block

View File

@@ -1,9 +1,9 @@
apiVersion: v1 apiVersion: v1
kind: Namespace kind: Namespace
metadata: metadata:
name: secrets-store-csi-driver name: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: secrets-store-csi-driver app.kubernetes.io/name: {{ .Release.Namespace }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
pod-security.kubernetes.io/audit: privileged pod-security.kubernetes.io/audit: privileged
pod-security.kubernetes.io/enforce: privileged pod-security.kubernetes.io/enforce: privileged

View File

@@ -12,3 +12,16 @@ Selector labels
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
{{- end }} {{- end }}
{{/*
NFS names
*/}}
{{- define "custom.storageImportNfsName" -}}
shelfmark-import-nfs-storage
{{- end -}}
{{- define "custom.storageAudiobooksNfsName" -}}
shelfmark-audiobooks-nfs-storage
{{- end -}}
{{- define "custom.storageDownloadsNfsName" -}}
shelfmark-downloads-nfs-storage
{{- end -}}

View File

@@ -1,24 +1,39 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: shelfmark-config-secret name: shelfmark-grimmory-config
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: shelfmark-config-secret app.kubernetes.io/name: shelfmark-grimmory-config
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore
name: vault name: openbao
data: data:
- secretKey: grimmory-user - secretKey: grimmory-user
remoteRef: remoteRef:
key: /cl01tl/shelfmark/booklore key: /cl01tl/grimmory/users/shelfmark
property: user property: user
- secretKey: grimmory-password - secretKey: grimmory-password
remoteRef: remoteRef:
key: /cl01tl/shelfmark/booklore key: /cl01tl/grimmory/users/shelfmark
property: password property: password
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: shelfmark-prowlarr-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: shelfmark-prowlarr-config
{{- include "custom.labels" . | nindent 4 }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: openbao
data:
- secretKey: prowlarr-key - secretKey: prowlarr-key
remoteRef: remoteRef:
key: /cl01tl/prowlarr/key key: /cl01tl/prowlarr/key

View File

@@ -1,13 +1,13 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: shelfmark-import-nfs-storage name: {{ include "custom.storageImportNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: shelfmark-import-nfs-storage app.kubernetes.io/name: {{ include "custom.storageImportNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
volumeName: shelfmark-import-nfs-storage volumeName: {{ include "custom.storageImportNfsName" . }}
storageClassName: nfs-client storageClassName: nfs-client
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
@@ -19,13 +19,13 @@ spec:
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: shelfmark-audiobooks-nfs-storage name: {{ include "custom.storageAudiobooksNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: shelfmark-audiobooks-nfs-storage app.kubernetes.io/name: {{ include "custom.storageAudiobooksNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
volumeName: shelfmark-audiobooks-nfs-storage volumeName: {{ include "custom.storageAudiobooksNfsName" . }}
storageClassName: nfs-client storageClassName: nfs-client
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
@@ -37,13 +37,13 @@ spec:
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: shelfmark-downloads-nfs-storage name: {{ include "custom.storageDownloadsNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: shelfmark-downloads-nfs-storage app.kubernetes.io/name: {{ include "custom.storageDownloadsNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
volumeName: shelfmark-downloads-nfs-storage volumeName: {{ include "custom.storageDownloadsNfsName" . }}
storageClassName: nfs-client storageClassName: nfs-client
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany

View File

@@ -1,10 +1,10 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata: metadata:
name: shelfmark-import-nfs-storage name: {{ include "custom.storageImportNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: shelfmark-import-nfs-storage app.kubernetes.io/name: {{ include "custom.storageImportNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
@@ -25,10 +25,10 @@ spec:
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata: metadata:
name: shelfmark-audiobooks-nfs-storage name: {{ include "custom.storageAudiobooksNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: shelfmark-audiobooks-nfs-storage app.kubernetes.io/name: {{ include "custom.storageAudiobooksNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
@@ -49,10 +49,10 @@ spec:
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata: metadata:
name: shelfmark-downloads-nfs-storage name: {{ include "custom.storageDownloadsNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: shelfmark-downloads-nfs-storage app.kubernetes.io/name: {{ include "custom.storageDownloadsNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain

View File

@@ -35,12 +35,12 @@ shelfmark:
- name: BOOKLORE_USERNAME - name: BOOKLORE_USERNAME
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: shelfmark-config-secret name: shelfmark-grimmory-config
key: grimmory-user key: grimmory-user
- name: BOOKLORE_PASSWORD - name: BOOKLORE_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: shelfmark-config-secret name: shelfmark-grimmory-config
key: grimmory-password key: grimmory-password
- name: BOOKLORE_DESTINATION - name: BOOKLORE_DESTINATION
value: library value: library
@@ -67,7 +67,7 @@ shelfmark:
- name: PROWLARR_API_KEY - name: PROWLARR_API_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: shelfmark-config-secret name: shelfmark-prowlarr-config
key: prowlarr-key key: prowlarr-key
- name: ABB_ENABLED - name: ABB_ENABLED
value: true value: true

View File

@@ -9,13 +9,13 @@ metadata:
spec: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore
name: vault name: openbao
data: data:
- secretKey: SHELLY_HTTP_USERNAME - secretKey: SHELLY_HTTP_USERNAME
remoteRef: remoteRef:
key: /shelly-plug/auth/it05sp key: /it05sp/auth
property: SHELLY_HTTP_USERNAME property: username
- secretKey: SHELLY_HTTP_PASSWORD - secretKey: SHELLY_HTTP_PASSWORD
remoteRef: remoteRef:
key: /shelly-plug/auth/it05sp key: /it05sp/auth
property: SHELLY_HTTP_PASSWORD property: password

View File

@@ -12,3 +12,10 @@ Selector labels
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
{{- end }} {{- end }}
{{/*
NFS names
*/}}
{{- define "custom.storageNfsName" -}}
slskd-nfs-storage
{{- end -}}

View File

@@ -1,9 +1,9 @@
apiVersion: v1 apiVersion: v1
kind: Namespace kind: Namespace
metadata: metadata:
name: slskd name: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: slskd app.kubernetes.io/name: {{ .Release.Namespace }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
pod-security.kubernetes.io/audit: privileged pod-security.kubernetes.io/audit: privileged
pod-security.kubernetes.io/enforce: privileged pod-security.kubernetes.io/enforce: privileged

View File

@@ -1,13 +1,13 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: slskd-nfs-storage name: {{ include "custom.storageNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: slskd-nfs-storage app.kubernetes.io/name: {{ include "custom.storageNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
volumeName: slskd-nfs-storage volumeName: {{ include "custom.storageNfsName" . }}
storageClassName: nfs-client storageClassName: nfs-client
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany

View File

@@ -1,10 +1,10 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata: metadata:
name: slskd-nfs-storage name: {{ include "custom.storageNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: slskd-nfs-storage app.kubernetes.io/name: {{ include "custom.storageNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain

View File

@@ -12,3 +12,10 @@ Selector labels
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
{{- end }} {{- end }}
{{/*
NFS names
*/}}
{{- define "custom.storageNfsName" -}}
sonarr-4k-nfs-storage
{{- end -}}

View File

@@ -1,13 +1,13 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: sonarr-4k-nfs-storage name: {{ include "custom.storageNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: sonarr-4k-nfs-storage app.kubernetes.io/name: {{ include "custom.storageNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
volumeName: sonarr-4k-nfs-storage volumeName: {{ include "custom.storageNfsName" . }}
storageClassName: nfs-client storageClassName: nfs-client
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany

View File

@@ -1,10 +1,10 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata: metadata:
name: sonarr-4k-nfs-storage name: {{ include "custom.storageNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: sonarr-4k-nfs-storage app.kubernetes.io/name: {{ include "custom.storageNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain

View File

@@ -12,3 +12,10 @@ Selector labels
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
{{- end }} {{- end }}
{{/*
NFS names
*/}}
{{- define "custom.storageNfsName" -}}
sonarr-anime-nfs-storage
{{- end -}}

View File

@@ -1,13 +1,13 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: sonarr-anime-nfs-storage name: {{ include "custom.storageNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: sonarr-anime-nfs-storage app.kubernetes.io/name: {{ include "custom.storageNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
volumeName: sonarr-anime-nfs-storage volumeName: {{ include "custom.storageNfsName" . }}
storageClassName: nfs-client storageClassName: nfs-client
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany

View File

@@ -1,10 +1,10 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata: metadata:
name: sonarr-anime-nfs-storage name: {{ include "custom.storageNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: sonarr-anime-nfs-storage app.kubernetes.io/name: {{ include "custom.storageNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain

View File

@@ -12,3 +12,10 @@ Selector labels
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
{{- end }} {{- end }}
{{/*
NFS names
*/}}
{{- define "custom.storageNfsName" -}}
sonarr-nfs-storage
{{- end -}}

View File

@@ -1,13 +1,13 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: sonarr-nfs-storage name: {{ include "custom.storageNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: sonarr-nfs-storage app.kubernetes.io/name: {{ include "custom.storageNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
volumeName: sonarr-nfs-storage volumeName: {{ include "custom.storageNfsName" . }}
storageClassName: nfs-client storageClassName: nfs-client
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany

View File

@@ -1,10 +1,10 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata: metadata:
name: sonarr-nfs-storage name: {{ include "custom.storageNfsName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: sonarr-nfs-storage app.kubernetes.io/name: {{ include "custom.storageNfsName" . }}
{{- include "custom.labels" . | nindent 4 }} {{- include "custom.labels" . | nindent 4 }}
spec: spec:
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain