Architecture Decision Record

ADR 005: Synology iSCSI via CSI as Primary Storage

Centralized NAS storage over a dedicated network, chosen over distributed storage I would have operated badly — with the single point of failure named and accepted.

Status: Accepted  ·  Date: Oct 2025  ·  ← All ADRs


Context

Persistent storage is the most consequential choice in any cluster — it’s the one layer where a bad decision costs data, and this platform has lost data once. The options:

Decision

The Synology CSI driver provides one StorageClass — iSCSI-backed, ext4, with reclaimPolicy: Retain and volume expansion enabled — over a dedicated storage VLAN. It is the default and near-universal class: Vault, Gitea, the Postgres cluster, CI caches, and application PVCs all live on it. Snapshot classes are wired in, which lets Velero take CSI snapshots (ADR 012).

Reasoning

Tradeoffs

Outcome

Every stateful workload on the platform runs on the same storage class with the same guarantees. Volume expansion has been used in anger. Node rebuilds — the whole point of the disposability story — don’t move data, because data was never on the nodes.