Watch
1
0
Fork
You've already forked pkg-proxy
1
mirror of https://github.com/git-pkgs/proxy.git synced 2026-11-10 08:09:17 -05:00
pkg-proxy/internal/handler
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Abhinav Gautam a97b690858
Separate artifact and metadata cache metrics on /metrics and the analytics page (#463)
* Separate artifact and metadata cache metrics on /metrics and the analytics page

* Serve metadata cache stats from a shared snapshot and split Grafana cache panels by kind
2026-10-20 11:25:33 +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 Separate artifact and metadata cache metrics on /metrics and the analytics page (#463) 2026-10-20 11:25:33 +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_test.go Use shared registries size limits and rate-limit gate (#516) 2026-10-19 13:28:55 +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
chef.go Add Chef Supermarket proxy support for Berkshelf and Policyfiles (#518) 2026-10-19 07:59:39 +01:00
chef_test.go Add Chef Supermarket proxy support for Berkshelf and Policyfiles (#518) 2026-10-19 07:59:39 +01: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 Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
composer_download_lookup_test.go Resolve Composer downloads from the cached metadata (#494) 2026-10-18 20:32:02 +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 Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
composer_rewrite_test.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01: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 Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
conan.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
conan_test.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
conda.go Stream conda repodata through the cooldown filter (#527) 2026-10-19 07:47:34 +02:00
conda_encoding_test.go Stream conda repodata through the cooldown filter (#527) 2026-10-19 07:47:34 +02:00
conda_test.go Stream conda repodata through the cooldown filter (#527) 2026-10-19 07:47:34 +02:00
container.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
container_manifest.go Count cached metadata against max_size and evict it LRU (#507) 2026-10-20 10:22:55 +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 Count cached metadata against max_size and evict it LRU (#507) 2026-10-20 10:22:55 +01:00
container_mirror.go Re-mirror container images on a schedule (#508) 2026-10-18 18:33:13 +01:00
container_mirror_test.go Re-mirror container images on a schedule (#508) 2026-10-18 18:33:13 +01: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 Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
container_tags.go Count cached metadata against max_size and evict it LRU (#507) 2026-10-20 10:22:55 +01:00
container_test.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
cooldown_patterns_test.go Use shared cooldown package-pattern policy 2026-10-20 08:53:22 +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 Update x/net and remove unused production helpers 2026-10-19 08:35:46 +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 Use shared registries size limits and rate-limit gate (#516) 2026-10-19 13:28:55 +02: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 Add opt-in retention for generic artifacts (#513) 2026-10-19 08:43:57 +01:00
generic_test.go Add opt-in retention for generic artifacts (#513) 2026-10-19 08:43:57 +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 Separate artifact and metadata cache metrics on /metrics and the analytics page (#463) 2026-10-20 11:25:33 +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 Separate artifact and metadata cache metrics on /metrics and the analytics page (#463) 2026-10-20 11:25:33 +01:00
gradle_test.go Separate artifact and metadata cache metrics on /metrics and the analytics page (#463) 2026-10-20 11:25:33 +01:00
handler.go Separate artifact and metadata cache metrics on /metrics and the analytics page (#463) 2026-10-20 11:25:33 +01:00
handler_bench_test.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
handler_test.go Separate artifact and metadata cache metrics on /metrics and the analytics page (#463) 2026-10-20 11:25:33 +01: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 Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01: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 Abort the response when a cached artifact fails its integrity check (#504) 2026-10-20 11:22:50 +01:00
integrity_test.go Abort the response when a cached artifact fails its integrity check (#504) 2026-10-20 11:22:50 +01:00
jsonscan.go Rewrite Composer metadata in place and keep it minified (#418) 2026-10-10 07:31:37 +01:00
jsonscan_test.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01: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_access_test.go Count cached metadata against max_size and evict it LRU (#507) 2026-10-20 10:22:55 +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_not_modified_test.go Keep the stored metadata on an upstream 304 (#495) 2026-10-18 20:29:43 +01: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 Add Chef Supermarket proxy support for Berkshelf and Policyfiles (#518) 2026-10-19 07:59:39 +01:00
notfound_test.go fix: proper handling of upstream registry 404s (#209) 2026-07-26 19:07:46 +01:00
npm.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01:00
npm_denylist.go feat: add exact-version package denylist 2026-09-20 14:42:30 +05:30
npm_hosted.go Keep holds through late successes and away from the circuit breaker 2026-10-15 13:35:12 +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_packument_accept_test.go Request npm packuments in one format for downloads too (#496) 2026-10-18 20:27:18 +01:00
npm_rewrite_bench_test.go Cut memory use of npm metadata rewriting (#413) 2026-10-08 07:36:33 +02:00
npm_rewrite_test.go Separate artifact and metadata cache metrics on /metrics and the analytics page (#463) 2026-10-20 11:25:33 +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 Check gofmt in CI and reformat (#528) 2026-10-19 07:47:28 +02: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 Only cache real pub archives on download (#520) 2026-10-19 07:58:13 +01:00
pub_test.go Only cache real pub archives on download (#520) 2026-10-19 07:58:13 +01:00
pypi.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +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 Separate artifact and metadata cache metrics on /metrics and the analytics page (#463) 2026-10-20 11:25:33 +01:00
rewrite_cache_test.go Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01: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 Update x/net and remove unused production helpers 2026-10-19 08:35:46 +01: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 Use shared registries size limits and rate-limit gate (#516) 2026-10-19 13:28:55 +02:00
upstream_test.go Make built-in upstream URLs configurable (#255) 2026-08-29 11:19:54 +01:00