cat <<'EXE'| sudo bash
wget -cq https://github.com/sigstore/cosign/releases/download/v2.5.0/cosign-linux-amd64 -P ${HOME}/Downloads
mv ${HOME}/Downloads/cosign-linux-amd64 /usr/local/bin/cosign
chmod +x /usr/local/bin/cosign
cosign version
cosign --help
EXE
cosign generate-key-pair
mkdir -p ${HOME}/.config/cosign/
rsync -avz ./cosign.* ${HOME}/.config/cosign/
ls -lah ${HOME}/.config/cosign/
cat <<'EXE'| bash
DOCKER_IMAGE_TAG='1.27'
DOCKER_IMAGE_NAME='nginx'
DOCKER_QUERY_PATH='.[0].RepoDigests[0]'
DOCKER_IMAGE_REPO='harbor.chorke.org/academia'
DOCKER_IMAGE_PATH="${DOCKER_IMAGE_REPO}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}"
# docker » image » sign & push
cosign sign -y --key cosign.key ${DOCKER_IMAGE_PATH}
# docker » image » sign » extract & push
DOCKER_IMAGE_HASH="$(docker inspect ${DOCKER_IMAGE_PATH}|jq -r ${DOCKER_QUERY_PATH})"
cosign sign -y --key cosign.key ${DOCKER_IMAGE_REPO}/${DOCKER_IMAGE_HASH}
EXE