From 25ae5c497a2328d301916384923a15a54a49cada Mon Sep 17 00:00:00 2001 From: Jon Azpiazu <jon.azpiazu@tecnalia.com> Date: Tue, 9 Nov 2021 10:22:32 +0100 Subject: [PATCH] Add initial script to add the retention labels to existing image --- scripts/enforce_labels.bash | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 scripts/enforce_labels.bash diff --git a/scripts/enforce_labels.bash b/scripts/enforce_labels.bash new file mode 100644 index 0000000..056296b --- /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 -- GitLab