Skip to content

Commit 74bf202

Browse files
author
William Lam
committed
Adding TKG Container Mirror script
Fixing tkg check Fixing pull
1 parent da2ea6a commit 74bf202

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

shell/mirror_tkg_containers.sh

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
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

Comments
 (0)