Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.

# WebLogic CPU Release 14.1.1.0
middleware/weblogic_cpu:14.1.1.0-generic-jdk11-ol7;weblogick8s/test-images/weblogic:14.1.1.0-generic-jdk11-ol7-cpu
middleware/weblogic_cpu:14.1.1.0-generic-jdk11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-generic-jdk11-ol8-cpu

middleware/weblogic_cpu:14.1.1.0-generic-jdk8-ol7;weblogick8s/test-images/weblogic:14.1.1.0-generic-jdk8-ol7-cpu
middleware/weblogic_cpu:14.1.1.0-generic-jdk8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-generic-jdk8-ol8-cpu

middleware/weblogic_cpu:14.1.1.0-slim-jdk11-ol7;weblogick8s/test-images/weblogic:14.1.1.0-slim-jdk11-ol7-cpu
middleware/weblogic_cpu:14.1.1.0-slim-jdk11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-jdk11-ol8-cpu

middleware/weblogic_cpu:14.1.1.0-slim-jdk8-ol7;weblogick8s/test-images/weblogic:14.1.1.0-slim-jdk8-ol7-cpu
middleware/weblogic_cpu:14.1.1.0-slim-jdk8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-jdk8-ol8-cpu

# WebLogic CPU Release 12.2.1.4
middleware/weblogic_cpu:12.2.1.4-generic-jdk8-ol7;weblogick8s/test-images/weblogic:12.2.1.4-generic-jdk8-ol7-cpu
middleware/weblogic_cpu:12.2.1.4-generic-jdk8-ol8;weblogick8s/test-images/weblogic:12.2.1.4-generic-jdk8-ol8-cpu

middleware/weblogic_cpu:12.2.1.4-slim-jdk8-ol7;weblogick8s/test-images/weblogic:12.2.1.4-slim-jdk8-ol7
middleware/weblogic_cpu:12.2.1.4-slim-jdk8-ol8;weblogick8s/test-images/weblogic:12.2.1.4-slim-jdk8-ol8-cpu

# WebLogic CPU Release 12.2.1.3
middleware/weblogic_cpu:12.2.1.3-generic-jdk8-ol7;weblogick8s/test-images/weblogic:12.2.1.3-generic-jdk8-ol7-cpu
middleware/weblogic_cpu:12.2.1.3-generic-jdk8-ol8;weblogick8s/test-images/weblogic:12.2.1.3-generic-jdk8-ol8-cpu

# FMW CPU Release 12.2.1.4
middleware/fmw-infrastructure_cpu:12.2.1.4-jdk8-ol7;weblogick8s/test-images/fmw-infrastructure:12.2.1.4-jdk8-ol7-cpu
middleware/fmw-infrastructure_cpu:12.2.1.4-jdk8-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.4-jdk8-ol8-cpu

# FMW CPU Release 12.2.1.3
middleware/fmw-infrastructure_cpu:12.2.1.3-jdk8-ol7;weblogick8s/test-images/fmw-infrastructure:12.2.1.3-jdk8-ol7-cpu
middleware/fmw-infrastructure_cpu:12.2.1.3-jdk8-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.3-jdk8-ol8-cpu
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.

# WebLogic GA Release 14.1.1.0
middleware/weblogic:14.1.1.0-11;weblogick8s/test-images/weblogic:14.1.1.0-11
middleware/weblogic:14.1.1.0-11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-11-ol8

middleware/weblogic:14.1.1.0-8;weblogick8s/test-images/weblogic:14.1.1.0-8
middleware/weblogic:14.1.1.0-8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-8-ol8

middleware/weblogic:14.1.1.0-slim-11;weblogick8s/test-images/weblogic:14.1.1.0-slim-11
middleware/weblogic:14.1.1.0-slim-11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-11-ol8

middleware/weblogic:14.1.1.0-slim-8;weblogick8s/test-images/weblogic:14.1.1.0-slim-8
middleware/weblogic:14.1.1.0-slim-8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-8-ol8

middleware/weblogic:14.1.1.0-dev-11;weblogick8s/test-images/weblogic:14.1.1.0-dev-11
middleware/weblogic:14.1.1.0-dev-11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-dev-11-ol8

middleware/weblogic:14.1.1.0-dev-8;weblogick8s/test-images/weblogic:14.1.1.0-dev-8
middleware/weblogic:14.1.1.0-dev-8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-dev-8-ol8

# WebLogic GA Release 12.2.1.4
middleware/weblogic:12.2.1.4;weblogick8s/test-images/weblogic:12.2.1.4
middleware/weblogic:12.2.1.4-ol8;weblogick8s/test-images/weblogic:12.2.1.4-ol8

middleware/weblogic:12.2.1.4-slim;weblogick8s/test-images/weblogic:12.2.1.4-slim
middleware/weblogic:12.2.1.4-slim-ol8;weblogick8s/test-images/weblogic:12.2.1.4-slim-ol8

middleware/weblogic:12.2.1.4-dev;weblogick8s/test-images/weblogic:12.2.1.4-dev
middleware/weblogic:12.2.1.4-dev-ol8;weblogick8s/test-images/weblogic:12.2.1.4-dev-ol8

# WebLogic GA Release 12.2.1.3
middleware/weblogic:12.2.1.3;weblogick8s/test-images/weblogic:12.2.1.3
middleware/weblogic:12.2.1.3-ol8;weblogick8s/test-images/weblogic:12.2.1.3-ol8

middleware/weblogic:12.2.1.3-dev;weblogick8s/test-images/weblogic:12.2.1.3-dev
middleware/weblogic:12.2.1.3-dev-ol8;weblogick8s/test-images/weblogic:12.2.1.3-dev-ol8

# FMW GA Release 12.2.1.4
middleware/fmw-infrastructure:12.2.1.4;weblogick8s/test-images/fmw-infrastructure:12.2.1.4
middleware/fmw-infrastructure:12.2.1.4-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.4-ol8

# FMW GA Release 12.2.1.3
middleware/fmw-infrastructure:12.2.1.3;weblogick8s/test-images/fmw-infrastructure:12.2.1.3
middleware/fmw-infrastructure:12.2.1.3-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.3-ol8
120 changes: 78 additions & 42 deletions integration-tests/src/test/resources/bash-scripts/images.properties
Original file line number Diff line number Diff line change
@@ -1,64 +1,100 @@
# Absolute Source Image Location; Target Image Location w.r.t. Test reposiotory
# Copyright (c) 2022,2023 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.

# WebLogic Release 14.1.1.0
container-registry.oracle.com/middleware/weblogic:14.1.1.0-11;weblogick8s/test-images/weblogic:14.1.1.0-11
container-registry.oracle.com/middleware/weblogic:14.1.1.0-11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-11-ol8
# Format: Relative Source Image Location;Relative Target Image Location
# Note:
# The image location is relative with reference to SOURCE_REPO/TARGET_REPO
# e.g. if SOURCE_REPO is container-registry.oracle.com
# then the script expect the image to be pulled as follows ...
# docker pull container-registry.oracle.com/middleware/weblogic:14.1.1.0-11
# e.g. if TARGET_REPO is phx.ocir.io
# then the script expect the image to be pushed as follows ...
# docker push phx.ocir.io/test-images/weblogic/weblogic:14.1.1.0-11

container-registry.oracle.com/middleware/weblogic:14.1.1.0-8;weblogick8s/test-images/weblogic:14.1.1.0-8
container-registry.oracle.com/middleware/weblogic:14.1.1.0-8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-8-ol8
# WebLogic GA Release 14.1.1.0
middleware/weblogic:14.1.1.0-11;weblogick8s/test-images/weblogic:14.1.1.0-11
middleware/weblogic:14.1.1.0-11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-11-ol8

container-registry.oracle.com/middleware/weblogic:14.1.1.0-slim-11;weblogick8s/test-images/weblogic:14.1.1.0-slim-11
container-registry.oracle.com/middleware/weblogic:14.1.1.0-slim-11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-11-ol8
middleware/weblogic:14.1.1.0-8;weblogick8s/test-images/weblogic:14.1.1.0-8
middleware/weblogic:14.1.1.0-8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-8-ol8

container-registry.oracle.com/middleware/weblogic:14.1.1.0-slim-8;weblogick8s/test-images/weblogic:14.1.1.0-slim-8
container-registry.oracle.com/middleware/weblogic:14.1.1.0-slim-8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-8-ol8
middleware/weblogic:14.1.1.0-slim-11;weblogick8s/test-images/weblogic:14.1.1.0-slim-11
middleware/weblogic:14.1.1.0-slim-11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-11-ol8

container-registry.oracle.com/middleware/weblogic:14.1.1.0-dev-11;weblogick8s/test-images/weblogic:14.1.1.0-dev-11
container-registry.oracle.com/middleware/weblogic:14.1.1.0-dev-11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-dev-11-ol8
middleware/weblogic:14.1.1.0-slim-8;weblogick8s/test-images/weblogic:14.1.1.0-slim-8
middleware/weblogic:14.1.1.0-slim-8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-8-ol8

container-registry.oracle.com/middleware/weblogic:14.1.1.0-dev-8;weblogick8s/test-images/weblogic:14.1.1.0-dev-8
container-registry.oracle.com/middleware/weblogic:14.1.1.0-dev-8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-dev-8-ol8
middleware/weblogic:14.1.1.0-dev-11;weblogick8s/test-images/weblogic:14.1.1.0-dev-11
middleware/weblogic:14.1.1.0-dev-11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-dev-11-ol8

# WebLogic Release 12.2.1.4
middleware/weblogic:14.1.1.0-dev-8;weblogick8s/test-images/weblogic:14.1.1.0-dev-8
middleware/weblogic:14.1.1.0-dev-8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-dev-8-ol8

container-registry.oracle.com/middleware/weblogic:12.2.1.4;weblogick8s/test-images/weblogic:12.2.1.4
container-registry.oracle.com/middleware/weblogic:12.2.1.4-ol8;weblogick8s/test-images/weblogic:12.2.1.4-ol8
# WebLogic GA Release 12.2.1.4
middleware/weblogic:12.2.1.4;weblogick8s/test-images/weblogic:12.2.1.4
middleware/weblogic:12.2.1.4-ol8;weblogick8s/test-images/weblogic:12.2.1.4-ol8

container-registry.oracle.com/middleware/weblogic:12.2.1.4-slim;weblogick8s/test-images/weblogic:12.2.1.4-slim
container-registry.oracle.com/middleware/weblogic:12.2.1.4-slim-ol8;weblogick8s/test-images/weblogic:12.2.1.4-slim-ol8
middleware/weblogic:12.2.1.4-slim;weblogick8s/test-images/weblogic:12.2.1.4-slim
middleware/weblogic:12.2.1.4-slim-ol8;weblogick8s/test-images/weblogic:12.2.1.4-slim-ol8

container-registry.oracle.com/middleware/weblogic:12.2.1.4-dev;weblogick8s/test-images/weblogic:12.2.1.4-dev
container-registry.oracle.com/middleware/weblogic:12.2.1.4-dev-ol8;weblogick8s/test-images/weblogic:12.2.1.4-dev-ol8
middleware/weblogic:12.2.1.4-dev;weblogick8s/test-images/weblogic:12.2.1.4-dev
middleware/weblogic:12.2.1.4-dev-ol8;weblogick8s/test-images/weblogic:12.2.1.4-dev-ol8

# WebLogic Release 12.2.1.3
# WebLogic GA Release 12.2.1.3
middleware/weblogic:12.2.1.3;weblogick8s/test-images/weblogic:12.2.1.3
middleware/weblogic:12.2.1.3-ol8;weblogick8s/test-images/weblogic:12.2.1.3-ol8

container-registry.oracle.com/middleware/weblogic:12.2.1.3;weblogick8s/test-images/weblogic:12.2.1.3
container-registry.oracle.com/middleware/weblogic:12.2.1.3-ol8;weblogick8s/test-images/weblogic:12.2.1.3-ol8
middleware/weblogic:12.2.1.3-dev;weblogick8s/test-images/weblogic:12.2.1.3-dev
middleware/weblogic:12.2.1.3-dev-ol8;weblogick8s/test-images/weblogic:12.2.1.3-dev-ol8

container-registry.oracle.com/middleware/weblogic:12.2.1.3-dev;weblogick8s/test-images/weblogic:12.2.1.3-dev
container-registry.oracle.com/middleware/weblogic:12.2.1.3-dev-ol8;weblogick8s/test-images/weblogic:12.2.1.3-dev-ol8
# FMW GA Release 12.2.1.4
middleware/fmw-infrastructure:12.2.1.4;weblogick8s/test-images/fmw-infrastructure:12.2.1.4
middleware/fmw-infrastructure:12.2.1.4-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.4-ol8

# FMW Release 12.2.1.4
# FMW GA Release 12.2.1.3
middleware/fmw-infrastructure:12.2.1.3;weblogick8s/test-images/fmw-infrastructure:12.2.1.3
middleware/fmw-infrastructure:12.2.1.3-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.3-ol8

container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4;weblogick8s/test-images/fmw-infrastructure:12.2.1.4
container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.4-ol8
# Oracle DB Image Release 12.2.0.1-slim
database/enterprise:12.2.0.1-slim;weblogick8s/test-images/database/enterprise:12.2.0.1-slim

# FMW Release 12.2.1.3
container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3;weblogick8s/test-images/fmw-infrastructure:12.2.1.3
container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.3-ol8
# Oracle DB Operator Image
database/operator:0.2.0;weblogick8s/test-images/database/operator:0.2.0

# Oracle DB Image Release 12.2.0.1-slim
container-registry.oracle.com/database/enterprise:12.2.0.1-slim;weblogick8s/test-images/database/enterprise:12.2.0.1-slim
# Manually Update the Target Reposiotory for the following image(s)
#busybox:1.34.1;weblogick8s/test-images/docker/busybox:1.34.1
#elasticsearch:7.8.1;weblogick8s/test-images/docker/elasticsearch:7.8.1
#k8s.gcr.io/ingress-nginx/controller:v1.2.0;weblogick8s/test-images/ingress-nginx/controller:v1.2.0

# BusyBox
busybox:1.34.1;weblogick8s/test-images/docker/busybox:1.34.1

# NGINX Controller
k8s.gcr.io/ingress-nginx/controller:v1.2.0;weblogick8s/test-images/ingress-nginx/controller:v1.2.0
# WebLogic CPU Release 14.1.1.0
middleware/weblogic_cpu:14.1.1.0-generic-jdk11-ol7;weblogick8s/test-images/weblogic:14.1.1.0-generic-jdk11-ol7-cpu
middleware/weblogic_cpu:14.1.1.0-generic-jdk11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-generic-jdk11-ol8-cpu

# Oracle DB Operator Image
container-registry.oracle.com/database/operator:0.2.0;weblogick8s/test-images/database/operator:0.2.0
middleware/weblogic_cpu:14.1.1.0-generic-jdk8-ol7;weblogick8s/test-images/weblogic:14.1.1.0-generic-jdk8-ol7-cpu
middleware/weblogic_cpu:14.1.1.0-generic-jdk8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-generic-jdk8-ol8-cpu

middleware/weblogic_cpu:14.1.1.0-slim-jdk11-ol7;weblogick8s/test-images/weblogic:14.1.1.0-slim-jdk11-ol7-cpu
middleware/weblogic_cpu:14.1.1.0-slim-jdk11-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-jdk11-ol8-cpu

middleware/weblogic_cpu:14.1.1.0-slim-jdk8-ol7;weblogick8s/test-images/weblogic:14.1.1.0-slim-jdk8-ol7-cpu
middleware/weblogic_cpu:14.1.1.0-slim-jdk8-ol8;weblogick8s/test-images/weblogic:14.1.1.0-slim-jdk8-ol8-cpu

# WebLogic CPU Release 12.2.1.4
middleware/weblogic_cpu:12.2.1.4-generic-jdk8-ol7;weblogick8s/test-images/weblogic:12.2.1.4-generic-jdk8-ol7-cpu
middleware/weblogic_cpu:12.2.1.4-generic-jdk8-ol8;weblogick8s/test-images/weblogic:12.2.1.4-generic-jdk8-ol8-cpu

middleware/weblogic_cpu:12.2.1.4-slim-jdk8-ol7;weblogick8s/test-images/weblogic:12.2.1.4-slim-jdk8-ol7
middleware/weblogic_cpu:12.2.1.4-slim-jdk8-ol8;weblogick8s/test-images/weblogic:12.2.1.4-slim-jdk8-ol8-cpu

# WebLogic CPU Release 12.2.1.3
middleware/weblogic_cpu:12.2.1.3-generic-jdk8-ol7;weblogick8s/test-images/weblogic:12.2.1.3-generic-jdk8-ol7-cpu
middleware/weblogic_cpu:12.2.1.3-generic-jdk8-ol8;weblogick8s/test-images/weblogic:12.2.1.3-generic-jdk8-ol8-cpu

# ElasticSearch Image
elasticsearch:7.8.1;weblogick8s/test-images/docker/elasticsearch:7.8.1
# FMW CPU Release 12.2.1.4
middleware/fmw-infrastructure_cpu:12.2.1.4-jdk8-ol7;weblogick8s/test-images/fmw-infrastructure:12.2.1.4-jdk8-ol7-cpu
middleware/fmw-infrastructure_cpu:12.2.1.4-jdk8-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.4-jdk8-ol8-cpu

# FMW CPU Release 12.2.1.3
middleware/fmw-infrastructure_cpu:12.2.1.3-jdk8-ol7;weblogick8s/test-images/fmw-infrastructure:12.2.1.3-jdk8-ol7-cpu
middleware/fmw-infrastructure_cpu:12.2.1.3-jdk8-ol8;weblogick8s/test-images/fmw-infrastructure:12.2.1.3-jdk8-ol8-cpu
Original file line number Diff line number Diff line change
@@ -1,71 +1,110 @@
#!/bin/bash
# Copyright (c) 2022, Oracle and/or its affiliates.
# Copyright (c) 2022,2023 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.

set -eu
set -o pipefail

repoLogin() {
WLSIMG_BUILDER=${WLSIMG_BUILDER:-docker}

echo "${WLSIMG_BUILDER:-docker} login to src ${SOURCE_REPO}"
login() {

echo "${WLSIMG_BUILDER} login to src ${SOURCE_REPO}"
echo ${SOURCE_PASSWORD} > pwd.txt
cat pwd.txt | ${WLSIMG_BUILDER:-docker} login ${SOURCE_REPO} -u ${SOURCE_USER} --password-stdin
cat pwd.txt | ${WLSIMG_BUILDER} login ${SOURCE_REPO} -u ${SOURCE_USER} --password-stdin
rm -rf pwd.txt

# Alternatively use
# ${WLSIMG_BUILDER:-docker} login ${SOURCE_REPO} -u ${SOURCE_USER} -p ${SOURCE_PASSWORD}
# ${WLSIMG_BUILDER} login ${SOURCE_REPO} -u ${SOURCE_USER} -p ${SOURCE_PASSWORD}

echo "${WLSIMG_BUILDER:-docker} login to target ${TARGET_REPO}"
echo "${WLSIMG_BUILDER} login to target ${TARGET_REPO}"
echo ${TARGET_PASSWORD} > pwd.txt
cat pwd.txt | ${WLSIMG_BUILDER:-docker} login ${TARGET_REPO} -u ${TARGET_USER} --password-stdin
cat pwd.txt | ${WLSIMG_BUILDER} login ${TARGET_REPO} -u ${TARGET_USER} --password-stdin
rm -rf pwd.txt

}

repoPullPushImage() {
pullPushImage() {

# Here the source image contains absolute image path
# and source image contains relative path wrt to TARGET_REPO

src_image="${1}"
src_image="${SOURCE_REPO}/${1}"
tgt_image="${TARGET_REPO}/${2}"

if [ ${DRY_RUN} == "true" ]; then
echo "Executing a dry run ..."
echo "${WLSIMG_BUILDER:-docker} pull ${src_image} "
echo "${WLSIMG_BUILDER:-docker} tag ${src_image} ${tgt_image} "
echo "${WLSIMG_BUILDER:-docker} push ${tgt_image} "
else
printf 'SRC[%s] TARGET[%s] \n' "${src_image}" "${tgt_image}"
${WLSIMG_BUILDER:-docker} pull ${src_image}
${WLSIMG_BUILDER:-docker} tag ${src_image} ${tgt_image}
${WLSIMG_BUILDER:-docker} push ${tgt_image}

${WLSIMG_BUILDER:-docker} rmi -f ${src_image}
${WLSIMG_BUILDER:-docker} rmi -f ${tgt_image}
image=$(echo ${src_image} | awk -F"/" '{print $NF}')

#printf 'SOURCE[%s] \n' "${src_image}" >> ${OUT}
#printf 'TARGET[%s] \n' "${tgt_image}" >> ${OUT}

${WLSIMG_BUILDER} pull ${src_image} || true
sid=$(${WLSIMG_BUILDER} images ${src_image} -q)
if [ "x$sid" == "x" ] ; then
printf 'Could not download Source Image [%s] \n' ${src_image}
exit -1
fi

${WLSIMG_BUILDER} pull ${tgt_image} || true
tid=$(${WLSIMG_BUILDER} images ${tgt_image} -q)
if [ -z ${tid} ]; then
printf 'Could not download Target Image [%s] \n' ${tgt_image}
if [ ${DRY_RUN} != "true" ]; then
${WLSIMG_BUILDER} tag ${src_image} ${tgt_image}
${WLSIMG_BUILDER} push ${tgt_image}
${WLSIMG_BUILDER} rmi -f ${src_image}
${WLSIMG_BUILDER} rmi -f ${tgt_image}
printf 'MISSING Uploaded missing [%s] to Target \n' "${image}" >> ${OUT}
else
printf 'MISSING [%s] image on Target Repositoty \n' "${image}" >> ${OUT}
fi
fi

# Compare the images id(s)
# Update the image if needed based on id comparision
if [ ! -z ${tid} ] && [ ! -z ${sid} ]; then
#printf 'SOURCE_IMAGEID[%s] TARGET_IMAGEID[%s]\n' "${sid}" "${tid}" >> ${OUT}
if [ ${tid} == ${sid} ]; then
printf 'SKIP [%s] image is up-to-date \n' "${image}" >> ${OUT}
else
td=$(date "+%Y-%m-%d")
printf 'UPDATE [%s] image updated \n' "${image}" >> ${OUT}
if [ ${DRY_RUN} != "true" ]; then
printf 'Updating image [%s] on Target \n' "${image}" >> ${OUT}
${WLSIMG_BUILDER} rmi -f ${tgt_image}
${WLSIMG_BUILDER} tag ${src_image} ${tgt_image}
${WLSIMG_BUILDER} push ${tgt_image}
${WLSIMG_BUILDER} rmi -f ${src_image}
${WLSIMG_BUILDER} rmi -f ${tgt_image}
else
printf 'UPDATE [%s] image updated \n' "${image}" >> ${OUT}
fi
fi
fi
printf '\n' >> ${OUT}
}

repoPullPushImages() {
file="images.properties"
grep -E -v '^#' $file | grep -v "^$" |
pullPushImages() {
grep -E -v '^#' ${1} | grep -v "^$" |
while IFS=";" read -r f1 f2
do
# printf 'Source Location : [%s], Target: [%s] \n' "$f1" "$f2"
repoPullPushImage $f1 $f2
#printf 'Source Location : [%s], Target: [%s] \n' "$f1" "$f2"
pullPushImage $f1 $f2
done
}

#MAIN

if [ $# -ge 1 ]; then
echo "Export the following Environment varaiables before running the script"
echo " SOURCE_REPO(ocr), SOURCE_USER, SOURCE_PASSWORD (Base Image repository)"
echo " TARGET_REPO(ocir), TARGET_USER, TARGET_PASSWORD (Target Image repository)"
echo " SOURCE_REPO(ocr),SOURCE_USER,SOURCE_PASSWORD (Source Image repository)"
echo " TARGET_REPO(ocir),TARGET_USER,TARGET_PASSWORD(Target Image repository)"
echo " PROP_FILE(images.properties) The image properties file to be loaded"
exit 0
fi

OUT=update.out
echo -e "#### Image Upgrade Status on [`date`] \n" > ${OUT}

SOURCE_REPO=${SOURCE_REPO:-container-registry.oracle.com}
SOURCE_USER=${SOURCE_USER:-oracle}
SOURCE_PASSWORD=${SOURCE_PASSWORD:-changeme}
Expand All @@ -75,6 +114,14 @@ TARGET_USER=${TARGET_USER:-oracle}
TARGET_PASSWORD=${TARGET_PASSWORD:-changeme}

DRY_RUN=${DRY_RUN:-false}
PROP_FILE=${PROP_FILE:-images.properties}

if [ -f ${PROP_FILE} ]; then
echo "Loading the Image properties file [${PROP_FILE}]"
else
echo "Could not load Image properties file [${PROP_FILE}]"
exit -1
fi

echo "SOURCE_REPO[$SOURCE_REPO] and TARGET_REPO[${TARGET_REPO}]"

Expand All @@ -83,5 +130,6 @@ if [ ${SOURCE_REPO} == ${TARGET_REPO} ]; then
exit -1
fi

repoLogin
repoPullPushImages
login
pullPushImages ${PROP_FILE}
cat ${OUT}