Files
tools/minio/templates/volume-disque-externe.yaml
T
arcodange 865b82548c
Helm Charts / Detect changed charts (push) Successful in 17s
Helm Charts / Library charts tool (push) Skipped
Helm Charts / Application charts alloy (push) Skipped
Helm Charts / Application charts crowdsec (push) Skipped
Helm Charts / Application charts grafana (push) Skipped
Helm Charts / Application charts hashicorp-vault (push) Skipped
Helm Charts / Application charts loki (push) Skipped
Helm Charts / Application charts pgbouncer (push) Skipped
Helm Charts / Application charts pgcat (push) Skipped
Helm Charts / Application charts prometheus (push) Skipped
Helm Charts / Application charts redis (push) Skipped
Helm Charts / Application charts chart (push) Successful in 12s
Helm Charts / Application charts minio (push) Successful in 35s
MinIO quitte Longhorn pour le disque externe de pi1 (volume local, /mnt/arcodange/minio) (#60)
Co-authored-by: Gabriel Radureau <[email protected]>
2026-09-26 11:05:59 +02:00

68 lines
2.3 KiB
YAML

# -----------------------------------------------------------------------------
# LE VOLUME DE MINIO SUR LE DISQUE EXTERNE (2026-09-26).
#
# Un volume `local` : un dossier du disque USB de un nœud, sans provisionneur,
# sans moteur, sans réplique. Il remplace le volume Longhorn (templates/pvc.yaml,
# gardé détaché pour le retour arrière) — voir `persistence` dans values.yaml.
#
# ⚠ `Retain` ET `Prune=false` : ce PV porte les objets du magasin. Ni la
# suppression du PVC, ni une synchronisation ArgoCD ne doivent pouvoir l'effacer.
#
# ⚠ Le chemin DOIT exister avant le premier démarrage (un volume `local` ne le
# crée pas) : il est rempli par la copie de la migration. S'il manque — pi1
# démarré sans son disque, le dossier `/mnt/arcodange` vide de la carte SD —, le
# pod échoue au montage : c'est voulu, on n'écrit jamais le magasin sur la carte.
#
# ⚠ `volumeName` est posé EXPRÈS ici (contrairement à templates/pvc.yaml) : ce
# PVC ne doit se lier qu'à CE volume, jamais à un autre de la même classe.
# La classe `disque-externe` n'a pas d'objet StorageClass : la liaison est
# statique, les deux noms suffisent.
# -----------------------------------------------------------------------------
apiVersion: v1
kind: PersistentVolume
metadata:
name: minio-disque-externe
labels:
app: minio
release: minio
annotations:
argocd.argoproj.io/sync-options: Prune=false
spec:
capacity:
storage: {{ .Values.minio.persistence.size }}
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: disque-externe
volumeMode: Filesystem
local:
path: {{ .Values.minio.persistence.disqueExterne.chemin }}
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- {{ .Values.minio.persistence.disqueExterne.noeud }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: minio-disque-externe
namespace: tools
labels:
app: minio
release: minio
annotations:
argocd.argoproj.io/sync-options: Prune=false
spec:
accessModes:
- ReadWriteOnce
storageClassName: disque-externe
volumeName: minio-disque-externe
volumeMode: Filesystem
resources:
requests:
storage: {{ .Values.minio.persistence.size }}