cfgparser: add env_split for splitting of ENV variable values on comma #691
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.
This PR adds a new config placeholder syntax,
{env_split:VAR_NAME}
, alongside the existing{env:VAR_NAME}
{env:VAR_NAME}
: Substitutes the value of the environment variableVAR_NAME
as is, preserving its format, including any commas.{env_split:VAR_NAME}
: Substitutes the value of the environment variableVAR_NAME
, converting any commas in the value into spaces. This is particularly useful for configurations that expect space-separated lists but are populated from environment variables that naturally format such lists as comma-separated strings.The use case of
$(local_domains) = $(primary_domain) example.com
multiple domains in Docker can now use this feature by setting an environment variable with a value likedomain1.com,domain2.com
. Using{env_split:OTHER_DOMAINS}
will automatically convert this todomain1.com domain2.com
, fitting into configurations that require space-separated values.I have also added test cases for splitting, not split and mixing both.