Select and manage private mirrors
Private mirrors give a personal account or organization a protected, read-only
path to another package source. They support PyPI, npm, and Maven. Use
rvs art mirror to add, inspect, and select them.
Ravenstash keeps two source types distinct:
| Type | Target | Example |
|---|---|---|
| Official | Ravenstash-curated source | mirror:pypiorg |
| Custom | Source defined by your account | custom-mirror:piwheels |
Official mirrors are available on every plan. Creating a custom mirror requires an eligible paid plan and organization administrator access where applicable.
The prefixes prevent a mirror from being mistaken for a private repository. No namespace name is reserved.
Use an enabled official mirror
Section titled “Use an enabled official mirror”Select an official source by its one-word slug:
rvs art mirror select pypiorgrvs pip install requestsCommon official defaults are pypiorg, npmjs, and maven-central. When the
matching mirror is already enabled for the selected account, native wrappers
can use it without a saved target. You do not need to redeclare
the source for every operation.
Add an official mirror to the active account when it is not yet available:
rvs art mirror create pypiorg --selectCreate and select a custom mirror
Section titled “Create and select a custom mirror”Create custom HTTPS sources in the Ravenstash webapp, where you can configure origin authentication, download hosts, and storage.
Select an existing custom mirror with:
rvs art mirror select --custom company-pythonIf the same custom name exists for more than one package format, add --format.
Use a mirror
Section titled “Use a mirror”Select the mirror, then use normal rvs package commands:
rvs art mirror select pypiorgrvs pip install requests
rvs art mirror select --custom company-pythonrvs pip install internal-sdkWhen several accounts are available, use the intended account before selecting its mirror:
rvs account switch AcmeHQrvs art mirror select pypiorgrvs pip install requestsUse a mirror directly or through a repository
Section titled “Use a mirror directly or through a repository”Select a mirror directly when a build only needs packages from that source. Connect a mirror to a private repository when one repository should provide both private packages and approved public dependencies. Connect it in the Ravenstash web app from the repository’s Upstreams tab, then select the repository as usual:
rvs art repo upstream list packages pypirvs art select platform/packagesPackage-age settings hold back brand-new releases for the chosen period, reducing exposure during the riskiest first hours after publication. Set the appropriate minimum age for each direct mirror and private-repository connection in the web app. See Minimum package age.
Inspect and manage mirrors
Section titled “Inspect and manage mirrors”Every remote cache has a permanent ID beginning with rc_. Use that ID to
inspect a mirror:
rvs art mirror listrvs art mirror list --format npmrvs art mirror show rc_...Clear only the active target:
rvs art clearChange a mirror’s minimum package age or delete a mirror in the Ravenstash web app. Disconnect private repositories that use a mirror before deleting it. See Manage a private mirror.
Publishing is private-repository only
Section titled “Publishing is private-repository only”A mirror cannot accept package publishing. If a mirror is selected, publish commands stop before running the package tool and ask for a private repository target:
rvs art select platform/releasesrvs twine upload dist/*
