Multiple registry types in one repository
A repository has one namespace, owner, name, and storage choice. It can support any combination of PyPI, npm, Maven, and OCI.
For namespace platform and repository packages, each enabled ecosystem has its own repository URL:
PyPI: https://pypi.rvsta.sh/platform/packages/simple/npm: https://npm.rvsta.sh/platform/packages/Maven: https://maven.rvsta.sh/platform/packages/OCI: oci.rvsta.sh/platform/packages/...PyPI, npm, and Maven upload routes use the same path under *.push.rvsta.sh. OCI uses the same host for pushes and pulls.
| Shared by the repository | Separate for each ecosystem |
|---|---|
| Owner and name | Package-manager integration and URLs |
| Rename, delete, restore, and storage actions | Package releases, container images, or Helm charts |
| Combined usage totals | Registry-specific usage and activity |
| Namespace-derived access | Native URLs, clients, capabilities, and content operations |
| Stable repository identity | Private-mirror settings for PyPI/npm/Maven only |
Select a registry before browsing its content. Container and Helm use familiar OCI terms such as repository path, tag, digest, manifest, platform, layer, and attachment.
Add or remove ecosystem support
Section titled “Add or remove ecosystem support”- A repository must always have at least one enabled package format.
- You can enable another supported kind at any time.
- You can remove a registry type only when it contains no private content and at least one other type remains enabled.
- Re-enabling PyPI, npm, or Maven restores its previous configuration. Review private-mirror settings before use.
- Renaming changes name-based targets for every enabled kind; ID-based targets continue to work.
- Deleting the repository disables every enabled kind together.

