diff --git a/scripts/enforce_labels.bash b/scripts/enforce_labels.bash new file mode 100644 index 0000000000000000000000000000000000000000..056296b5c5893e624b66f25dc650575906dc21ec --- /dev/null +++ b/scripts/enforce_labels.bash @@ -0,0 +1,23 @@ +#!/bin/bash + +image_name="$1" + +declare -A enforced_labels=( ["com.jfrog.artifactory.retention.maxCount"]="10" ["com.jfrog.artifactory.retention.maxDays"]="7") + +if ! docker inspect --type=image $1 > /dev/null ; then + echo "Error: image does not exist" + exit 0 +fi + +for label in "${!enforced_labels[@]}" ; do + if ! docker inspect -f "{{json .Config.Labels }}" $image_name | jq -e '.['\"$label\"']' ; then + echo "Key not found" + echo "$label = ${enforced_labels[$label]}" + label_args+=" --label $label=\"${enforced_labels[$label]}\"" + fi +done + +if [ -v label_args ]; then + run_command="echo \"FROM $image_name\" | docker build $label_args -t $image_name -" + eval "$run_command" +fi