Fix Nextcloud file-drop WebDAV URL for backup uploads.
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 5s

Public file-drop shares require /public.php/dav/filesdrop/<token>/;
/public.php/webdav/ returns HTTP 409 on PUT.
This commit is contained in:
tegwick 2026-07-07 18:05:13 +02:00
parent 52a72363f3
commit d238d5ccc7
2 changed files with 17 additions and 7 deletions

View file

@ -46,13 +46,23 @@ grep "public key" ~/.config/age/railiance-backup.key
## Destination
Backups are uploaded to a Nextcloud file drop (upload-only, no credentials
required to write, cannot be read back without Nextcloud admin access). The
endpoint URL is stored locally in `wiki/260225-backup-dropoff-link.txt`
(gitignored).
Backups are uploaded to a Nextcloud **file drop** share (upload-only; cannot be
read back without Nextcloud admin access). The human-facing share link is in
`260225-backup-dropoff-link.txt`; credentials live in OpenBao
(`platform/workloads/railiance/backup/offsite-lane`).
Uploads use a direct HTTP PUT via curl — rclone is not used because Nextcloud
file drop links only permit PUT requests.
WebDAV uploads must target the **filesdrop** endpoint, not generic WebDAV:
```text
https://<host>/public.php/dav/filesdrop/<share-token>/<filename>
```
Using `/public.php/webdav/` returns HTTP **409** (*Files cannot be created in
non-existent collections*) on current Nextcloud — that path is not valid for
public file-drop shares.
Uploads use a direct HTTP PUT via curl (`-u <token>:`). rclone is optional;
the backup scripts do not require it.
A local cache of the last 7 backups of each type is kept in
`~/.cache/railiance/backups/`.