Skip to content

Backend configuration

This is the index for Kopiur’s storage backends. Each backend has its own page with the provider prerequisites, the exact Secret shape, a field-by-field reference, the knobs you can change, and troubleshooting for that backend.

Start here for the rules that apply to every backend: the mental model and the credential-key conventions. Then jump to your backend below. If you want the concepts behind a repository, meaning the namespaced-versus-cluster split, encryption, and repository creation, read Repositories & backends first.

Backend Covers Spec key
S3 & S3-compatible Amazon S3, MinIO, RustFS, Ceph RGW, Wasabi, Cloudflare R2, … backend.s3
Azure Blob Storage Azure Blob containers (key or SAS token) backend.azure
Google Cloud Storage GCS buckets (service-account key) backend.gcs
Backblaze B2 Backblaze B2 native API backend.b2
Filesystem (PVC / NFS) A NAS/PVC or inline NFS export mounted into the mover backend.filesystem
SFTP Any server reachable over SSH/SFTP backend.sftp
WebDAV Nextcloud, Apache mod_dav, … backend.webDav
rclone Google Drive, OneDrive, Dropbox, and dozens more backend.rclone
Google Drive (native) Google Drive via kopia’s native gdrive (experimental) backend.gdrive
  1. Find your backend above.
  2. Provider prerequisites. Create the bucket, container, or share, and a scoped credential on the provider side.
  3. Copy the manifest on the page, fill in every REPLACE_ME, set a long random KOPIA_PASSWORD, and kubectl apply -f.
  4. Watch it become Ready. See Watching a repository.

The mover reads these exact key names from the Secret you reference and feeds them to kopia. KOPIA_PASSWORD is required for every backend.

Backend Secret keys (besides KOPIA_PASSWORD) Spec key
S3 / S3-compatible AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, (opt) AWS_SESSION_TOKEN backend.s3
Azure AZURE_STORAGE_KEY or AZURE_STORAGE_SAS_TOKEN backend.azure
Google Cloud Storage KOPIA_GCS_CREDENTIALS (the SA-key JSON) backend.gcs
Backblaze B2 B2_KEY_ID, B2_KEY backend.b2
Filesystem (none: only KOPIA_PASSWORD) backend.filesystem
SFTP KOPIA_SFTP_KEY_DATA, KOPIA_SFTP_KNOWN_HOSTS backend.sftp
WebDAV KOPIA_WEBDAV_USERNAME, KOPIA_WEBDAV_PASSWORD backend.webDav
rclone KOPIA_RCLONE_CONFIG (via configSecretRef) backend.rclone
Google Drive KOPIA_GDRIVE_CREDENTIALS (via credentialsSecretRef) backend.gdrive

A worked S3 example is on the S3 page.

:::