tasks(owncloud-vds-deploy): close 🟢 — 26 GB live + 60s timeout finding

Import complete: 25 044 objs / 26 GB. 99.97% залито rclone'ом (22.2 GB
за ~2.5 ч), оставшиеся 6 файлов (4.04 GB) — 4× .pat ~221 MB + 2× .seospider
1.55+1.7 GB — упали с 502/500 на каждом rclone PUT из-за 60-секундного
HTTP timeout в reva v2.27 datagateway (hardcoded в Go http.Client.Timeout,
не env-configurable).

Workaround: VDS-side curl PUT loopback через throwaway sftp key.
Local network 142 MB/s → 4.04 GB за 28 секунд, все PROPFIND size match.

Wiki: §Gotcha 5 в concepts/ocis-on-vds-deploy-recipe.md документирует
finding + recipe для workaround. Traefik buffering middleware пробован,
не помог (likely vulcand/oxy buffer bug на больших телах) — откатил.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-22 07:26:07 +03:00
parent 74cf219533
commit 68706d0bee
4 changed files with 107 additions and 17 deletions

View File

@@ -1,5 +1,5 @@
# Admin Task Board
_Updated: 2026-05-21 (owncloud-vds-deploy 🟡oCIS up, user vitya created, WebDAV verified; 24.7GB import pending user-side rclone)_
_Updated: 2026-05-22 (owncloud-vds-deploy 🟢25 044 объектов / 26 GB live, все 6 large-file холдауты залиты VDS-side curl loopback'ом; 60s upload-timeout finding закреплён в [`ocis-on-vds-deploy-recipe`](../.wiki/concepts/ocis-on-vds-deploy-recipe.md) §Gotcha 5)_
<!--
Status legend:
@@ -10,23 +10,18 @@ _Updated: 2026-05-21 (owncloud-vds-deploy 🟡 — oCIS up, user vitya created,
🔵 Blocked — waiting on external input
-->
## 🟡 [owncloud-vds-deploy] — oCIS 7.1.0 на vds-kzntsv replace мёртвый ownCloud с Synology; 24.7GB import pending user-side rclone
## 🟢 [owncloud-vds-deploy] — oCIS 7.1.0 на vds-kzntsv live, 25 044 объектов / 26 GB
oCIS deploy завершён, container up, traefik routes 200 OK через LE-cert, user `vitya` создан, WebDAV verified. Backup integration done — `/opt/stacks/owncloud` в rsync sources [[vds-backup-rsync-kreknin]]. Detail в [owncloud-vds-deploy.md](owncloud-vds-deploy.md).
**Closed:** 2026-05-22 — import complete. 99.97% (22.2 GB / 25 038 objs) залито rclone'ом за ~2.5 ч (3.35 MiB/s uplink). Оставшиеся 6 файлов (4.04 GB) — 4× .pat ~221 MB + 2× .seospider 1.55+1.7 GB — упали с 502 (later 500) на каждой попытке rclone из-за 60-секундного timeout где-то в HTTP stack (Go http.Client.Timeout в reva v2.27 datagateway, **не** traefik). Workaround: throwaway sftp-only ssh-key → агент scp'ит в `/tmp/oc-import/` на VDS → c VDS curl PUT loopback'ом через traefik в правильные oCIS пути (local network 142 MB/s — все 6 файлов залиты за 28 секунд total). Все PROPFIND size match. Throwaway-key revoked, staging cleaned.
**Status:** paused
**Where I stopped:** infrastructure complete; waiting on user-side rclone copy 24.7GB → WebDAV endpoint. Full copy лежит на другом PC (local C:\Users\vitya\ownCloud — partial 1.3GB не та копия). Compose в `/opt/stacks/owncloud/` (data+config dirs, `.env` chmod 600 с admin-password). Passwords: `pass show owncloud/admin-password` + `pass show owncloud/user-vitya` (pushed). HTTPS endpoint `https://owncloud.kzntsv.site` live.
**Finding закреплён** в [`ocis-on-vds-deploy-recipe`](../.wiki/concepts/ocis-on-vds-deploy-recipe.md) §Gotcha 5 (60s timeout cap × upload speed = ~200 MB max single PUT на 3 MiB/s uplink; recipe для VDS-side workaround). Traefik buffering middleware **не починил** — сам выдаёт 500 на 60s mark (likely bug в `vulcand/oxy` buffer); подходит для других кейсов с медленными backend'ами, но не для этого 60s cascade.
**Next action:** user запускает rclone на PC где живёт 24.7GB:
```
rclone copy "<src>" :webdav: \
--webdav-url https://owncloud.kzntsv.site/dav/files/vitya \
--webdav-vendor owncloud --webdav-user vitya \
--webdav-pass $(rclone obscure "$(pass show owncloud/user-vitya)") \
--progress --transfers 4 --tpslimit 8 \
--retries 5 --low-level-retries 10 --stats 30s
```
Progress: `ssh vitya@89.253.255.94 'du -sh /opt/stacks/owncloud/data/spaces/'`. Done — 🟢 после size match + spot-check файлов через web UI.
**Detail:** [owncloud-vds-deploy.md](owncloud-vds-deploy.md). Backup integration: `/opt/stacks/owncloud` в rsync sources [[vds-backup-rsync-kreknin]] (next nightly snapshot 2026-05-22 05:00 MSK захватит full 26 GB).
**Open follow-ups:**
- 2× DipTrace `.exe` (~2 MB total) — заблокированы Windows Defender на агентовой машине, не баг oCIS. User-side issue, не блокер.
- Portainer API key (vds-kzntsv/full-env `PORTAINER_API_KEY`) — 401 Unauthorized, требует regen через Portainer UI + pass-store update. Не блокировало deploy (admin user/pass работали). Отдельная chore-task если нужна.
- oCIS image upgrade на 7.2.x / 8.x потенциально подъёмлет 60s timeout (newer reva имеет configurable timeout). Defer пока 4.04 GB workaround сработал.
**Branch:** master