#!/usr/bin/env bash

# 端口
export port=${1:-5000}

# 项目名称
export prefix_dir=base-platform

# 终端颜色定义
txtbld=$(tput bold)             # Bold
bldred=${txtbld}$(tput setaf 1) # red
bldgre=${txtbld}$(tput setaf 2) # green
bldylw=${txtbld}$(tput setaf 3) # yellow
txtrst=$(tput sgr0)             # Reset
err=${bldred}ERROR${txtrst}
info=${bldgre}INFO${txtrst}
warn=${bldylw}WARNING${txtrst}

k8s_images=(
    registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.20.15
    registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.20.15
    registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.20.15
    registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.20.15
    registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2
    registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0
    registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0
    registry.cn-shenzhen.aliyuncs.com/shuhui/cni:v3.19.4
    registry.cn-shenzhen.aliyuncs.com/shuhui/kube-controllers:v3.19.4
    registry.cn-shenzhen.aliyuncs.com/shuhui/node:v3.19.4
    registry.cn-shenzhen.aliyuncs.com/shuhui/pod2daemon-flexvol:v3.19.4
    registry.cn-shenzhen.aliyuncs.com/shuhui/metrics-server:v0.6.2
    registry.cn-shenzhen.aliyuncs.com/shuhui/busybox:1.36-glibc
    registry.cn-shenzhen.aliyuncs.com/shuhui/local-path-provisioner:v0.0.24
    registry.cn-shenzhen.aliyuncs.com/shuhui/nfs-subdir-external-provisioner:v4.0.2
    registry.cn-shenzhen.aliyuncs.com/shuhui/operator:1.9.6
    registry.cn-shenzhen.aliyuncs.com/shuhui/pilot:1.9.6
    registry.cn-shenzhen.aliyuncs.com/shuhui/proxyv2:1.9.6
    #registry.cn-shenzhen.aliyuncs.com/shuhui/ansible-docker:2.9.13
    registry.cn-shenzhen.aliyuncs.com/shuhui/node-exporter:1.6.1-debian-11-r32
    registry.cn-shenzhen.aliyuncs.com/shuhui/kube-state-metrics:2.10.0-debian-11-r0
    registry.cn-shenzhen.aliyuncs.com/shuhui/blackbox-exporter:0.24.0-debian-11-r109
    registry.cn-shenzhen.aliyuncs.com/shuhui/prometheus-operator:0.68.0-debian-11-r0
    registry.cn-shenzhen.aliyuncs.com/shuhui/alertmanager:0.26.0-debian-11-r14
    registry.cn-shenzhen.aliyuncs.com/shuhui/prometheus:2.47.0-debian-11-r0
    registry.cn-shenzhen.aliyuncs.com/shuhui/busybox:1.31.1
    registry.cn-shenzhen.aliyuncs.com/shuhui/k8s-sidecar:1.25.1
    registry.cn-shenzhen.aliyuncs.com/shuhui/grafana:10.1.5
)

imgSuccessful=0
imgFailed=0

for img in ${k8s_images[@]}
do
    printf "$info: 镜像导出 [ ${bldgre}${img}${txtrst} ]"

    skopeo copy --multi-arch=system --insecure-policy --dest-tls-verify=false  docker://${img} docker://localhost:${port}/${prefix_dir}/${img##*/} >/dev/null 2>/dev/null

    if [[ "$?" -eq "0" ]]; then
        printf " | ${bldgre}√${txtrst}\n"
        let imgSuccessful=${imgSuccessful}+1
    else
        printf " | ${bldred}×${txtrst}\n"
        let imgFailed=${imgFailed}+1
    fi
done
