#!/bin/bash

BASE=$(grep -E 'BASE' ./ai.config|cut -d'=' -f2)
#ai平台版本号
VERSION=`cat $BASE/ai.config| grep VERSION  | awk -F"=" '{print $2}'`

#线上镜像仓库地址
REGISTRY_URL=$(grep -E 'REGISTRY_URL' $BASE/ai.config|cut -d'=' -f2)
REGISTRY_DOMAIN=${REGISTRY_URL#*//}

#本地镜像仓库地址和密码
HARBOR_IP=$(grep -r 'HARBOR_DOMAIN' $BASE/ai.config |cut -d'=' -f2|awk '{print $1}')
HARBOR_PORT=$(grep -r 'HARBOR_NODE_PORT' $BASE/ai.config |cut -d'=' -f2|awk '{print $1}')
HARBOR_ADMIN_PASSWORD=$(grep -r 'HARBOR_ADMIN_PASSWORD' $BASE/ai.config |cut -d'=' -f2|awk '{print $1}')
REGISTRY_LOCAL="$HARBOR_IP:$HARBOR_PORT"
ARCH=$(grep -v '^###' $BASE/ai.config  | grep ARCH |cut -d"=" -f2)
docker login $REGISTRY_LOCAL -u admin -p $HARBOR_ADMIN_PASSWORD
until [[ $isAllPushed == "flag=1" ]]
do
  IMAGES=$(grep -r flag=0 $BASE/images-tag |awk '{print $1}')
  for image in $IMAGES
  do 
    docker push $image
    echo $image
    sed -i "s#$image flag=0#$image flag=1#g" $BASE/images-tag
  done 
    isAllPushed=$(grep -r page-render $BASE/images-tag |awk '{print $2}')
done
#删除本地镜像
#PROJECT_ID=$(curl -s -X GET "$REGISTRY_URL/api/projects?name=ai-deploy" -H "accept: application/json"|grep "project_id"|awk 'NR<2{print $2}'|cut -d',' -f1)
#REPOS=$(curl -s -X GET --header 'Accept: application/json' "$REGISTRY_URL/api/repositories?project_id=$PROJECT_ID"|grep "name"|awk -F '"' '{print $4}')

#for repo in $REPOS
#do
#  TAGS=$(curl -s -X GET --header 'Accept: application/json' "$REGISTRY_URL/api/repositories/$repo/tags"|grep -A 4 'digest'|grep \"name\"|awk -F '"' '{print $4}'|sort -r)
#  image=$(echo $repo|awk -F "/" '{print $2}')
#    for tag in $TAGS
#    do
#        docker rmi $REGISTRY_DOMAIN/$repo:$tag
#    done
#    echo "======================================="
#done
if [[ "$ARCH" == aarch64 ]];then
    images=$(cat $BASE/npu-images-list)
    for image in $images
    do
      docker rmi $REGISTRY_DOMAIN/$image
      echo "======================================="
    done
else
    images=$(cat $BASE/images-list)
    for image in $images
    do
      docker rmi $REGISTRY_DOMAIN/$image
      echo "======================================="
    done
fi

echo "############已推送镜像至本地镜像仓库#############"
