Added basic validation for interface config #27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have added a basic script that tries to validate the generated config.
If you have a working wireguard mesh, a single misconfigured host can corrupt the config on every peer. On restart of the service it won't come back up and therefore break the entire mesh. If you use SSH over the wireguard connection, this will lock you out.
This happened to me multiple times because the generation of my public key failed on one of my peers.
The script attempts to interactively apply the configuration to the interface. If that fails, the interface is at least not broken and the task fails. If the interactive configuration is successful the template module will copy it to its destination as usual and the service will be restarted.
I do not have terribly many constellations to check this works as intended without any unforeseen consequences. Do you think adding s.th. like this is a good idea or do you suspect it makes it more prone to unintended fails?