Fixed
- An Exoscale instance could be created with none of the fields the API
requires, and one such instance madeexo compute instance liststop
listing: every instance created after it disappeared from the official CLI's
output. - A registered SSH key never reached the machine it was attached to. The
pack kept a name and a fingerprint and dropped the key itself, so the instance
booted with no user and no way in, while the API published an address on it. - A key sent as
ssh-keywas accepted and dropped. Their API documents both
ssh-keyandssh-keys, neither deprecated; the pack read only the plural. - Nothing was checked at the Exoscale entry: names and keys carrying control
characters were stored and given back verbatim. exo limitsanswered 404. It is a first-class command of the official
CLI, and the quota routes were neither served nor refused.
Added
- Quotas, counted rather than invented. The limit is a claim this emulator
makes, like its catalogue; the usage is a fact it holds, counted from the
store.exo limitsreports zero instances on a fresh emulator and one after a
create, and the conformance suite checks exactly that. - 69 of 93 routes are proven by a real client, up from 68 of 91.
Changed
-
The Exoscale Terraform provider is refused, with an explanation. It
honoursEXOSCALE_API_ENDPOINTfor half of its calls and reaches the real
cloud with the other half, so an apply split between this emulator and a
paying account — measured, without a byte leaving the machine. Half serving a
client is worse than refusing it: a half-success is indistinguishable from
working until the invoice.FEINT_EXOSCALE_ALLOW_TERRAFORM=1lifts the
refusal for anyone who understands the split, anddocs/limits.mdcarries the
whole reasoning. TheexoCLI is unaffected.This is a behaviour change a user can observe, and it is a patch rather than a
minor on purpose: what stops working was never working — it was creating
resources on a real account while looking local.