feat: deb (Debian/apt) local and remote repository support
Adds a deb provider with feature parity to rpm for local and remote repos, so .deb packages can be hosted (flat apt repo generated on upload) and a Debian/Ubuntu mirror can be cached through the proxy. - add PackageDeb to the package-type enum - new internal/provider/deb: Classify (.deb immutable, Packages/Release/dists mutable), ValidateUpload to pool/<file>, pure-Go .deb parse (ar -> control.tar gz/xz/zst -> ./control), and a flat-repo LocalIndexer serving Packages, Packages.gz and an unsigned Release ([trusted=yes], mirroring rpm gpgcheck=0) - remote proxy path: UpstreamURL/ContentType/AuthHeaders via BasicHeaders - DebMetadata struct + store interfaces on provider; deb_metadata table in migrate() and Insert/Delete/List DB methods - blank-import the deb provider in the server - testsupport.MinimalDeb pure-Go fixture builder - unit tests (classify, control parse across gz/xz/zst, Packages/Release generation, validate) and a dockere2e TestLocalDebRepo
This commit is contained in:
@@ -9,11 +9,13 @@ require (
|
||||
github.com/go-chi/chi/v5 v5.3.0
|
||||
github.com/google/uuid v1.6.0
|
||||
github.com/jackc/pgx/v5 v5.10.0
|
||||
github.com/klauspost/compress v1.19.2
|
||||
github.com/minio/minio-go/v7 v7.2.0
|
||||
github.com/redis/go-redis/v9 v9.20.0
|
||||
github.com/testcontainers/testcontainers-go v0.42.0
|
||||
github.com/testcontainers/testcontainers-go/modules/postgres v0.42.0
|
||||
github.com/testcontainers/testcontainers-go/modules/redis v0.42.0
|
||||
github.com/ulikunitz/xz v0.5.16
|
||||
golang.org/x/crypto v0.51.0
|
||||
golang.org/x/time v0.15.0
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
@@ -51,7 +53,6 @@ require (
|
||||
github.com/jackc/pgpassfile v1.0.0 // indirect
|
||||
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
||||
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
||||
github.com/klauspost/compress v1.18.6 // indirect
|
||||
github.com/klauspost/cpuid/v2 v2.2.11 // indirect
|
||||
github.com/klauspost/crc32 v1.3.0 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.4.0 // indirect
|
||||
|
||||
Reference in New Issue
Block a user