Expand description
Storage backends for a kopia repository.
ADR-0003 §3.1: Backend is a #[serde(tag = "kind")] enum. This is the
load-bearing example of the ADR’s type-safety thesis — a deserialized
Backend is always exactly one variant, so the “exactly one backend block”
rule that predecessor drafts enforced with a JSON-schema oneOf + webhook
check becomes a compile-time invariant. The webhook still validates content
(bucket names, credential reachability) but cannot receive a multi-variant value.
Structs§
- Azure
Backend - Azure Blob Storage backend. ADR §3.1.
- B2Backend
- Backblaze B2 backend. ADR §3.1.
- Backend
Auth - Credentials for an object-store backend. Always a Secret reference. ADR §3.1.
- Filesystem
Backend - Local-filesystem backend, backed by a PVC the operator mounts. ADR §3.1.
- GcsBackend
- Google Cloud Storage backend. ADR §3.1.
- Rclone
Backend - rclone-remote backend; kopia shells out to
rcloneso any rclone-supported provider is reachable. ADR §3.1. - S3Backend
- S3 / S3-compatible object-store backend. ADR §3.1.
- Sftp
Backend - SFTP backend. ADR §3.1.
- WebDav
Backend - WebDAV backend. ADR §3.1.
- Workload
Identity - Cloud workload-identity binding (IRSA / GKE Workload Identity / Azure WIF):
the mover authenticates as a Kubernetes
ServiceAccountinstead of a static Secret. Deprioritized for the homelab default. ADR §4.11.
Enums§
- Backend
- The discriminated backend union. Exactly one variant by construction.