Skip to content

Ecosystems

Vein exposes RubyGems, crates.io, and npm on a single base URL, routed internally by request path and headers. Point Bundler, Cargo, ore-light, and npm at the same host and port.

  • Proxies a configurable upstream (defaults to none - cache-only mode unless [upstream] url is set, typically https://rubygems.org).
  • Supports a fallback list ([upstream] fallback_urls) tried in order if the primary is unreachable.
  • The only ecosystem with quarantine and SBOM generation today; both are planned to expand to crates.io and npm.
  • Mirrors the crates.io sparse index plus crate (.crate) downloads.

  • Uses a fixed upstream - no configuration required.

  • Point Cargo at it:

    Terminal window
    export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
    export CARGO_REGISTRIES_CRATES_IO_INDEX=http://localhost:8346/index/
  • Proxies npm registry metadata and tarballs, with caching.

  • Uses a fixed upstream - no configuration required.

  • Point npm at it:

    Terminal window
    npm config set registry http://localhost:8346/
  • ore-light is a Go-based Bundler alternative - client-side gem management.
  • Vein is the server-side package proxy/cache - broader than just RubyGems, since it also serves crates.io and npm traffic from the same base URL.

ore-light is one client that can use Vein’s RubyGems side; it isn’t required to use Vein at all.