Make fly config validate detect unknown fields
While we have a number of validators that will check to make sure that field values are correct, we surprisingly do not check to make sure theat field names are correct. Instead we silently ignore fields that have unknown names, often leading to difficult to debug situations.
This change makes use of decoder.DisallowUnknownFields to enable reporting on these errors by fly config validate.
Amusingly, one of the CI tests is now failing due to an invalid fly.toml:
What is the current thinking on validation checks? Adding a validation check can break future deploys. Should it (in general)? Is this specific case different? We can make unknown field validation messages a warning only by capturing and resetting err inside of mapToConfig when running validation as a part of fly deploy.
What is the current thinking on validation checks? Adding a validation check can break future deploys.
that is my main concern, every time we change something to be more strict, it breaks users' automated deployments in some way. I think we have to start by showing big warnings first.