Longhorn Storage Configuration¶
Longhorn provides persistent volumes for stateful Engine components.
Typical Consumers¶
- Storage service data.
- Identity data and keys.
- RabbitMQ durable state.
Setup Checklist¶
- Install Longhorn in cluster.
- Confirm default or dedicated storage class.
- Verify nodes have required disk capacity.
- Apply Engine manifests using matching
storageClassName.
Validation Commands¶
kubectl get sc
kubectl get pvc -n meshflows
kubectl get pv
kubectl get recurringjobs.longhorn.io -n longhorn-system
kubectl get backuptargets.longhorn.io -n longhorn-system
Longhorn Backups (Contabo Object Storage)¶
Off-site backups use S3-compatible Contabo Object Storage configured by the deploy pipeline.
Required GitHub/environment secrets:
CONTABO_S3_ACCESS_KEYCONTABO_S3_SECRET_KEYCONTABO_S3_ENDPOINT(e.g.https://eu2.contabostorage.com)CONTABO_S3_BUCKETCONTABO_S3_BACKUP_PREFIX(optional, defaultlonghorn-backups)CONTABO_S3_REGION(optional, defaultdefault)
Recurring jobs (all volumes in Longhorn default group):
- Daily snapshots at 02:00, retain 7
- Weekly backups to Contabo at Sunday 03:00, retain 4
Contabo requires path-style S3 access. Do not enable VIRTUAL_HOSTED_STYLE in the backup secret.
On Longhorn v1.11+, configure the BackupTarget named default (not legacy settings.backup-target):
kubectl -n longhorn-system patch backuptargets.longhorn.io default --type merge \
-p '{"spec":{"backupTargetURL":"s3://BUCKET@default/longhorn-backups/","credentialSecret":"longhorn-contabo-backup"}}'
Operational Guidance¶
- Use replica counts aligned with node availability.
- Monitor volume health and rebuild activity.
- Backup critical volumes before major upgrades.
- Keep sufficient free capacity to avoid write pressure.