We recently realized that the cache on Fastly is not purged when a new version of rustup is released.
rustup is distributed via static.rust-lang.org as part of the same Fastly services as the Rust releases. Ideally, we therefore only purge cached versions of rustup and don't purge the whole cache. We already do this for the Rust releases by setting surrogate keys that we can granularly purge.
Fastly's purge APIs require authentication. We can generate a token that is scoped to the service and only grants permissions to purge content. The token can be stored in the parameter store on AWS, similar to other tokens that we already use.
Tasks
We recently realized that the cache on Fastly is not purged when a new version of
rustupis released.rustupis distributed viastatic.rust-lang.orgas part of the same Fastly services as the Rust releases. Ideally, we therefore only purge cached versions ofrustupand don't purge the whole cache. We already do this for the Rust releases by setting surrogate keys that we can granularly purge.Fastly's purge APIs require authentication. We can generate a token that is scoped to the service and only grants permissions to purge content. The token can be stored in the parameter store on AWS, similar to other tokens that we already use.
Tasks
/rustup/*sync-dist.pyto purge the surrogate key