Upstreams

Linked registries - source and destination for packages

Upstreams are linked registries that are used both as a source and destination for packages in your private registries.

Upstreams are used when a Bytesafe registry is unable to fulfill a request for a specific package version directly or to push package versions from the registry to other destination registries.

Using upstreams users are able to fetch external packages and store them together with private packages in a registry. Enabling secure management of package dependencies within Bytesafe.

Upstream types Comment
Public npm registry registry.npmjs.org
Local registry Other registry in the workspace
External registry URL to any npm compatible registry
Git repository Url ending in .git or using GitHub integration
Registry WITHOUT upstreams Package versions can NOT be pulled into the registry or pushed to other destinations

Example: Use case where Bytesafe registry is used as a proxy registry and the public npm registry is configured as an upstream.

flowchart TD
  A(fab:fa-npm registry.npmjs.org) <--> | pull / push | B{Bytesafe registry} <--> | install / publish | C[fa:fa-user Project workspace]
  • Users in the project workspace interact with Bytesafe registry (e.g. npm install / publish).
  • Bytesafe handles the interaction with registry.npmjs.org.
  • Requests for package versions that are not available in Bytesafe registry, will be requested from registry.npmjs.org and the package version downloaded will be cached in Bytesafe.

How upstreams work

What happens when you pull a package with / without configured upstreams

Configuring upstreams

Adding and configuring upstreams for a registry

Git repository upstreams

Connecting private and public Git repositories to Bytesafe