download + extract pipeline

- artifact.Download: resumable HTTP with optional SHA256 check + progress cb
- artifact.ExtractZstdTar: streamed zstd+tar with tar-slip defense
- aggregator client matches real API shape (digests/immutables/ancillary blocks
  with URIHolder polymorphism for templated immutable URIs)
- cmd: show + download subcommands wired up
- end-to-end verified against preprod: digests archive pulls cleanly, yields
  16836-entry SHA manifest ready for verification sprint

deps: github.com/klauspost/compress (pure-go zstd)
This commit is contained in:
Sulkta 2026-04-23 15:16:48 -07:00
parent ddf1ec3491
commit e4012bf79a
6 changed files with 483 additions and 84 deletions

2
go.mod
View file

@ -1,3 +1,5 @@
module git.sulkta.com/Sulkta-Coop/mithril-go
go 1.26
require github.com/klauspost/compress v1.18.5