diff --git a/include/outputs b/include/outputs index d4ddba7b..7c69dd53 100644 --- a/include/outputs +++ b/include/outputs @@ -112,13 +112,20 @@ textFail(){ level="FAIL" colorcode="$BAD" while read -r i; do - ignore_check_name="${i%:*}" - ignore_value="${i#*${CHECK_NAME}:}" + ignore_check_name="${i%%:*}" # Check name is everything up to the first : + ignore_value="${i#*${CHECK_NAME}:}" # Ignore value is everything after the first : + if [[ ${ignore_value} =~ .*:f ]]; then + # Fuzzy search - if this pattern appears anywhere in the line, it matches. + resource_value=".*${ignore_value%:*}.*" + else + # Strict search - pattern has to be its own word. + resource_value="[[:space:]^]${ignore_value}[[:space:]$]" + fi if [[ ${ignore_check_name} != "${CHECK_NAME}" ]]; then # not for this check continue fi - if [[ $1 =~ .*"${ignore_value}".* ]]; then + if [[ $1 =~ ${resource_value} ]]; then level="WARNING" colorcode="$WARNING" break diff --git a/whitelist_sample.txt b/whitelist_sample.txt index 5a538b38..eed1f175 100644 --- a/whitelist_sample.txt +++ b/whitelist_sample.txt @@ -3,6 +3,13 @@ # Example: Will not consider a myignoredbucket failures as full failure. (Still printed as a warning) check26:myignoredbucket +# By default, whitelisting something (e.g. "ci-logs") will only whitelist resources specifically called +# "ci-logs". However, if you put ":f" at the end of the line, it will do a fuzzy match, and will +# whitelist all resources with "ci-logs" in their name. +# For example: +# extra718:ci-logs # Will block bucket "ci-logs" but not bucket "ci-logs-replica" +# extra718:ci-logs:f # Will block any bucket containing the term "ci-logs" + # line starting with # are ignored as comments # add a line per resource as here: #: @@ -10,3 +17,7 @@ check26:myignoredbucket # checkid2 #: +# REGEXES +# This whitelist works with regexes (ERE, the same style of regex as grep -E and bash's =~ use) +# therefore: +# extra718:[[:alnum:]]+-logs:f # will ignore all buckets containing the terms ci-logs, qa-logs, etc. \ No newline at end of file