#!/bin/sh
# Скрипт производит архивацию образов kubernetes версии v1.26.3
# в указанный первым параметром каталог
# Второй параметры задает через запятую архивируемые архитектуры.
# Если второй параметр имеет значение all архивируются все архитектуры: amd64 arm64 arm ppc64le 386
# Скрипт производит загрузку kubernet-образов с регистратора registry.altlinux.org/k8s-c10f1 в containers-storage: системы
# с последующим помещением их в указанный первым параметром каталог в подкаталог с именем архитектуры ($ociDir/$arch)
# Для улучшения последующей компресии слои образа помещаются несжатыми (параметр --dest-oci-accept-uncompressed-layers)
# После окончания наполнения подкаталога архитектуры он архивируется, сжимается и помещается в файл $ociDir/$arch.tar.xz
#
# Так как скрипт производит загрузку образов различных архитектур
# последняя загруженная в containers-storage: архитектура может отличаться от текущей архитектуры процессора
# При необходимости нужно будет произвести перезагрузку образов для рабочей архитектуры процессора

if [ $# -le 1 ]
then
  echo "Не указан каталог архивирования образов"
  echo -ne "Формат:\n\t$0 <каталог_архивирования_образов><архитектура>,<архитектура>,...|all\n"
  exit 1
fi

if [ $# -ne 2 ]
then
  echo "Не указан список архитектур"
  echo -ne "Формат:\n\t$0 <каталог_архивирования_образов> <архитектура>,<архитектура>,...|all\n"
  exit 1
fi

ociDir=$1
archs=$2

imagesList='
registry.altlinux.org/k8s-c10f1/coredns:v1.9.3
registry.altlinux.org/k8s-c10f1/pause:3.9
registry.altlinux.org/k8s-c10f1/kube-controller-manager:v1.26.3
registry.altlinux.org/k8s-c10f1/kube-apiserver:v1.26.3
registry.altlinux.org/k8s-c10f1/kube-proxy:v1.26.3
registry.altlinux.org/k8s-c10f1/etcd:3.5.6-0
registry.altlinux.org/k8s-c10f1/flannel:v0.19.2
registry.altlinux.org/k8s-c10f1/kube-scheduler:v1.26.3
registry.altlinux.org/k8s-c10f1/flannel-cni-plugin:v1.2.0
registry.altlinux.org/k8s-c10f1/cert-manager-controller:v1.9.1
registry.altlinux.org/k8s-c10f1/cert-manager-cainjector:v1.9.1
registry.altlinux.org/k8s-c10f1/cert-manager-webhook:v1.9.1
'

podsec-save-oci $ociDir $archs $imagesList
