diff --git a/docs/clients.md b/docs/clients.md index 44b0c704..8bc7c929 100644 --- a/docs/clients.md +++ b/docs/clients.md @@ -77,7 +77,7 @@ Each row is one `required_providers` entry, read where it is written. | `tools/conformance/outscale/terraform` | `outscale/outscale` | `~> 1.7` | constraint: resolved fresh on each run, so the version that answered is not knowable here | yes | | `tools/conformance/outscale/terraform-doorway` | `outscale/outscale` | `~> 1.7` | constraint: resolved fresh on each run, so the version that answered is not knowable here | yes | | `tools/conformance/scaleway/terraform` | `scaleway/scaleway` | `2.83.0` | exact: the version that answered | yes | -| `examples/stacks/exoscale` | `exoscale/exoscale` | `>= 0.71.0` | constraint: resolved fresh on each run, so the version that answered is not knowable here | yes | +| `examples/stacks/exoscale` | `exoscale/exoscale` | `0.72.0` | exact: the version that answered | yes | | `examples/stacks/outscale` | `outscale/outscale` | `~> 1.7` | constraint: resolved fresh on each run, so the version that answered is not knowable here | yes | | `examples/stacks/outscale/modules/net` | `outscale/outscale` | `~> 1.7` | constraint: resolved fresh on each run, so the version that answered is not knowable here | yes | | `examples/stacks/scaleway` | `scaleway/scaleway` | `2.83.0` | exact: the version that answered | yes | diff --git a/examples/stacks/exoscale/main.tf b/examples/stacks/exoscale/main.tf index 04dd33fc..36c8fb37 100644 --- a/examples/stacks/exoscale/main.tf +++ b/examples/stacks/exoscale/main.tf @@ -33,9 +33,23 @@ terraform { required_providers { exoscale = { source = "exoscale/exoscale" - # Not decoration: below this the provider splits its calls between this + # Not decoration: below 0.71.0 the provider splits its calls between this # emulator and a paying account (#644, upstream #573). - version = ">= 0.71.0" + # + # Exact rather than `>= 0.71.0`, since 2026-09-14. The floor was right and + # the FLOATING part was an accident of writing it as a lower bound: the two + # registries do not index together, so on that day `>= 0.71.0` resolved to + # 0.72.0 under terraform and to 0.71.0 under opentofu — the two engines + # driving this one stack with two different providers, both reporting that + # it passed. Worse, the opentofu side then sat EXACTLY on the floor, with + # the 57-request excursion of #525 one publication away, and the margin + # held by a registry's indexing schedule rather than by anything here. + # Measured, and recorded in #778. + # + # 0.72.0 is above the floor and is what both registries serve. Moving it + # is now an act somebody performs and measures, which is the whole reason + # the Scaleway fixture is pinned exactly too (#257). + version = "0.72.0" } } }