Update rules to use more reliable container image predicates #513
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.
Instead of using
container.image
, that always reports the raw string used to spawn the container, switch to the more reliablecontainer.image.
{repository
,tag
}, since they are guaranteed to report the actual repository/tag of the container image.This also give a little performance improvement (and better looking rules) since a single 'in' predicate can now be used instead of a sequence of startswith.
I've avoided to refactor user macros like
user_trusted_containers
to a singlein
predicate with a list ready to be overridden because, based on the specific use case, additional predicates might be needed (e.g. checking for additional repositories/registry just by prefix) but @mstemm let me know if you think otherwise and it's worth to simplify them.