From 29df101018bddc276c7ab3ef21b26f503344b4c8 Mon Sep 17 00:00:00 2001 From: ssoni-cloudsmith Date: Thu, 2 Apr 2026 11:01:35 +0530 Subject: [PATCH 1/2] Added another example named Github Releases into the Generic Repository --- src/content/formats/generic-repository.mdx | 33 ++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/src/content/formats/generic-repository.mdx b/src/content/formats/generic-repository.mdx index 3f2a8aea..c052830a 100644 --- a/src/content/formats/generic-repository.mdx +++ b/src/content/formats/generic-repository.mdx @@ -233,9 +233,11 @@ In the upstream creation menu, define a name for your upstream and enter the ups Please see our [Upstream Proxying](/repositories/upstreams#create-a-generic-upstream) documentation for further instructions on configuring upstreams. -### Example: Node.js Distributions +### Examples -This example demonstrates how upstream URLs, prefixes, and file paths work together. +#### Node.js Distributions + +This example demonstrates how upstream URLs, prefixes, and file paths are applied when working with Node.js distributions. **Upstream configuration:** - **Upstream URL**: `https://nodejs.org/dist/` @@ -261,6 +263,33 @@ curl -sLf -O 'https://generic.cloudsmith.io/OWNER/REPOSITORY/node_distributions/ The upstream prefix (`node_distributions`) ensures files from Node.js don't collide with files from other upstreams, even if they share identical file paths. +#### Github Releases + +This example demonstrates how upstream URLs, prefixes, and file paths are applied when working with GitHub Releases. + +**Upstream configuration:** +- **Upstream URL**: `https://api.github.com/repos///releases` +- **Upstream Prefix**: `github_releases` + +**How paths are resolved:** + +The upstream URL includes the base path (`/releases/`), so file paths are relative to that location. +To download `https://github.com/aquasecurity/trivy/releases/download/v0.69.3/trivy_0.69.3_Linux-ARM64.tar.gz`, request the path `v0.69.3/trivy_0.69.3_Linux-ARM64.tar.gz` from Cloudsmith: + +| Component | Value | +| :-------- | :---- | +| Upstream URL | `https://api.github.com/repos/aquasecurity/trivy/releases` | +| File path on upstream | `v0.69.3/trivy_0.69.3_Linux-ARM64.tar.gz` | +| Full upstream URL | `https://api.github.com/repos/aquasecurity/trivy/releases/v0.69.3/trivy_0.69.3_Linux-ARM64.tar.gz` | +| Upstream prefix | `github_releases` | +| Cloudsmith URL | `https://generic.cloudsmith.io/OWNER/REPOSITORY/github_releases/v0.69.3/trivy_0.69.3_Linux-ARM64.tar.gz` | + +**Download command:** + +```shell +curl -sLf -O 'https://generic.cloudsmith.io/OWNER/REPOSITORY/github_releases/v0.69.3/trivy_0.69.3_Linux-ARM64.tar.gz' +``` + ### Upstream Priority Upstream priority behaves differently for Generic repositories due to the nature of upstream prefixes. All upstreams within a prefix are given a priority of 1. Changing the priority setting does not impact package blending, as each upstream is uniquely namespaced within its own prefix. From 753848cd2db944b63965a0ae257755a5f981983a Mon Sep 17 00:00:00 2001 From: ssoni-cloudsmith Date: Thu, 2 Apr 2026 14:46:57 +0530 Subject: [PATCH 2/2] Added css for the table shown in the Github Releases Example --- src/components/Table/Table.module.css | 16 +++++++++++++++- src/components/Table/Table.tsx | 6 +++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/components/Table/Table.module.css b/src/components/Table/Table.module.css index f6331f1d..e3f89aaf 100644 --- a/src/components/Table/Table.module.css +++ b/src/components/Table/Table.module.css @@ -1,9 +1,15 @@ +.container { + width: 100%; + overflow-x: auto; +} + .root { width: 100%; margin-block: var(--space-m); border: 1px solid var(--color-border); border-radius: var(--border-radius-m); border-spacing: 0; + min-width: 0; } .root td:first-child, @@ -42,7 +48,15 @@ .root td { padding: var(--space-xs); border-bottom: 1px solid var(--color-border); - font-size: var(--text-body-xs); + font-size: var(--text-body-xs); + overflow-wrap: anywhere; + word-break: break-word; +} + +.root td :global(code) { + display: inline; + overflow-wrap: anywhere; + word-break: break-word; } .root tbody tr:first-child td { diff --git a/src/components/Table/Table.tsx b/src/components/Table/Table.tsx index 2e23ece9..e01eca63 100644 --- a/src/components/Table/Table.tsx +++ b/src/components/Table/Table.tsx @@ -1,5 +1,9 @@ import styles from './Table.module.css'; export function Table(props: React.ComponentPropsWithoutRef<'table'>) { - return ; + return ( +
+
+ + ); }