Skip to content

Repository and namespace naming rules

The repository name identifies the repository inside a namespace and appears in the default readable registry URL.

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.

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:

packages
internal-releases
platform2

Invalid examples include 2packages, Internal, internal_tools, internal--tools, and packages-.

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.

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.