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.
RubyGems
Section titled “RubyGems”- Proxies a configurable upstream (defaults to none - cache-only mode unless
[upstream] urlis set, typicallyhttps://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.
crates.io
Section titled “crates.io”-
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=sparseexport 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/
Relationship to ore-light
Section titled “Relationship to ore-light”- 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.