Repository and namespace naming rules
The repository name identifies the repository inside a namespace and appears in the default readable registry URL.
Namespace names
Section titled “Namespace names”A namespace name uses lowercase letters, numbers, and single hyphens. It starts
with a lowercase letter, does not end with a hyphen, and is at most 64 characters
long. It must contain at least three non-hyphen characters, so api and a-b-c
are valid while a, ab, and a-b are not. Internal namespace names are unique
only inside their owning personal account or organization and do not use a
reserved-word list. Ravenstash currently creates only internal namespaces. The
global realm is reserved for a future public resource surface and cannot be
created yet.
Repository names
Section titled “Repository names”A repository name:
- Is 1–64 characters long.
- Starts with a lowercase letter.
- Contains only lowercase letters, numbers, and hyphens.
- Does not end with a hyphen.
- Does not contain consecutive hyphens.
Valid examples:
packagesinternal-releasesplatform2Invalid examples include 2packages, Internal, internal_tools, internal--tools, and packages-.
Choose for purpose, not ecosystem
Section titled “Choose for purpose, not ecosystem”Because one package repository can support several ecosystems, prefer a purpose-oriented name such as packages, internal, releases, or platform. A name such as python can become misleading if npm or Maven is enabled later.
Readable and permanent URLs
Section titled “Readable and permanent URLs”The default route uses the current namespace and repository names:
https://{kind}.rvsta.sh/{namespace_name}/{repository_name}/oci.rvsta.sh/{namespace_name}/{repository_name}/{oci_repository_path}The rvs CLI resolves the selected repository by immutable identity, refreshes
its current names, and launches the native tool with this readable route. A
rename therefore takes effect on the next rvs command.
Every repository has a stable generated path:
https://{kind}.rvsta.sh/{namespace_unique_ref}/{repository_unique_ref}/https://push.{kind}.rvsta.sh/{namespace_unique_ref}/{repository_unique_ref}/Internal namespace references begin with in_, and repository references begin
with r_, for example /in_wsabc123/r_repo1234/. That path survives namespace
and repository renames. Future global namespace references are reserved to begin
with gn_. OCI uses the same reference pair for its permanent form. Direct
native-client and CI configuration may use these permanent references when
following a rename is more important than readability.
After a rename, the old readable route no longer identifies the renamed repository. If that old name is later assigned to another repository, it refers to the new repository instead; short-lived credentials issued for the original repository do not transfer to the replacement. Mixed paths containing one generated reference and one readable name are invalid.

