1+ #! /bin/bash
2+ # Modified script from (@fabiorapposelli) to mirror TKG 1.0 (GA) containers into local Harbor Registry
3+
4+ REGISTRY_URL=registry.virtuallyghetto.com
5+ TKG_CLI_PATH=/usr/local/bin/tkg
6+
7+ if [ ! -e ${TKG_CLI_PATH} ]; then
8+ echo " Unable to find tkg binary in ${TKG_CLI_PATH} ... exiting"
9+ exit 1
10+ fi
11+
12+ LIST=(
13+ registry.tkg.vmware.run/cluster-api/cluster-api-aws-controller:v0.5.2_vmware.1
14+ registry.tkg.vmware.run/cluster-api/kubeadm-control-plane-controller:v0.3.3_vmware.1
15+ registry.tkg.vmware.run/cluster-api/kubeadm-bootstrap-controller:v0.3.3_vmware.1
16+ registry.tkg.vmware.run/cluster-api/cluster-api-controller:v0.3.3_vmware.1
17+ registry.tkg.vmware.run/cluster-api/cluster-api-vsphere-controller:v0.6.3_vmware.1
18+ registry.tkg.vmware.run/csi/volume-metadata-syncer:v1.0.2_vmware.1
19+ registry.tkg.vmware.run/ccm/manager:v1.1.0_vmware.2
20+ registry.tkg.vmware.run/csi/vsphere-block-csi-driver:v1.0.2_vmware.1
21+ registry.tkg.vmware.run/csi/csi-provisioner:v1.4.0_vmware.2
22+ registry.tkg.vmware.run/csi/csi-attacher:v1.1.1_vmware.7
23+ registry.tkg.vmware.run/csi/csi-node-driver-registrar:v1.1.0_vmware.7
24+ registry.tkg.vmware.run/csi/csi-livenessprobe:v1.1.0_vmware.7
25+ registry.tkg.vmware.run/calico-all/node:v3.11.2_vmware.1
26+ registry.tkg.vmware.run/calico-all/pod2daemon:v3.11.2_vmware.1
27+ registry.tkg.vmware.run/calico-all/cni-plugin:v3.11.2_vmware.1
28+ registry.tkg.vmware.run/calico-all/kube-controllers:v3.11.2_vmware.1
29+ registry.tkg.vmware.run/cluster-api/kube-rbac-proxy:v0.4.1_vmware.2
30+ registry.tkg.vmware.run/cert-manager/cert-manager-controller:v0.11.0_vmware.1
31+ registry.tkg.vmware.run/cert-manager/cert-manager-cainjector:v0.11.0_vmware.1
32+ registry.tkg.vmware.run/cert-manager/cert-manager-webhook:v0.11.0_vmware.1
33+ )
34+
35+ newImageRepo=" ${REGISTRY_URL} \/library"
36+ sourceDir=" /root/.tkg"
37+
38+ ${TKG_CLI_PATH} get mc
39+
40+ echo ' > Start mirroring process'
41+ for image in " ${LIST[@]} "
42+ do
43+ :
44+ image=${image// [$'\t\r\n ']}
45+ origImageRepo=$( echo " $image " | awk -F/ ' { print $1 }' )
46+ imageDestination=$( echo -n " $image " | sed " s/$origImageRepo /$newImageRepo /g" )
47+ echo " > Pulling $image "
48+ docker pull " $image "
49+ echo " > Pushing $imageDestination "
50+ docker tag " $image " " $imageDestination "
51+ docker push " $imageDestination "
52+ docker rmi " $image "
53+ # Leaving these containers cached in Photon to speed up KIND deployment
54+ if [[ " $imageDestination " != " ${REGISTRY_URL} /library/cert-manager/cert-manager-webhook:v0.11.0_vmware.1" ]] && [[ " $imageDestination " != " ${REGISTRY_URL} /library/cert-manager/cert-manager-cainjector:v0.11.0_vmware.1" ]] && [[ " $imageDestination " != " ${REGISTRY_URL} /library/cert-manager/cert-manager-controller:v0.11.0_vmware.1" ]]; then
55+ docker rmi " $imageDestination "
56+ fi
57+ done
58+
59+ echo " > Pointing all image repos to $newImageRepo "
60+ grep -RiIl ' mage: ' " $sourceDir " | xargs perl -i -pe " s/mage: .*?\/(.*)/mage: ${newImageRepo// ./ \\ .} \/\1/"
0 commit comments