---
title: "Manage generic upstreams via the Cloudsmith Terraform provider"
description: "We’ve added support for generic upstreams to the Cloudsmith Terraform provider. This update allows customers to automate the proxying and caching of any file-based asset - such as raw binaries or scripts - directly via Infrastructure as Code."
canonical_url: "https://cloudsmith.com/changelog/manage-generic-upstreams-via-the-cloudsmith-terraform-provider"
last_updated: "2026-02-16T15:34:26.988Z"
---
# Manage generic upstreams via the Cloudsmith Terraform provider

We’ve added support for generic upstreams to the [Cloudsmith Terraform provider](). This update allows customers to automate the proxying and caching of any file-based asset - such as raw binaries or scripts - directly via Infrastructure as Code.

By setting the `upstream_type` to `generic` within the `cloudsmith_repository_upstream` resource, you can integrate external file sources into your supply chain with consistent, repeatable configurations.

**Resource configuration**

```json
{
  "_key": "663b5ea83f79",
  "_type": "code",
  "code": "resource \"cloudsmith_repository_upstream\" \"gradle_distributions\" {\n    name            = \"Gradle Distributions\"\n    namespace       = \"${data.cloudsmith_organization.my_organization.slug_perm}\"\n    repository      = \"${resource.cloudsmith_repository.my_repository.slug_perm}\"\n    upstream_type   = \"generic\"\n    upstream_url    = \"https://services.gradle.org\"\n    upstream_prefix = \"distributions\"\n}\n",
  "filename": null,
  "language": "shell",
  "markDefs": null
}
```

[View our documentation](https://docs.cloudsmith.com/formats/generic-repository) for more details on the new generic format and upstreams.
