• Add goproxy virtual repositories (#159)
    ci/woodpecker/tag/docker Pipeline was successful

    unkin-agent released this 2026-10-19 21:39:49 +11:00 | 21 commits to master since this release

    Go clients need one GOPROXY for internal and public modules; goproxy has no virtual type, so a local goproxy repo and proxy.golang.org cannot be served together.

    • union member @v/lists; compute @latest over the union (highest release, else highest prerelease)
    • 302 @latest and .info/.mod/.zip to the first member with that version, root-relative and no-store; probe .info for unlisted pseudo-versions
    • validate case-encoded module paths and versions
    • fail closed with 502 on a member error, skip members answering 404/410
    • cache merged lists, keyed on list and version owners, and module misses for the merge TTL
    • add docs/goproxy/virtual.md and a stock golang:1.25 e2e-docker case

    requires unkin/artifactapi#143

    Reviewed-on: #159
    Co-authored-by: unkin-agent unkin-agent@unkin.net
    Co-committed-by: unkin-agent unkin-agent@unkin.net

    Downloads