Fix override of variables with dots in their names in system tests #1049
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.
Use
common.MapStrto be able to get variables independently of them being expanded because of having dots or not.Variables in policy templates can have dots in their names. This names are defined as plain strings in yaml files. For example like this:
These variables can be overridden in system tests configuration files, for example like this:
These configuration files are parsed with go-ucfg, configured to use
.as path separator, so variable names containing dots are expanded. Also, when parsed, they are parsed into an opaqueVarVariablestructure, so it is not possible to access their content, so overrides cannot be defined for variables with dots in their names.This happens for example in elastic/integrations#4706.
This issue could be easily solved if
ucfgwould supportpreserveas defined in elastic/go-ucfg#124.