Files
home-ops/kubernetes/apps/storage/proxmox-csi/app/helmrelease.yaml
T
hermes 9e78ff6bba
Flate / Flate - Success (pull_request) Blocked by required conditions
Flate / Flate - Filter (pull_request) Successful in 4s
Flate / Flate (pull_request) Successful in 16s
chore(storage): upgrade remediation strategy uninstall
2026-09-17 16:34:03 +00:00

69 lines
2.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: proxmox-csi-plugin
spec:
chartRef:
kind: OCIRepository
name: proxmox-csi-plugin
interval: 1h
maxHistory: 3
install:
crds: CreateReplace
remediation:
retries: 3
upgrade:
crds: CreateReplace
cleanupOnFail: true
remediation:
retries: 3
# При падении upgrade откатываться некуда, если упал первый же релиз:
# strategy rollback (дефолт) упирается в «missing target release for
# rollback: cannot remediate failed release», и HelmRelease навсегда
# залипает в False, сколько его ни форсируй.
# uninstall снимает упавший релиз, и следующий цикл ставит чарт заново.
strategy: uninstall
values:
# Подключение к Proxmox (url/токен/region) и StorageClass'ы: сам конфиг лежит
# в Secret'е proxmox-csi-config (файл secret.sops.yaml рядом, шифруется sops).
existingConfigSecret: proxmox-csi-config
existingConfigSecretKey: config.yaml
storageClass:
# local-zfs = пул rpool (зеркало 2x NVMe) — дефолтный класс: сюда идут
# Vault, базы и всё, что требует избыточности на уровне дисков.
- name: proxmox-local-zfs
storage: local-zfs
fstype: ext4
ssd: true
reclaimPolicy: Delete
annotations:
storageclass.kubernetes.io/is-default-class: "true"
# ssd = большой пул (2 TB, одиночный NVMe) — под bulk-данные.
- name: proxmox-ssd
storage: ssd
fstype: ext4
ssd: true
reclaimPolicy: Delete
controller:
# Все три ноды — control-plane, поэтому контроллер цепляем туда же
# (и терпим taint control-plane).
nodeSelector:
node-role.kubernetes.io/control-plane: ""
tolerations:
- key: node-role.kubernetes.io/control-plane
effect: NoSchedule
node:
tolerations:
- key: node-role.kubernetes.io/control-plane
effect: NoSchedule
- key: karpenter.sh/disrupted
operator: Exists
effect: NoSchedule
- key: node.kubernetes.io/unschedulable
operator: Exists
effect: NoSchedule
- key: node.kubernetes.io/disk-pressure
operator: Exists
effect: NoSchedule