#!/usr/share/ucs-test/runner bash
## desc: Check registry access - Anonymous pull shall succeed, push not
## tags: [docker]
## exposure: dangerous
## packages:
##   - docker.io

base_image="alpine:3.10"

rm ~/.docker/config.json

hub="docker.software-univention.de"
image="$hub/$base_image"
echo "=============="
echo "TESTING $image"
docker pull "$image" || exit 1
docker push "$image" && exit 2
docker rmi "$image"
docker login -u ucs -p readonly "$hub" || exit 3
docker pull "$image" || exit 4
docker push "$image" && exit 5
docker rmi "$image"

rm ~/.docker/config.json

hub="docker-test.software-univention.de"
image="$hub/$base_image"
echo "=============="
echo "TESTING $image"
docker pull "$image" || exit 6
docker push "$image" && exit 7
docker rmi "$image"
docker login -u ucs -p readonly "$hub" || exit 8
docker pull "$image" || exit 9
docker push "$image" && exit 10
docker rmi "$image"




docker pull "$base_image"

rm ~/.docker/config.json

hub="docker-upload.software-univention.de"
image="$hub/$base_image"
echo "=============="
echo "TESTING $image"
docker pull "$image" && exit 11
docker tag "$base_image" "$image"
docker push "$image" && exit 12
docker rmi "$image"
docker login -u ucs -p readonly "$hub" && exit 13

rm ~/.docker/config.json

hub="docker-test-upload.software-univention.de"
image="$hub/$base_image"
echo "=============="
echo "TESTING $image"
docker pull "$image" && exit 14
docker tag "$base_image" "$image"
docker push "$image" && exit 15
docker rmi "$image"
docker login -u ucs -p readonly "$hub" && exit 16


docker rmi "$base_image"

exit 0
