router
router copied to clipboard
Reintroduce target triplets
I'm re-opening this and marking this as a draft right now, just so we don't lose the reverted work.
This is meant to reintroduce the Target Triplet pattern which was first introduced in https://github.com/apollographql/router/pull/1393 and the https://github.com/apollographql/router/pull/1405 follow-up, which were intentionally reverted prior to the 0.12.0 release because the existing installer script wouldn't correctly continue to pin the version in a way that wouldn't break existing users had we deployed that technique.
This also relates to (and still blocks) https://github.com/apollographql/router/pull/1397.
There's some TODO items that we should account for before re-landing this, in particular, adopting the same pattern that Rover used which was more defensive in the way that it preserved the installation script within the Git tag of the release, making it possible for the Orbiter to reliably redirect a user to a immutable version of the install script that was current as of the time of the release. (Rather than the method of today where the current release installer tries willingly to install any past release (which will fail after the target triplets change.)
Fixes #1385