Skip to content

Quickstart

This page configures a single package manager to install through Upwarden. Pick your ecosystem; the wire shape is the same for every ecosystem — the proxy speaks each registry’s native protocol, so the install commands and lockfile shapes are unchanged from a direct-to-registry install.

You have:

  • A project API key (vk_...) minted under your tenant. If you don’t, ask your Upwarden admin — or see Installation to stand up your own instance and Create your first key to mint one.
  • The proxy hostname for your ecosystem. The default convention is <eco>.pkg.<your-domain> (for example npm.pkg.upwarden.io for the Upwarden-hosted instance).
.npmrc
registry=https://npm.pkg.upwarden.io/
//npm.pkg.upwarden.io/:_authToken=${VG_NPM_API_KEY}

Then install as normal:

Terminal window
npm install lodash@4.17.21

A successful install through Upwarden reads identically to a direct npm install. To confirm you’re going through the proxy: npm config get registry.

# pip.conf
[global]
index-url = https://${VG_PYPI_API_KEY}@pypi.pkg.upwarden.io/simple/
Terminal window
pip install requests==2.31.0
~/.cargo/config.toml
[source.crates-io]
replace-with = "upwarden"
[source.upwarden]
registry = "sparse+https://crates.pkg.upwarden.io/index/"
[registries.upwarden]
token = "${VG_CRATES_API_KEY}"
Terminal window
bundle config --global https://rubygems.pkg.upwarden.io \
"${VG_RUBYGEMS_API_KEY}:x"
# Gemfile
source "https://rubygems.pkg.upwarden.io" do
gem "rake", "13.0.6"
end
<!-- NuGet.Config -->
<configuration>
<packageSources>
<add key="upwarden"
value="https://nuget.pkg.upwarden.io/v3/index.json"
protocolVersion="3" />
</packageSources>
<packageSourceCredentials>
<upwarden>
<add key="Username" value="ci" />
<add key="ClearTextPassword" value="${VG_NUGET_API_KEY}" />
</upwarden>
</packageSourceCredentials>
</configuration>
settings.xml
<mirror>
<id>upwarden</id>
<url>https://maven.pkg.upwarden.io/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
<server>
<id>upwarden</id>
<username>ci</username>
<password>${env.VG_MAVEN_API_KEY}</password>
</server>
Terminal window
export GOPROXY="https://go.pkg.upwarden.io,direct"

The bearer rides in the Authorization: Bearer ${VG_GO_API_KEY} header via a ~/.netrc entry or a Git URL rewrite.

Each install request hits the proxy, which authenticates the bearer to a tenant + project, runs Upwarden’s verdict pipeline against the requested artefact, fetches it from the upstream registry on the SAFE path, and streams the bytes back. BLOCKED and QUARANTINED verdicts surface as a policy-shaped error response that the package manager’s normal install flow already knows how to print.

See Concepts → tenants, projects, keys for the model your CI integrates with.