Skip to content

Manage private repositories with rvs

rvs art repo manages private logical repositories. A repository belongs to one namespace and can enable any non-empty combination of PyPI, npm, Maven, Container, and Helm. Each registry kind keeps its own packages or OCI content, URLs, and usage.

Repeat --registry-kind to enable several kinds:

Terminal window
rvs art repo create packages \
--registry-kind pypi \
--registry-kind npm \
--registry-kind maven

Create dedicated OCI repositories the same way:

Terminal window
rvs art repo create runtime-images --registry-kind container
rvs art repo create deployment-charts --registry-kind helm

Repository names use lowercase letters, numbers, and hyphens.

The list spans every account available to the authenticated user and includes account and namespace columns so equal repository names remain distinguishable:

Terminal window
rvs art repo list
rvs art repo list --registry-kind npm
rvs art repo show packages

Repository details separate package and version counts from OCI paths and manifests. A logical repository can contain both kinds of content without mixing their models.

Creation uses the acting account. Select it first when creating for another organization:

Terminal window
rvs account use org:acme
rvs art repo create packages --registry-kind pypi

Use the namespace and repository names:

Terminal window
rvs art select platform/packages
rvs art current

The selection belongs to the effective local profile and acting account. A namespace path resolves within that account, so the same platform/packages name can safely exist in a personal account and an organization.

Select the repository before running a package command:

Terminal window
rvs art select platform/packages
rvs art pypi install internal-sdk

See Accounts and package targets for the complete selection and precedence rules.

Package metadata commands apply to PyPI, npm, and Maven repositories and require an explicit repository and registry kind:

Terminal window
rvs art package list \
--repo packages \
--registry-kind pypi
rvs art package show internal-sdk \
--repo packages \
--registry-kind pypi

Yank or delete a version when the registry kind supports it:

Terminal window
rvs art package yank internal-sdk 1.2.3 \
--repo packages \
--registry-kind pypi \
--reason "Replaced by 1.2.4"
rvs art package delete-version internal-sdk 1.2.2 \
--repo packages \
--registry-kind pypi

Deletion prompts for confirmation. Use --yes only in deliberately guarded automation.

A PyPI, npm, or Maven repository can provide approved public dependencies through a matching private mirror:

Terminal window
rvs art mirror list --kind pypi
rvs art repo upstream add packages pypi \
--remote-cache REMOTE_ID \
--min-age-hours 3

List the plan to find the attachment ID, then remove the connection without deleting either resource:

Terminal window
rvs art repo upstream list packages pypi
rvs art repo upstream remove packages pypi ATTACHMENT_ID

Use the connection when one private repository should provide both your packages and approved public dependencies. Select the read-only mirror directly when a build only needs packages from that source. See Private mirrors.

Container and Helm repositories do not support public-registry mirrors.

Terminal window
rvs art repo rename packages internal
rvs art repo delete internal

Renaming changes the package-manager URL for every enabled registry kind. Deleting affects the whole logical repository. Review rename, delete, and restore behavior before either operation.