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.
Why
Consul-template supports parseJSON. The consul ui supports syntax highlighting for both JSON and YAML so it'd be ncie if consul-template had first-class support for both reading and writing yaml.
What
This adds a new helper
parseYAML
that works identically toparseJSON
but accepts YAML.YAML is much nicer to use for config files than JSON mainly because
comments can be used.
It should be noted that
parseYAML | toYAML
will strip comments withthe current yaml library, but I don't want to go about changing
that huge of a dependency at this stage.
yaml.v3
does support comments,but it's not super easy to use as you can't just unmarshal to a
map[string]interface{}
and keep comments.Other details
To work around this, I'd made a plugin
yaml2json
which was just a tiny go program but then I have to carry that around in my$PATH
and I have to use the following snippet which feels a bit meh given how nicely the parseJSON parser works.This fixes #1343