|
|
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 |