diff --git a/src/content/repositories/upstreams/images/alpine.png b/src/content/repositories/upstreams/images/alpine.png
index ccfafd57..3ef4a633 100644
Binary files a/src/content/repositories/upstreams/images/alpine.png and b/src/content/repositories/upstreams/images/alpine.png differ
diff --git a/src/content/repositories/upstreams/images/cargo.png b/src/content/repositories/upstreams/images/cargo.png
index e433d06a..ecb6f24c 100644
Binary files a/src/content/repositories/upstreams/images/cargo.png and b/src/content/repositories/upstreams/images/cargo.png differ
diff --git a/src/content/repositories/upstreams/images/composer.png b/src/content/repositories/upstreams/images/composer.png
index 9fa72917..2f9af6dc 100644
Binary files a/src/content/repositories/upstreams/images/composer.png and b/src/content/repositories/upstreams/images/composer.png differ
diff --git a/src/content/repositories/upstreams/images/conda.png b/src/content/repositories/upstreams/images/conda.png
index a3d24a32..f5e6eec3 100644
Binary files a/src/content/repositories/upstreams/images/conda.png and b/src/content/repositories/upstreams/images/conda.png differ
diff --git a/src/content/repositories/upstreams/images/cran.png b/src/content/repositories/upstreams/images/cran.png
index c7760371..8b84d64d 100644
Binary files a/src/content/repositories/upstreams/images/cran.png and b/src/content/repositories/upstreams/images/cran.png differ
diff --git a/src/content/repositories/upstreams/images/dart.png b/src/content/repositories/upstreams/images/dart.png
index e2cb5511..e6565352 100644
Binary files a/src/content/repositories/upstreams/images/dart.png and b/src/content/repositories/upstreams/images/dart.png differ
diff --git a/src/content/repositories/upstreams/images/debian.png b/src/content/repositories/upstreams/images/debian.png
index 52861bc3..a368635c 100644
Binary files a/src/content/repositories/upstreams/images/debian.png and b/src/content/repositories/upstreams/images/debian.png differ
diff --git a/src/content/repositories/upstreams/images/docker.png b/src/content/repositories/upstreams/images/docker.png
index e2c34f96..9a6b3cbc 100644
Binary files a/src/content/repositories/upstreams/images/docker.png and b/src/content/repositories/upstreams/images/docker.png differ
diff --git a/src/content/repositories/upstreams/images/edit_upstream.png b/src/content/repositories/upstreams/images/edit_upstream.png
deleted file mode 100644
index 90589c7b..00000000
Binary files a/src/content/repositories/upstreams/images/edit_upstream.png and /dev/null differ
diff --git a/src/content/repositories/upstreams/images/generic.png b/src/content/repositories/upstreams/images/generic.png
index cffafc2b..b656c2a8 100644
Binary files a/src/content/repositories/upstreams/images/generic.png and b/src/content/repositories/upstreams/images/generic.png differ
diff --git a/src/content/repositories/upstreams/images/go.png b/src/content/repositories/upstreams/images/go.png
index 30cd0baf..d43ac955 100644
Binary files a/src/content/repositories/upstreams/images/go.png and b/src/content/repositories/upstreams/images/go.png differ
diff --git a/src/content/repositories/upstreams/images/helm.png b/src/content/repositories/upstreams/images/helm.png
index 39d3b3d8..0e7c56f0 100644
Binary files a/src/content/repositories/upstreams/images/helm.png and b/src/content/repositories/upstreams/images/helm.png differ
diff --git a/src/content/repositories/upstreams/images/hex.png b/src/content/repositories/upstreams/images/hex.png
index 85fcce8e..f0646875 100644
Binary files a/src/content/repositories/upstreams/images/hex.png and b/src/content/repositories/upstreams/images/hex.png differ
diff --git a/src/content/repositories/upstreams/images/huggingface.png b/src/content/repositories/upstreams/images/huggingface.png
new file mode 100644
index 00000000..124322ac
Binary files /dev/null and b/src/content/repositories/upstreams/images/huggingface.png differ
diff --git a/src/content/repositories/upstreams/images/maven.png b/src/content/repositories/upstreams/images/maven.png
index fb5bec17..6026c3ac 100644
Binary files a/src/content/repositories/upstreams/images/maven.png and b/src/content/repositories/upstreams/images/maven.png differ
diff --git a/src/content/repositories/upstreams/images/npm.png b/src/content/repositories/upstreams/images/npm.png
index 3d37851a..6fb77a94 100644
Binary files a/src/content/repositories/upstreams/images/npm.png and b/src/content/repositories/upstreams/images/npm.png differ
diff --git a/src/content/repositories/upstreams/images/nuget.png b/src/content/repositories/upstreams/images/nuget.png
index 8eb03551..e690b7ce 100644
Binary files a/src/content/repositories/upstreams/images/nuget.png and b/src/content/repositories/upstreams/images/nuget.png differ
diff --git a/src/content/repositories/upstreams/images/python.png b/src/content/repositories/upstreams/images/python.png
index 89829b6c..5543f05e 100644
Binary files a/src/content/repositories/upstreams/images/python.png and b/src/content/repositories/upstreams/images/python.png differ
diff --git a/src/content/repositories/upstreams/images/quick_configure.png b/src/content/repositories/upstreams/images/quick_configure.png
index 90589c7b..f39836a2 100644
Binary files a/src/content/repositories/upstreams/images/quick_configure.png and b/src/content/repositories/upstreams/images/quick_configure.png differ
diff --git a/src/content/repositories/upstreams/images/rpm.png b/src/content/repositories/upstreams/images/rpm.png
index baeb7774..a98a7053 100644
Binary files a/src/content/repositories/upstreams/images/rpm.png and b/src/content/repositories/upstreams/images/rpm.png differ
diff --git a/src/content/repositories/upstreams/images/ruby.png b/src/content/repositories/upstreams/images/ruby.png
index 59e53351..dd35bcf0 100644
Binary files a/src/content/repositories/upstreams/images/ruby.png and b/src/content/repositories/upstreams/images/ruby.png differ
diff --git a/src/content/repositories/upstreams/images/swift.png b/src/content/repositories/upstreams/images/swift.png
index f6d33d0b..f3d871bc 100644
Binary files a/src/content/repositories/upstreams/images/swift.png and b/src/content/repositories/upstreams/images/swift.png differ
diff --git a/src/content/repositories/upstreams/images/upstream_formats.png b/src/content/repositories/upstreams/images/upstream_formats.png
index e587be14..defe6b75 100644
Binary files a/src/content/repositories/upstreams/images/upstream_formats.png and b/src/content/repositories/upstreams/images/upstream_formats.png differ
diff --git a/src/content/repositories/upstreams/index.mdx b/src/content/repositories/upstreams/index.mdx
index a909433e..87fd456b 100644
--- a/src/content/repositories/upstreams/index.mdx
+++ b/src/content/repositories/upstreams/index.mdx
@@ -1,27 +1,27 @@
-import { Note, BlockImage } from '@/components'
-
-import quick_configure from './images/quick_configure.png'
-import upstream_formats from './images/upstream_formats.png'
-import edit_upstream from './images/edit_upstream.png'
-import alpine from './images/alpine.png'
-import cargo from './images/cargo.png'
-import conda from './images/conda.png'
-import composer from './images/composer.png'
-import cran from './images/cran.png'
-import dart from './images/dart.png'
-import debian from './images/debian.png'
-import docker from './images/docker.png'
-import generic from './images/generic.png'
-import go from './images/go.png'
-import hex from './images/hex.png'
-import helm from './images/helm.png'
-import maven from './images/maven.png'
-import npm from './images/npm.png'
-import nuget from './images/nuget.png'
-import python from './images/python.png'
-import rpm from './images/rpm.png'
-import ruby from './images/ruby.png'
-import swift from './images/swift.png'
+import { BlockImage, Note } from '@/components';
+
+import quick_configure from './images/quick_configure.png';
+import upstream_formats from './images/upstream_formats.png';
+
+import alpine from './images/alpine.png';
+import cargo from './images/cargo.png';
+import composer from './images/composer.png';
+import conda from './images/conda.png';
+import cran from './images/cran.png';
+import dart from './images/dart.png';
+import debian from './images/debian.png';
+import docker from './images/docker.png';
+import generic from './images/generic.png';
+import go from './images/go.png';
+import helm from './images/helm.png';
+import hex from './images/hex.png';
+import maven from './images/maven.png';
+import npm from './images/npm.png';
+import nuget from './images/nuget.png';
+import python from './images/python.png';
+import rpm from './images/rpm.png';
+import ruby from './images/ruby.png';
+import swift from './images/swift.png';
# Upstream Proxying and Caching
@@ -57,45 +57,44 @@ A good approach when determining what priority to apply to upstreams is to ensur
## Supported Formats
-| Format |
Configurable Proxy
| Caching
| Indexing
| Indexing Type
| API Reference
|
-| :------------------------------------------------- | :---------------------------------------------- | :----------------------------------- | :------------------------------------ | :----------------------------------------- | :------------------------------------------------------ |
-| [Alpine](/formats/alpine-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/apk/create) |
-| [Cargo (Rust)](/formats/cargo-registry) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/cargo/create) |
-| [Conda](/formats/conda-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/conda/create) |
-| [Composer](/formats/composer-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/composer/create) |
-| [CRAN](/formats/cran-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/cran/create) |
-| [Dart](/formats/dart-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/dart/create) |
-| [Debian](/formats/debian-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/deb/create) |
-| [Docker](/formats/docker-registry) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/docker/create) |
-| [Generic](/formats/generic-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/generic/create) |
-| [Golang](/formats/go-registry) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/go/create) |
-| [Gradle](/formats/gradle-repository) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/maven/create) |
-| [Helm](/formats/helm-chart-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/helm/create) |
-| [Hex](/formats/hex-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/hex/create) |
-| [Hugging Face](/formats/hugging-face-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/huggingface/create) |
-| [Maven](/formats/maven-repository) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/maven/create) |
-| [npm](/formats/npm-registry) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/npm/create) |
-| [NuGet](/formats/nuget-feed) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/nuget/create) |
-| [Python](/formats/python-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/python/create) |
-| [RedHat](/formats/redhat-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/rpm/create) |
-| [Ruby](/formats/ruby-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/ruby/create) |
-| [sbt](/formats/sbt-repository) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/maven/create) |
-| [Swift](/formats/swift-registry) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/swift/create) |
-
-
-
- You can can also create and manage upstreams via the [Cloudsmith API](/api).
-
+| Format | Configurable Proxy
| Caching
| Indexing
| Indexing Type
| API Reference
|
+| :----------------------------------------------- | :---------------------------------------------- | :----------------------------------- | :------------------------------------ | :----------------------------------------- | :-------------------------------------------- |
+| [Alpine](/formats/alpine-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/apk/create) |
+| [Cargo (Rust)](/formats/cargo-registry) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/cargo/create) |
+| [Conda](/formats/conda-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/conda/create) |
+| [Composer](/formats/composer-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/composer/create) |
+| [CRAN](/formats/cran-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/cran/create) |
+| [Dart](/formats/dart-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/dart/create) |
+| [Debian](/formats/debian-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/deb/create) |
+| [Docker](/formats/docker-registry) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/docker/create) |
+| [Generic](/formats/generic-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/generic/create) |
+| [Golang](/formats/go-registry) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/go/create) |
+| [Gradle](/formats/gradle-repository) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/maven/create) |
+| [Helm](/formats/helm-chart-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/helm/create) |
+| [Hex](/formats/hex-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/hex/create) |
+| [Hugging Face](/formats/hugging-face-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/huggingface/create) |
+| [Maven](/formats/maven-repository) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/maven/create) |
+| [npm](/formats/npm-registry) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/npm/create) |
+| [NuGet](/formats/nuget-feed) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/nuget/create) |
+| [Python](/formats/python-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/python/create) |
+| [RedHat](/formats/redhat-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/rpm/create) |
+| [Ruby](/formats/ruby-repository) | ✅ | ✅ | ✅ | Ahead-of-Time
| [API](/api/repos/upstream/ruby/create) |
+| [sbt](/formats/sbt-repository) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/maven/create) |
+| [Swift](/formats/swift-registry) | ✅ | ✅ | ✅ | Just-in-Time
| [API](/api/repos/upstream/swift/create) |
+
+You can also create and manage upstreams via the [Cloudsmith API](/api).
## Create an Upstream Proxy
### Using the Quick Configure Wizard
-Cloudsmith helps you proxying and caching canonical registries in a single click.
+Cloudsmith helps you proxying and caching canonical registries in a few clicks.
+
+Click the "+ Configure new upstream" button to open the configuration modal. From the navigation, select 'Pre-configured upstreams'.
-Just select the Upstream you need and it will be automatically configured to you. You can pull packages from them proxying and caching all of the content in Cloudsmith, hence applying all the controls you require.
+Select the Upstream(s) you need and they will be automatically configured for you. You can then pull packages from them, proxying and caching all content within Cloudsmith and applying all the controls you require.
### Using the CLI
@@ -125,7 +124,7 @@ This command will return the details about your new configured upstream. Please,
### Using the manual configuration
-Click the "+ Add Upstream Proxy" button, and then select the format you want to create an upstream for:
+Click the "+ Configure new upstream" button to open the configuration modal. From the navigation, select 'Configure your own' and then select the format you want to create an upstream for:
@@ -133,24 +132,27 @@ Click the "+ Add Upstream Proxy" button, and then select the format you want to
-
-| Form Field | Description |
-| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
-| Priority | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
+| Form Field | Description |
+| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
+| Priority | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
| Upstream URL | The URL for this upstream source. For Alpine Linux, use the mirror root (e.g., `https://dl-cdn.alpinelinux.org/alpine/`). For Wolfi, use `https://packages.wolfi.dev/os/`. The distribution type (Alpine or Wolfi) is automatically detected from the domain — you do not need to configure it separately. |
-| Proxy Only | Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
-| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
-| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommend leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
-| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible. |
-| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
+| Proxy Only | Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
+| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
+| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommend leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
+| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible. |
+| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
-Cloudsmith automatically detects whether an upstream is Alpine Linux or Wolfi based on the URL domain. URLs containing `alpinelinux.org` are treated as Alpine Linux; URLs containing `wolfi.dev` are treated as Wolfi. For unrecognized domains, Alpine Linux is assumed by default.
+ Cloudsmith automatically detects whether an upstream is Alpine Linux or Wolfi based on the URL domain. URLs
+ containing `alpinelinux.org` are treated as Alpine Linux; URLs containing `wolfi.dev` are treated as Wolfi.
+ For unrecognized domains, Alpine Linux is assumed by default.
-Alpine Linux and Wolfi both use the APK package format but are distinct, incompatible distributions. Do not mix Alpine and Wolfi packages in the same Cloudsmith repository — create separate repositories for each distribution.
+ Alpine Linux and Wolfi both use the APK package format but are distinct, incompatible distributions. Do not
+ mix Alpine and Wolfi packages in the same Cloudsmith repository — create separate repositories for each
+ distribution.
#### Create a Cargo (Rust) Upstream
@@ -172,16 +174,16 @@ Alpine Linux and Wolfi both use the APK package format but are distinct, incompa
-| Form Field | Description |
-| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
-| Priority | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
-| Upstream URL | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository. In the example above, the upstream used is Anaconda: `https://repo.anaconda.com/pkgs/main`. Remember to specify the channel when setting your upstream. For other upstreams like Condaforge/Bioconda, the URL would look like: `https://conda.anaconda.org/conda-forge/` or `https://conda.anaconda.org/bioconda/`. |
-| Proxy Only | Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
-| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
-| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
-| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
-| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request.
+| Form Field | Description |
+| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
+| Priority | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
+| Upstream URL | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository. In the example above, the upstream used is Anaconda: `https://repo.anaconda.com/pkgs/main`. Remember to specify the channel when setting your upstream. For other upstreams like Condaforge/Bioconda, the URL would look like: `https://conda.anaconda.org/conda-forge/` or `https://conda.anaconda.org/bioconda/`. |
+| Proxy Only | Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
+| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
+| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
+| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
+| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
#### Create a NPM Upstream
@@ -246,7 +248,7 @@ Alpine Linux and Wolfi both use the APK package format but are distinct, incompa
| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
- Package caching is only supported for for Maven packages that have a `.pom` file present on the upstream source.
+ Package caching is only supported for Maven packages that have a `.pom` file present on the upstream source.
#### Create a Composer Upstream
@@ -262,7 +264,7 @@ Alpine Linux and Wolfi both use the APK package format but are distinct, incompa
| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
-| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request.
+| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
#### Create a CRAN Upstream
@@ -317,35 +319,37 @@ Alpine Linux and Wolfi both use the APK package format but are distinct, incompa
-|Form Field|Description|
-|:---|:---|
-|Name|A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream.|
-|Priority|The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date.|
-|Upstream URL|The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository.|
-|Proxy Only|Proxy requests through to upstream sources in order to match assets that are not present in this repository.|
-|Cache and Proxy|Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests.|
-|Verify SSL Certificates|If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks.|
-|Authentication (optional)|Optional credentials that can be provided if the upstream is not publicly accessible.
**Note**: Docker Hub requires that requests to their service via an upstream proxy be authenticated. As such, when you configure an upstream to Docker Hub, you will be required to provide credentials for authentication.|
-|Headers (optional)|Optional Key-Value headers that can be passed to upstreams with each request.|
+| Form Field | Description |
+| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
+| Priority | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
+| Upstream URL | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository. |
+| Proxy Only | Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
+| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
+| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
+| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible.
**Note**: Docker Hub requires that requests to their service via an upstream proxy be authenticated. As such, when you configure an upstream to Docker Hub, you will be required to provide credentials for authentication. |
+| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
#### Create a Generic Upstream
-| Form Field | Description |
-| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
-| Priority | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
-| Upstream URL | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository. |
-| Upstream Prefix (optional)| Optional path prefix to prevent file collisions when using multiple upstreams. All files from this upstream will be grouped under this path (e.g., `node_distributions/`). |
-| Proxy Only | Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
-| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
-| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
-| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible. |
-| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
+| Form Field | Description |
+| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
+| Priority | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
+| Upstream URL | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository. |
+| Upstream Prefix (optional) | Optional path prefix to prevent file collisions when using multiple upstreams. All files from this upstream will be grouped under this path (e.g., `node_distributions/`). |
+| Proxy Only | Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
+| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
+| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
+| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible. |
+| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
-Generic upstreams work with simple HTML-based sources. The upstream must consist of simple, unstyled HTML pages with no JavaScript. Each page should contain only links to package files or subdirectories. Examples include Gradle distributions, Apache releases, and Node distributions.
+ Generic upstreams work with simple HTML-based sources. The upstream must consist of simple, unstyled HTML
+ pages with no JavaScript. Each page should contain only links to package files or subdirectories. Examples
+ include Gradle distributions, Apache releases, and Node distributions.
**Authentication requirements**
@@ -353,7 +357,9 @@ Generic upstreams work with simple HTML-based sources. The upstream must consist
Some upstream sources require authentication to access packages or interact with their APIs. For example, GitHub package registries require token-based authentication for API access. Review the documentation for your upstream source to determine if credentials are needed and configure them accordingly in the upstream settings.
-Enterprise repository managers like Artifactory and Sonatype Nexus require additional configuration and will not work out of the box. These sources also have practical size limits—repositories with millions of packages may not be processable. [Contact support](/support) to discuss setup for these upstream sources.
+ Enterprise repository managers like Artifactory and Sonatype Nexus require additional configuration and will
+ not work out of the box. These sources also have practical size limits—repositories with millions of
+ packages may not be processable. [Contact support](/support) to discuss setup for these upstream sources.
#### Create a Go Upstream
@@ -369,7 +375,7 @@ Enterprise repository managers like Artifactory and Sonatype Nexus require addit
| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
-| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request.
+| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
#### Create a Helm Upstream
@@ -384,26 +390,24 @@ Enterprise repository managers like Artifactory and Sonatype Nexus require addit
| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
-| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request.
+| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
#### Create a Hex Upstream
-
- Hex upstreams are in Early-Access
-
+Hex upstreams are in Early-Access
-| Form Field | Description |
-| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
-| Weighting | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
-| Upstream URL | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository. |
-| Proxy Only | (Default) Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
-| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
-| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
-| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
-| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
+| Form Field | Description |
+| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
+| Weighting | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
+| Upstream URL | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository. |
+| Proxy Only | (Default) Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
+| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
+| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
+| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
+| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
#### Create a NuGet Upstream
@@ -420,26 +424,23 @@ Enterprise repository managers like Artifactory and Sonatype Nexus require addit
| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
-
-
#### Create a RedHat (RPM) Upstream
-| Form Field | Description |
-| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
-| Weighting | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
-| Upstream URL | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository. |
-| Proxy Only | (Default) Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
-| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
-| Distribution | The distribution version to index from the upstream, such as el/8r or fedora/32. |
-| Source Packages | If selected, source packages will be available from the upstream. |
-| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
-| GPG Key | The source of a package signing key. When a signing key is provided, the Cloudsmith setup script will ensure this signing key is deployed to allow packages available on this upstream to be installed. |
-| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
-| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
-
+| Form Field | Description |
+| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Name | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |
+| Weighting | The weighting of the Upstream source. Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |
+| Upstream URL | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository. |
+| Proxy Only | (Default) Proxy requests through to upstream sources in order to match assets that are not present in this repository. |
+| Cache and Proxy | Proxy the initial request for an asset through to the upstream source and then store (cache) resolved assets in this repository for future requests. |
+| Distribution | The distribution version to index from the upstream, such as el/8r or fedora/32. |
+| Source Packages | If selected, source packages will be available from the upstream. |
+| Verify SSL Certificates | If enabled, SSL certificates are verified when requests are made to this upstream. We recommended leaving this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. |
+| GPG Key | The source of a package signing key. When a signing key is provided, the Cloudsmith setup script will ensure this signing key is deployed to allow packages available on this upstream to be installed. |
+| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
+| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
#### Create a Swift Upstream
@@ -456,10 +457,7 @@ Enterprise repository managers like Artifactory and Sonatype Nexus require addit
| Authentication (optional) | Optional credentials that can be provided if the upstream is not publicly accessible |
| Headers (optional) | Optional Key-Value headers that can be passed to upstreams with each request. |
-
## Edit an Upstream Proxy
Once you have a list of configured Upstreams, use the action buttons in the right to Delete, Edit, or Disable/Enable an Upstream.
-Click the blue "Edit Upstream" button to edit an upstream source:
-
-
+Click the "Edit Upstream" button to edit an upstream source.