Skip to content

feat(archive): add server-side archive downloads - #11

Merged
mzner merged 1 commit into
mainfrom
feat/archive-downloads
Aug 12, 2026
Merged

feat(archive): add server-side archive downloads#11
mzner merged 1 commit into
mainfrom
feat/archive-downloads

Conversation

@mzner

@mzner mzner commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • add ocis archive formats and ocis archive download for server-created ZIP and TAR archives
  • discover the preferred enabled archiver and enforce advertised source limits during recursive preflight
  • reject duplicate and nested selections, unsafe cross-origin endpoints, and implicit local overwrites
  • validate bounded archive streams before atomically installing the destination
  • expose support through doctor, Cobra help/completion, README, architecture docs, coverage, and AI command catalogs

Usage

ocis archive formats
ocis archive download /Documents /Photos/trip.jpg --output backup.zip
ocis archive download /Documents --output backup.tar --format tar
ocis archive download /Documents --output backup.zip --dry-run

Validation

  • make check
  • unit tests and race detector pass
  • archive package statement coverage: 88%
  • go vet and golangci-lint pass with zero issues
  • live read-only validation against cloud.mzner.de: capability discovery and doctor reported archiver 2.0.0 with ZIP/TAR; an archive of the empty cli project Space downloaded successfully
  • the deployment returned 502 Bad Gateway for its virtual Shares root; the CLI rejected that response and did not install it as an archive

- add capability-driven ZIP and TAR archive commands
- validate bounded streams and install downloads atomically
- document, diagnose, and test archive support

Signed-off-by: Matteo <mzner@pm.me>
@mzner
mzner merged commit 6870cd6 into main Aug 12, 2026
14 checks passed
@mzner
mzner deleted the feat/archive-downloads branch August 12, 2026 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant