fixed errors using shellcheck https://www.shellcheck.net
This commit is contained in:
69
check.sh
69
check.sh
@@ -23,20 +23,20 @@ if [ -z "${TARGET}" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "${BASE_REGISTRY_USERNAME}" && -n "${REGISTRY_USERNAME}" ]; then
|
||||
BASE_REPO_USERNAME="${REPO_USERNAME}"
|
||||
if [ -z "${BASE_REGISTRY_USERNAME}" ] && [ -n "${REGISTRY_USERNAME}" ]; then
|
||||
BASE_REGISTRY_USERNAME="${REPO_USERNAME}"
|
||||
fi
|
||||
|
||||
if [ -z "${BASE_REGISTRY_PASSWORD}" && -n "${REGISTRY_PASSWORD}" ]; then
|
||||
BASE_REPO_PASSWORD="${REPO_PASSWORD}"
|
||||
if [ -z "${BASE_REGISTRY_PASSWORD}" ] && [ -n "${REGISTRY_PASSWORD}" ]; then
|
||||
BASE_REGISTRY_PASSWORD="${REPO_PASSWORD}"
|
||||
fi
|
||||
|
||||
if [ -z "${TARGET_REGISTRY_USERNAME}" && -n "${REGISTRY_USERNAME}" ]; then
|
||||
TARGET_REPO_USERNAME="${REPO_USERNAME}"
|
||||
if [ -z "${TARGET_REGISTRY_USERNAME}" ] && [ -n "${REGISTRY_USERNAME}" ]; then
|
||||
TARGET_REGISTRY_USERNAME="${REPO_USERNAME}"
|
||||
fi
|
||||
|
||||
if [ -z "${TARGET_REGISTRY_PASSWORD}" && -n "${REGISTRY_PASSWORD}" ]; then
|
||||
BASE_REPO_PASSWORD="${REPO_PASSWORD}"
|
||||
if [ -z "${TARGET_REGISTRY_PASSWORD}" ] && [ -n "${REGISTRY_PASSWORD}" ]; then
|
||||
TARGET_REGISTRY_PASSWORD="${REPO_PASSWORD}"
|
||||
fi
|
||||
|
||||
if [ -z "${REGISTRY_API}" ]; then
|
||||
@@ -44,11 +44,11 @@ if [ -z "${REGISTRY_API}" ]; then
|
||||
fi
|
||||
|
||||
if [ -z "${BASE_REGISTRY_API}" ]; then
|
||||
BASE_REGISTRY_API = '${REGISTRY_API}'
|
||||
BASE_REGISTRY_API="${REGISTRY_API}"
|
||||
fi
|
||||
|
||||
if [ -z "${TARGET_REGISTRY_API}" ]; then
|
||||
TARGET_REGISTRY_API = '${REGISTRY_API}'
|
||||
TARGET_REGISTRY_API="${REGISTRY_API}"
|
||||
fi
|
||||
|
||||
if [ -z "${REGISTRY_URL}" ]; then
|
||||
@@ -78,26 +78,39 @@ echo "${TARGET}" | grep -q ":" || TARGET="${TARGET}:latest"
|
||||
|
||||
# split repo into user reponame and tag
|
||||
IFS='/:'
|
||||
read -ra parts <<< "${BASE_REPO}"
|
||||
BASE_REPO_USER="${parts[0]}"
|
||||
BASE_REPO_NAME="${parts[1]}"
|
||||
BASE_REPO_TAG="${parts[2]}"
|
||||
read -r BASE_REPO
|
||||
set -- "$BASE_REPO"
|
||||
BASE_REPO_USER="$1"
|
||||
BASE_REPO_NAME="$2"
|
||||
BASE_REPO_TAG="$3"
|
||||
|
||||
read -ra parts <<< "${TARGET_REPO}"
|
||||
TARGET_REPO_USER="${parts[0]}"
|
||||
TARGET_REPO_NAME="${parts[1]}"
|
||||
TARGET_REPO_TAG="${parts[2]}"
|
||||
read -r TARGET_REPO
|
||||
set -- "$TARGET_REPO"
|
||||
TARGET_REPO_USER="$1"
|
||||
TARGET_REPO_NAME="$2"
|
||||
TARGET_REPO_TAG="$3"
|
||||
|
||||
# IFS='/:'
|
||||
# read -ra parts <<< "${BASE_REPO}"
|
||||
# BASE_REPO_USER="${parts[0]}"
|
||||
# BASE_REPO_NAME="${parts[1]}"
|
||||
# BASE_REPO_TAG="${parts[2]}"
|
||||
|
||||
# read -ra parts <<< "${TARGET_REPO}"
|
||||
# TARGET_REPO_USER="${parts[0]}"
|
||||
# TARGET_REPO_NAME="${parts[1]}"
|
||||
# TARGET_REPO_TAG="${parts[2]}"
|
||||
|
||||
|
||||
BASE_HEADER=""
|
||||
if [ "${BASE_REGISTRY_API}" == 'docker' ];then
|
||||
if [ -n "${BASE_REGISTRY_USERNAME}" && -n "${BASE_REGISTRY_PASSWORD}" ]; then
|
||||
TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d "{\"username\": \"${BASE_REGISTRY_USERNAME}\", \"password\": \"${BASE_REGISTRY_PASSWORD}\"}" ${BASE_REGISTRY_URL}/users/login/ | jq -r .token)
|
||||
if [ "${BASE_REGISTRY_API}" = 'docker' ];then
|
||||
if [ -n "${BASE_REGISTRY_USERNAME}" ] && [ -n "${BASE_REGISTRY_PASSWORD}" ]; then
|
||||
TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d "{\"username\": \"${BASE_REGISTRY_USERNAME}\", \"password\": \"${BASE_REGISTRY_PASSWORD}\"}" "${BASE_REGISTRY_URL}/users/login/" | jq -r .token)
|
||||
BASE_HEADER="Authorization: JWT ${TOKEN}"
|
||||
fi
|
||||
BASE_URL="${BASE_REPO_URL}/${BASE_REPO_USER}/${BASE_REPO_NAME}/tags/${BASE_REPO_TAG}"
|
||||
|
||||
elif [ "${BASE_REGISTRY_API}" == 'gitea' ];then
|
||||
elif [ "${BASE_REGISTRY_API}" = 'gitea' ];then
|
||||
if [ -n "${BASE_REGISTRY_PASSWORD}" ]; then
|
||||
BASE_HEADER="Authorization: token ${BASE_REGISTRY_PASSWORD}"
|
||||
fi
|
||||
@@ -106,14 +119,14 @@ fi
|
||||
|
||||
|
||||
TARGET_HEADER=""
|
||||
if [ "${TARGET_REGISTRY_API}" == 'docker' ];then
|
||||
if [ -n "${TARGET_REGISTRY_USERNAME}" && -n "${TARGET_REGISTRY_PASSWORD}" ]; then
|
||||
TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d "{\"username\": \"${TARGET_REGISTRY_USERNAME}\", \"password\": \"${TARGET_REGISTRY_PASSWORD}\"}" ${TARGET_REGISTRY_URL}/users/login/ | jq -r .token)
|
||||
if [ "${TARGET_REGISTRY_API}" = 'docker' ];then
|
||||
if [ -n "${TARGET_REGISTRY_USERNAME}" ] && [ -n "${TARGET_REGISTRY_PASSWORD}" ]; then
|
||||
TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d "{\"username\": \"${TARGET_REGISTRY_USERNAME}\", \"password\": \"${TARGET_REGISTRY_PASSWORD}\"}" "${TARGET_REGISTRY_URL}/users/login/" | jq -r .token)
|
||||
TARGET_HEADER="Authorization: JWT ${TOKEN}"
|
||||
fi
|
||||
TARGET_URL="${TARGET_REPO_URL}/${TARGET_REPO_USER}/${TARGET_REPO_NAME}/tags/${TARGET_REPO_TAG}"
|
||||
|
||||
elif [ "${TARGET_REGISTRY_API}" == 'gitea' ];then
|
||||
elif [ "${TARGET_REGISTRY_API}" = 'gitea' ];then
|
||||
if [ -n "${TARGET_REGISTRY_PASSWORD}" ]; then
|
||||
TARGET_HEADER="Authorization: token ${TARGET_REGISTRY_PASSWORD}"
|
||||
fi
|
||||
@@ -121,8 +134,8 @@ elif [ "${TARGET_REGISTRY_API}" == 'gitea' ];then
|
||||
fi
|
||||
|
||||
# compare the update time of the BASE and TARGET images
|
||||
BASE_DATE=$(curl -s -H "${HEADER}" "${BASE_URL}" | jq -r .last_updated | sed 's/T/ /' | sed 's/\..*//' )
|
||||
TARGET_DATE=$(curl -s -H "${HEADER}" "${TARGET_URL}" | jq -r .last_updated | sed 's/T/ /' | sed 's/\..*//' )
|
||||
BASE_DATE=$(curl -s -H "${BASE_HEADER}" "${BASE_URL}" | jq -r .last_updated | sed 's/T/ /' | sed 's/\..*//' )
|
||||
TARGET_DATE=$(curl -s -H "${TARGET_HEADER}" "${TARGET_URL}" | jq -r .last_updated | sed 's/T/ /' | sed 's/\..*//' )
|
||||
|
||||
BASE_TIMESTAMP=$(date -d "${BASE_DATE}" +%s)
|
||||
TARGET_TIMESTAMP=$(date -d "${TARGET_DATE}" +%s)
|
||||
|
||||
Reference in New Issue
Block a user