Skip to content

Commit f921801

Browse files
add regctl to push-to-registry script
1 parent 8b7217c commit f921801

File tree

3 files changed

+16
-18
lines changed

3 files changed

+16
-18
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ Use Case: install in non-internet environments for private repo
2727
### Prerequesites:
2828
setup docker and `docker login to both source and destination registries`
2929

30+
Install [regctl](https://github.com/regclient/regclient)
31+
3032
to login with obtained Google Service Accounbt for Codefresh Enterprise registery:
3133
```
3234
docker login -u _json_key -p "$(cat sa.json)" https://gcr.io

push-to-registry.sh

+11-15
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ usage() {
44
echo "Usage:
55
$0 <private-registry-addr> <release-name>
66
7-
Prerequisite: docker login to both source and destination registry
7+
Prerequisite: docker login to both source and destination registry. Regctl tool is installed.
88
"
99
}
1010

@@ -32,9 +32,9 @@ ERRORS_FILE=$JOURNAL_DIR/errors
3232

3333
if [[ -n "${DRY_RUN}" ]]; then
3434
echo "DRY_RUN MODE"
35-
DOCKER="echo docker"
35+
REGCTL="echo regctl"
3636
else
37-
DOCKER="docker"
37+
REGCTL="regctl"
3838
fi
3939

4040
echo "Starting at $(date)"
@@ -55,25 +55,21 @@ DELIMITER_INC='codefresh-io/'
5555
while read line
5656
do
5757
[[ -z $line ]] && continue
58-
PULL_IMAGE=$(echo $line)
59-
PUSH_IMAGE=$(echo $PULL_IMAGE | awk -F"${DELIMITER}|${DELIMITER_INC}" -vPRIVATE_REGISTRY_ADDR=${PRIVATE_REGISTRY_ADDR} \
58+
SRC_IMAGE=$(echo $line)
59+
DEST_IMAGE=$(echo $SRC_IMAGE | awk -F"${DELIMITER}|${DELIMITER_INC}" -vPRIVATE_REGISTRY_ADDR=${PRIVATE_REGISTRY_ADDR} \
6060
'{if($2 == ""){print PRIVATE_REGISTRY_ADDR"/"$1} else {print PRIVATE_REGISTRY_ADDR"/codefresh/"$2}}' | sed -E -e "s#docker.io\/|registry.k8s.io\/|k8s.gcr.io\/|ghcr.io\/##")
61-
echo "$PULL_IMAGE -> $PUSH_IMAGE "
61+
echo "$SRC_IMAGE -> $DEST_IMAGE"
6262

63-
PULL_COMMAND="$DOCKER pull $PULL_IMAGE"
64-
TAG_COMMAND="$DOCKER tag $PULL_IMAGE $PUSH_IMAGE"
65-
PUSH_COMMAND="$DOCKER push $PUSH_IMAGE"
63+
REGCTL_COPY_COMMAND="$REGCTL image copy $SRC_IMAGE $DEST_IMAGE"
6664

67-
echo "---------- Migrate $PULL_IMAGE to $PUSH_IMAGE"
68-
eval $PULL_COMMAND && echo -e "Pull $PULL_IMAGE completed - $(date) !!!\n" && \
69-
eval $TAG_COMMAND && echo -e "Tag $PUSH_IMAGE completed - $(date) !!!\n" && \
70-
eval $PUSH_COMMAND && echo -e "Push $PUSH_IMAGE completed - $(date) !!!\n"
65+
echo "---------- Copy $SRC_IMAGE to $DEST_IMAGE"
66+
eval $REGCTL_COPY_COMMAND && echo -e "Copy $DEST_IMAGE completed - $(date) !!!\n" && \
7167

7268
if [[ $? == 0 ]]; then
73-
echo "$PUSH_IMAGE" >> $DONE_FILE
69+
echo "$DEST_IMAGE" >> $DONE_FILE
7470
DONE_COUNT=$(( DONE_COUNT+1 ))
7571
else
76-
echo "ERROR - $PULL_IMAGE to $PUSH_IMAGE" >> $ERRORS_FILE
72+
echo "ERROR - $PULL_IMAGE to $DEST_IMAGE" >> $ERRORS_FILE
7773
ERROR_COUNT=$(( ERROR_COUNT+1 ))
7874
fi
7975

save-images.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
usage() {
44
echo "Usage:
55
$0 <private-registry-addr> <release-name>
6-
7-
Prerequisite: docker login to both source and destination registry
6+
7+
Prerequisite: docker login to both source and destination registry.
88
"
99
}
1010

@@ -50,7 +50,7 @@ do
5050
done < $IMAGES_LIST
5151

5252
echo "Save List = $SAVE_LIST"
53-
$DOCKER save -o $SAVE_FILE $SAVE_LIST
53+
$DOCKER save -o $SAVE_FILE $SAVE_LIST
5454

5555
echo "Completed at $(date) "
5656

0 commit comments

Comments
 (0)