You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Support cooldown profiles selected by registry URL #665
One proxy process currently has one cooldown policy. Clients cannot choose a different waiting period through their registry URL, so offering several policies requires separate instances.
Add opt-in named policies under cooldown.profiles, exposed at /cooldown/{profile}/{registry}/. For example, a 3d profile would provide /cooldown/3d/npm/, /cooldown/3d/go/, /cooldown/3d/cargo/ and /cooldown/3d/gem/.
Each profile defines its own cooldown policy, with the existing default, ecosystem, package and package-pattern settings. Existing unprefixed URLs keep using the current global policy. Unknown profiles return 404. Profile routes expose package protocols only.
Profiles share database records, artifact storage, upstream metadata and fetch coordination. Rewritten metadata, validators and download URLs must retain the selected profile, so responses from different policies cannot be mixed. Concurrent requests and cooldown expiry need request-level coverage.
The draft implementation will depend on #533 for checks on Cargo, RubyGems, Hex, Pub, Conda and cached Helm downloads. A cached artifact fetched through a more permissive profile must still be withheld by a stricter profile.
Activity