Enhancement/versioned config templates #7
Merged
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.
blocky frequently changes the structure of its config file, deprecating older config structures and eventually invalidating them.
The config template this role has used produces several deprecation warnings on startup for
upstream
,blackLists
andwhiteLists
which are replaced byupstreams
,denylists
andallowlists
.This PR adds versioned config templates for blocky. The role can now contain several different config templates. A configuration defines a
min_version
and/ormax_version
for each config template. The role dynamically detects the correct template to use depending on the value ofblocky__version
.It is up to the role's maintainer to update that configuration whenever a new blocky version with configuration changes is released.
This approach is able to easily manage changes in configuration structure as long as these changes do not affect the structure of role variables. Changes to role variable structures can be implemented with more complex jinja2 templating in the config template.
Molecule tests for different blocky versions ranging from
v0.21
tov0.24
have been introduced as part of the matrix.Note: Tests for
rockylinux9
have ben temporarily disabled due to this issue.