Watch
1
0
Fork
You've already forked pkg-proxy
1
mirror of https://github.com/git-pkgs/proxy.git synced 2026-11-09 15:49:16 -05:00
pkg-proxy/internal/handler
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-18 17:59:14 +01:00
..
apk.go Enable storage retention for alpine 2026-10-12 10:23:27 +02:00
apk_test.go Stop forwarding custom auth headers across redirects 2026-10-14 08:38:51 +02:00
arch.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
arch_concurrency_test.go Concurrent clients could still end up with a database and a signature that don't belong together. Databases are now stored under their digest like signatures, so a cache row and its bytes always agree, also with several replicas on shared storage. Writes for one database are serialized, and the signature recovery shares the refresh with database requests, so a slow fetch can no longer store an older database over a newer one. When the cache write fails, the proxy serves the database the cache still describes. Unchanged databases are no longer rewritten, and a remembered missing signature is asked for again after the metadata TTL. The new tests force these interleavings with storage and upstream hooks. 2026-10-12 20:06:59 +02:00
arch_test.go Stop forwarding custom auth headers across redirects 2026-10-14 08:38:51 +02:00
artifact_size.go Add a size limit for upstream artifacts 2026-10-14 08:41:57 +02:00
artifact_size_test.go Add a size limit for upstream artifacts 2026-10-14 08:41:57 +02:00
cargo.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
cargo_test.go Stop forwarding custom auth headers across redirects 2026-10-14 08:38:51 +02:00
coalesce_semantics_test.go Verify npm tarballs against dist.integrity 2026-10-14 15:40:36 +02:00
coalesce_test.go Fix duplicate fetches and 502s on concurrent cache misses (#329) 2026-09-15 19:59:03 +01:00
composer.go Extract portable npm metadata transformations 2026-10-18 17:59:14 +01:00
composer_hosted.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
composer_hosted_test.go Serve pushed artifacts when streaming upstream artifacts 2026-10-14 13:23:19 +02:00
composer_rewrite_bench_test.go Withhold Composer archives still in cooldown 2026-10-14 08:37:39 +02:00
composer_rewrite_test.go Withhold Composer archives still in cooldown 2026-10-14 08:37:39 +02:00
composer_routes_test.go Add package routes for private Composer and npm registries (#426) 2026-10-11 18:06:18 +01:00
composer_shasum_test.go Leave Composer dev branch archives unverified 2026-10-14 18:06:01 +02:00
composer_test.go Withhold Composer archives still in cooldown 2026-10-14 08:37:39 +02:00
conan.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
conan_test.go Cache Conan 2 recipe and package archives (#431) 2026-10-11 16:56:15 +01:00
conda.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
conda_encoding_test.go fix(conda): preserve gzip for large repodata indexes 2026-09-25 21:12:00 +05:30
conda_test.go Refuse conda rules with more than a channel and a name 2026-10-12 19:59:35 +02:00
container.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
container_manifest.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
container_manifest_key_test.go Mirroring a tag now checks it with a HEAD first and reuses the cached manifest when the digest is unchanged, falls back to the cached tag when the upstream body is cut off, and keeps a tag that a client pull moved while the walk ran. The platform filter is checked across the whole image, so a nested index without the wanted platform no longer fails it, and a 304 for a per-Accept fallback entry only refreshes that client's own keys instead of overwriting the shared entry. 2026-10-13 17:02:32 +02:00
container_metadata.go Proxy the OCI referrers API in the container handler (#427) 2026-10-12 09:08:01 +01:00
container_mirror.go Mirroring a tag now checks it with a HEAD first and reuses the cached manifest when the digest is unchanged, falls back to the cached tag when the upstream body is cut off, and keeps a tag that a client pull moved while the walk ran. The platform filter is checked across the whole image, so a nested index without the wanted platform no longer fails it, and a 304 for a per-Accept fallback entry only refreshes that client's own keys instead of overwriting the shared entry. 2026-10-13 17:02:32 +02:00
container_mirror_test.go Mirroring a tag now checks it with a HEAD first and reuses the cached manifest when the digest is unchanged, falls back to the cached tag when the upstream body is cut off, and keeps a tag that a client pull moved while the walk ran. The platform filter is checked across the whole image, so a nested index without the wanted platform no longer fails it, and a 304 for a per-Accept fallback entry only refreshes that client's own keys instead of overwriting the shared entry. 2026-10-13 17:02:32 +02:00
container_ns_test.go Route containerd ns mirror requests to configured registries (#405) 2026-10-10 07:35:50 +01:00
container_referrers.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
container_referrers_test.go Answer uncached referrers tags with 404 when the upstream is down 2026-10-14 12:50:03 +01:00
container_tags.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
container_test.go Join every Accept header on container manifest requests 2026-10-14 12:43:14 +01:00
cooldown_patterns_test.go Add cooldown package pattern overrides (#407) 2026-10-04 20:48:41 +01:00
cran.go Enable storage retention for cran 2026-10-12 10:23:27 +02:00
cran_test.go Hello world 2026-01-20 22:00:31 +00:00
debian.go Enable storage retention for deb 2026-10-13 20:08:24 +02:00
debian_test.go Enable storage retention for deb 2026-10-13 20:08:24 +02:00
denylist.go feat: add exact-version package denylist 2026-09-20 14:42:30 +05:30
denylist_test.go Extract portable npm metadata transformations 2026-10-18 17:59:14 +01:00
detached_fetch_test.go At most 64 fetches keep running after their client hangs up; beyond that a fetch is tied to its client again, so nobody can start an unbounded number of large downloads and leave. A server test now checks that client requests actually get the detach marker. 2026-10-12 00:02:02 +02:00
download_test.go Merge pull request #483 from gilesw/feat/upstream-retry-after 2026-10-15 16:27:51 +01:00
fetch_path_test.go Give each fetch its own storage path 2026-09-23 16:14:43 -07:00
filename_download.go Support HTTP byte-range requests for local file cached artifact downloads (#404) 2026-10-04 17:48:41 +01:00
gem.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
gem_test.go Fix gem filenames whose platform ends in a number 2026-10-12 19:55:10 +02:00
generic.go Try configured generic_artifacts before built-in patterns 2026-10-12 19:22:42 +01:00
generic_test.go Try configured generic_artifacts before built-in patterns 2026-10-12 19:22:42 +01:00
go.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
go_sumdb.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
go_sumdb_test.go Forward data tiles without storing them. The go command never fetches them, and kept for good they would add up to the whole log; the record count check from before is no longer needed. 2026-10-13 16:42:03 +02:00
go_test.go Preserve Go proxy fallback for missing modules 2026-07-12 18:48:39 +00:00
gradle.go Record the detail behind each failure counter 2026-10-12 11:55:13 +02:00
gradle_test.go add support for Gradle prometheus metrics (#124) 2026-05-22 12:09:00 +01:00
handler.go Merge pull request #483 from gilesw/feat/upstream-retry-after 2026-10-15 16:27:51 +01:00
handler_bench_test.go Optimize cached artifact serving (#245) 2026-08-13 08:06:41 +01:00
handler_test.go Isolate the recent failure history in tests 2026-10-12 18:44:12 +02:00
helm.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
helm_oci.go fix(helm): support OCI references in HTTP repository indexes 2026-09-19 14:39:29 +05:30
helm_oci_test.go Assert omitted Helm releases are not downloadable 2026-09-22 08:35:20 +01:00
helm_test.go Give each fetch its own storage path 2026-09-23 16:14:43 -07:00
hex.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
hex_test.go Fix hex tarballs whose version contains a hyphen 2026-10-12 19:57:57 +02:00
homebrew.go fix(handler): let the ProxyCached path request a per-call Accept-Encoding (#324) 2026-09-15 19:50:44 +01:00
homebrew_test.go fix(handler): let the ProxyCached path request a per-call Accept-Encoding (#324) 2026-09-15 19:50:44 +01:00
hosted.go Serve pushed artifacts when streaming upstream artifacts 2026-10-14 13:23:19 +02:00
hosted_manifest.go Prefer the root composer.json of a pushed archive 2026-10-14 13:23:19 +02:00
hosted_test.go Prefer the root composer.json of a pushed archive 2026-10-14 13:23:19 +02:00
if_none_match_test.go Add Homebrew JSON API and bottle proxy support (#254) 2026-09-03 16:59:12 +01:00
integrity.go Verify npm and Composer archives against their SHA-1 shasum 2026-10-14 18:04:31 +02:00
integrity_test.go Verify npm and Composer archives against their SHA-1 shasum 2026-10-14 18:04:31 +02:00
julia.go Enable storage retention for julia 2026-10-12 15:24:20 +02:00
julia_test.go Add Julia Pkg server support (#117) 2026-05-13 06:46:35 +01:00
maven.go Merge pull request #483 from gilesw/feat/upstream-retry-after 2026-10-15 16:27:51 +01:00
maven_test.go Cache Maven checksums and signatures as artifacts 2026-10-14 21:34:57 +01:00
metadata_coalesce_test.go Coalesce concurrent metadata fetches (#400) 2026-10-04 17:50:45 +01:00
metadata_dates.go Share the dates of rewritten metadata across replicas 2026-10-12 15:16:51 +02:00
metadata_dates_upgrade_test.go Test upgrading cached metadata through the metadata_dates migration 2026-10-12 16:11:49 +02:00
metadata_encoding_test.go fix(handler): preserve upstream content-encoding for cached metadata (#304) 2026-09-03 09:58:58 +01:00
metadata_gzip_test.go Serve cached npm and Composer metadata gzip-compressed 2026-10-15 12:46:55 +02:00
metadata_validators_test.go Serve cached npm and Composer metadata gzip-compressed 2026-10-15 12:46:55 +02:00
notfound_ecosystems_test.go Arch Linux pacman repositories are now proxied at /arch/{name}/, with geo.mirror.pkgbuild.com as the built-in archlinux repository and more mirrors configurable under upstream.arch. Databases and file lists go through the metadata cache byte for byte, and a database signature is refreshed together with its database so the two always match. Packages and package signatures go to the artifact cache and stay available offline. The path is passed through unchanged, so Arch Linux ARM's $arch/$repo layout works too. README, config example, configuration docs and the dashboard have pacman instructions. 2026-10-12 00:02:02 +02:00
notfound_test.go fix: proper handling of upstream registry 404s (#209) 2026-07-26 19:07:46 +01:00
npm.go Extract portable npm metadata transformations 2026-10-18 17:59:14 +01:00
npm_hosted.go Extract portable npm metadata transformations 2026-10-18 17:59:14 +01:00
npm_hosted_test.go Serve pushed artifacts when streaming upstream artifacts 2026-10-14 13:23:19 +02:00
npm_integrity_test.go Verify npm and Composer archives against their SHA-1 shasum 2026-10-14 18:04:31 +02:00
npm_portable_test.go Extract portable npm metadata transformations 2026-10-18 17:59:14 +01:00
npm_rewrite_bench_test.go Extract portable npm metadata transformations 2026-10-18 17:59:14 +01:00
npm_rewrite_test.go Extract portable npm metadata transformations 2026-10-18 17:59:14 +01:00
npm_routes_test.go Add package routes for private Composer and npm registries (#426) 2026-10-11 18:06:18 +01:00
npm_tarball_test.go Support npm content-addressed tarball URLs 2026-10-04 18:23:22 +01:00
npm_test.go Extract portable npm metadata transformations 2026-10-18 17:59:14 +01:00
nuget.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
nuget_cooldown.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
nuget_cooldown_test.go Coalesce concurrent metadata fetches (#400) 2026-10-04 17:50:45 +01:00
nuget_test.go Enable storage retention for nuget 2026-10-12 15:24:21 +02:00
package_routes.go Add package routes for private Composer and npm registries (#426) 2026-10-11 18:06:18 +01:00
package_routes_test.go Add package routes for private Composer and npm registries (#426) 2026-10-11 18:06:18 +01:00
path_traversal_test.go Check for path traversal after URL decoding (#108) 2026-05-03 09:07:16 +01:00
proxy_cached_encoding_test.go fix(handler): let the ProxyCached path request a per-call Accept-Encoding (#324) 2026-09-15 19:50:44 +01:00
pub.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
pub_test.go Bump registries to v0.6.0 and replace internal/cooldown (#120) 2026-05-13 06:45:33 +01:00
pypi.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
pypi_denylist.go feat: add exact-version package denylist 2026-09-20 14:42:30 +05:30
pypi_test.go Make built-in upstream URLs configurable (#255) 2026-08-29 11:19:54 +01:00
read_metadata_test.go Make metadata size limit configurable (closes #149) (#150) 2026-06-02 07:59:00 +01:00
relay.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
relay_test.go Cache Conan 2 recipe and package archives (#431) 2026-10-11 16:56:15 +01:00
resolved_artifact_test.go fix(mirror): match cached artifacts by resolved filename 2026-09-23 17:51:49 +05:30
rewrite_cache.go Serve cached npm and Composer metadata gzip-compressed 2026-10-15 12:46:55 +02:00
rewrite_cache_test.go Serve cached npm and Composer metadata gzip-compressed 2026-10-15 12:46:55 +02:00
rpm.go Enable storage retention for rpm 2026-10-12 15:24:21 +02:00
rpm_test.go Enable storage retention for rpm 2026-10-12 15:24:21 +02:00
scan_test.go Add pre-cache artifact scanning hook (trivy/ClamAV/Wiz/custom) (#298) 2026-09-03 10:06:44 +01:00
scanfetch.go Add pre-cache artifact scanning hook (trivy/ClamAV/Wiz/custom) (#298) 2026-09-03 10:06:44 +01:00
scanfetch_test.go Add pre-cache artifact scanning hook (trivy/ClamAV/Wiz/custom) (#298) 2026-09-03 10:06:44 +01:00
stale_cache_test.go Verify npm tarballs against dist.integrity 2026-10-14 15:40:36 +02:00
stream_artifacts_test.go Verify npm tarballs against dist.integrity 2026-10-14 15:40:36 +02:00
swift.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +01:00
swift_test.go Verify npm tarballs against dist.integrity 2026-10-14 15:40:36 +02:00
upstream_auth_helper_test.go Stop forwarding custom auth headers across redirects 2026-10-14 08:38:51 +02:00
upstream_held.go Hold requests to an upstream that rate limits the proxy 2026-10-14 21:35:17 +01:00
upstream_test.go Make built-in upstream URLs configurable (#255) 2026-08-29 11:19:54 +01:00