#!/usr/bin/env bash

if [ -z "${ARCH}" ]; then
  case $(uname -m) in
    x86_64) ARCH=amd64 ;;
    aarch64) ARCH=arm64 ;;
    *) printf "$err: 不支持该平台 $(uname -m)"; exit 1 ;;
  esac
fi

# 终端颜色定义
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}

imgSuccessful=0
imgFailed=0

images=(
    registry.cn-shenzhen.aliyuncs.com/shuhui/node-exporter:v1.10.2
registry.cn-shenzhen.aliyuncs.com/shuhui/k8s-sidecar:2.5.0
registry.cn-shenzhen.aliyuncs.com/shuhui/grafana:12.4.1
registry.cn-shenzhen.aliyuncs.com/shuhui/kube-state-metrics:v2.18.0
registry.cn-shenzhen.aliyuncs.com/shuhui/operator:v0.68.3
registry.cn-shenzhen.aliyuncs.com/shuhui/kubectl:v1.26.15
registry.cn-shenzhen.aliyuncs.com/shuhui/vmselect:v1.138.0-cluster
registry.cn-shenzhen.aliyuncs.com/shuhui/vmstorage:v1.138.0-cluster
registry.cn-shenzhen.aliyuncs.com/shuhui/vminsert:v1.138.0-cluster
registry.cn-shenzhen.aliyuncs.com/shuhui/vmagent:v1.138.0
registry.cn-shenzhen.aliyuncs.com/shuhui/vmalert:v1.138.0
registry.cn-shenzhen.aliyuncs.com/shuhui/victoria-metrics:v1.138.0
registry.cn-shenzhen.aliyuncs.com/shuhui/alertmanager:v0.28.1
registry.cn-shenzhen.aliyuncs.com/shuhui/operator:config-reloader-v0.53.0
)

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

    skopeo copy --multi-arch=all docker://${img} oci-archive:$(realpath .)/${image_path}/$(echo ${img##*/} | sed 's/:/@/').oci  >/dev/null 2>/dev/null
    #skopeo copy docker://${img} oci-archive:$(realpath .)/${image_path}/$(echo ${img##*/} | sed 's/:/@/').oci:${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
