• Add rpm virtual repositories (#131)
    ci/woodpecker/tag/docker Pipeline failed

    unkin-agent released this 2026-10-09 22:07:20 +11:00 | 45 commits to master since this release

    Virtual repos only merge helm and pypi, so several rpm repos (e.g. many github_rpm remotes) cannot be served as one yum repo.

    • merge member primary/filelists/other into one repodata set; member order wins duplicate NEVRAs
    • read member repodata through local, github_rpm and proxied remote paths
    • prefix package locations (incl. xml:base under a member upstream) with the member name and 302 them to the member route
    • reject absolute and dot-segment member paths; escape the redirect and keep its query
    • return 502 when any member's repodata is unavailable
    • reuse each virtual's merge for 60s behind singleflight; serve data files from its current and previous merge (per replica)
    • add merger/engine unit tests and a dockerised dnf e2e case

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

    Downloads