Skip to content

Implement Verifiable Mirroring Prototype #637

Description

@tomassedovic
Metadata
Point of contact @walterhpearce
Team(s) cargo, crates-io, infra, rustup
Goal document 2026/mirroring

Summary

We aim to ship a Minimum Viable Product that provides cryptographically verified mirrors for Rustup and Cargo, specifically targeting high-traffic environments like GitHub Actions (GHA) runners on Azure. By utilizing The Update Framework (TUF), we will establish a secure, multi-key distribution model that reduces infrastructure costs while providing for utilizing TUF as a validating mechanism on the backend transfers for mirroring, while integrating the needed unstable features into Rustup and Cargo for implementation. Our goal is to implement a first trial pass of [RFC #3724], with modifications, allowing for mirrors of Rust releases and crates to be configurable or automatically utilized by the Rustup toolchain.

We plan to trial TUF validation on these mirrors in a phased approach, starting on the server-side prior to any client-side integrations. Specifically, we plan to work in the following phases:

  1. Implement unstable mirror URL specifications for client software (rustup and cargo)
  2. Deploy infrastructure at alternative locations for mirroring (Azure, GCP)
  3. During mirror propagation, on the server side, utilize TUF to validate mirror updates
  4. Upon coming to consensus on this backend validation, we will migrate the implementations to unstable client-side features

Tasks and status


Note: we have updated the body to match the 2026 goal. Your original text is preserved below.

Details

Metadata
Point of contact @walterhpearce
Team(s) cargo, crates-io, infra, rustup
Goal document 2026/mirroring

Summary

We aim to ship a Minimum Viable Product that provides cryptographically verified mirrors for Rustup and Cargo, specifically targeting high-traffic environments like GitHub Actions (GHA) runners on Azure. By utilizing The Update Framework (TUF), we will establish a secure, multi-key distribution model that reduces infrastructure costs while providing for utilizing TUF as a validating mechanism on the backend transfers for mirroring, while integrating the needed unstable features into Rustup and Cargo for implementation. Our goal is to implement a first trial pass of RFC#3724, with modifications, allowing for mirrors of Rust releases and crates to be configurable or automatically utilized by the Rustup toolchain.

We plan to trial TUF validation on these mirrors in a phased approach, starting on the server-side prior to any client-side integrations. Specifically, we plan to work in the following phases:

  1. Implement unstable mirror URL specifications for client software (rustup and cargo)
  2. Deploy infrastructure at alternative locations for mirroring (Azure, GCP)
  3. During mirror propagation, on the server side, utilize TUF to validate mirror updates
  4. Upon coming to consensus on this backend validation, we will migrate the implementations to unstable client-side features

Tasks and status

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions