Mirror external file structures and secure your binaries with the new Generic format

Cloudsmith’s new Generic package format offers a flexible way to upload and manage any file or binary within Cloudsmith. This release includes upstream proxying and caching, enabling teams to fetch assets from external sources that don’t fit into standard package ecosystems.

This brings your custom scripts, installers, and zipped binaries into your managed supply chain, automating ingestion and ensuring that your internal URLs remain consistent with upstream sources.

Why the Generic format?

The Generic format is designed for artifacts that rely on specific file paths rather than semantic versions. By using the filepath as the unique identifier, this format allows you to mirror the exact directory structures of external sources (like a raw Apache file server or a Gradle distribution) directly within Cloudsmith.

Key features

  • Path-based identification: Use filepaths as unique identifiers to replicate upstream directory structures exactly as they exist at the source.
  • Proxy & cache from upstream repositories: Securely fetch and cache files from external sources, creating a more secure and reliable internal supply chain.
  • HTML blended indexing: We merge local packages and cached upstream files into a single, browsable HTML index.
  • Upstream prefixes: Prevent file collisions between multiple upstreams by assigning unique path prefixes (e.g., gradle_distributions/) to keep assets distinct.

Supported upstreams

The Generic format connects to a wide variety of sources via three primary methods:

  • Generic HTML (Standard): Connects to any simple, unstyled HTML directory (no JavaScript) to index and download files. Works out-of-the-box for sources like Apache Releases and Gradle Distributions.
  • Pre-configured integrations: We offer specialized handlers for specific ecosystems, including Node.js Distributions, HashiCorp Releases, and Fluent Bit.
  • API-based systems: For complex artifact managers like JFrog Artifactory or Sonatype Nexus that use JavaScript rendering, we support integration via their APIs. Note: Due to the variability of these environments, these upstreams require a dedicated configuration. Please contact us to help set this up.

Getting started

This feature is currently in Early Access. You can begin using it today by creating a new repository and selecting "Generic" as the format type for upload.

Refer to our documentation for additional instructions, and please contact us with any questions or feedback as we continue to refine the format.

Keep up to date with our monthly product bulletin