Build, find, and test Ansible per-rule playbooks #221
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.
Per-rule playbooks, used by console dot are in different package and located in different path than profile playbooks shipped by scap-security-guide.
For built content:
Profile playbooks
Rule playbooks (there are profile directories, but
all
should contain all rules from datastream):RPM:
scap-security-guide
scap-security-guide-rule-playbooks
Previous approach
_find_playbooks(root).rglob('*')
worked for RPM - it traversed all/usr/share/scap-security-guide/ansible/
directories and searched for.yml
. However, it was not efficient as it checked syntax for same playbook multiple times (for each profile directory where a playbook was).It didn't work for built content thus even if we would have built it in productization, the playbooks would not be yield by
iter_playbooks
.Newly implemented option
--playbook-per-rule
builds per-rule playbooks via./build_product
and no need forcmake
- ComplianceAsCode/content#12105