github.com/verrazzano/verrazzano@v1.7.1/tools/scripts/generate_bom.sh (about) 1 #!/usr/bin/env bash 2 # 3 # Copyright (c) 2021, 2023, Oracle and/or its affiliates. 4 # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. 5 # 6 7 SCRIPT_DIR=$(cd $(dirname "$0"); pwd -P) 8 9 if [ ! -f "$1" ]; then 10 echo "You must specify the BOM file as input" 11 exit 1 12 fi 13 BOM_FILE=$1 14 15 if [ -z "$2" ]; then 16 echo "You must specify the Version" 17 exit 1 18 fi 19 VERRAZZANO_VERSION=$2 20 21 VERRAZZANO_APPLICATION_OPERATOR_IMAGE=$3 22 if [ -z "${VERRAZZANO_APPLICATION_OPERATOR_IMAGE}" ]; then 23 echo "You must specify the Application Operator Image" 24 exit 1 25 fi 26 27 VERRAZZANO_CLUSTER_OPERATOR_IMAGE=$4 28 if [ -z "${VERRAZZANO_CLUSTER_OPERATOR_IMAGE}" ]; then 29 echo "You must specify the Cluster Operator Image Name" 30 exit 1 31 fi 32 33 VERRAZZANO_AUTHPROXY_IMAGE=$5 34 if [ -z "${VERRAZZANO_AUTHPROXY_IMAGE}" ]; then 35 echo "You must specify the Auth Proxy Image Name" 36 exit 1 37 fi 38 39 VERRAZZANO_PLATFORM_OPERATOR_IMAGE_NAME=$6 40 if [ -z "${VERRAZZANO_PLATFORM_OPERATOR_IMAGE_NAME}" ]; then 41 echo "You must specify the Platform Operator Image Name" 42 exit 1 43 fi 44 45 IMAGE_TAG=$7 46 if [ -z "${IMAGE_TAG}" ]; then 47 echo "You must specify the Image Tag" 48 exit 1 49 fi 50 51 GENERATED_BOM_FILE=$8 52 if [ -z "${GENERATED_BOM_FILE}" ]; then 53 echo "You must specify the BOM filename as output" 54 exit 1 55 fi 56 57 cp ${BOM_FILE} ${GENERATED_BOM_FILE} 58 59 # Update the BOM file for the application operator and platform operator images. 60 # The application operator image can be supplied as the image or image:tag, if it is image only the same tag will be used for both operators 61 # The platform operator image and tag are supplied separately 62 regex=".*:.*" 63 if [[ ${VERRAZZANO_APPLICATION_OPERATOR_IMAGE} =~ $regex ]] ; then 64 sed -i"" -e "s|VERRAZZANO_APPLICATION_OPERATOR_IMAGE|$(echo ${VERRAZZANO_APPLICATION_OPERATOR_IMAGE} | rev | cut -d / -f 1 | rev | cut -d : -f 1)|g" ${GENERATED_BOM_FILE} 65 sed -i"" -e "s|VERRAZZANO_APPLICATION_OPERATOR_TAG|$(echo ${VERRAZZANO_APPLICATION_OPERATOR_IMAGE}:UNDEFINED | rev | cut -d / -f 1 | rev | cut -d : -f 2)|g" ${GENERATED_BOM_FILE} 66 else 67 sed -i"" -e "s|VERRAZZANO_APPLICATION_OPERATOR_IMAGE|${VERRAZZANO_APPLICATION_OPERATOR_IMAGE}|g" ${GENERATED_BOM_FILE} 68 sed -i"" -e "s|VERRAZZANO_APPLICATION_OPERATOR_TAG|${IMAGE_TAG}|g" ${GENERATED_BOM_FILE} 69 fi 70 if [[ ${VERRAZZANO_CLUSTER_OPERATOR_IMAGE} =~ $regex ]] ; then 71 sed -i"" -e "s|VERRAZZANO_CLUSTER_OPERATOR_IMAGE|$(echo ${VERRAZZANO_CLUSTER_OPERATOR_IMAGE} | rev | cut -d / -f 1 | rev | cut -d : -f 1)|g" ${GENERATED_BOM_FILE} 72 sed -i"" -e "s|VERRAZZANO_CLUSTER_OPERATOR_TAG|$(echo ${VERRAZZANO_CLUSTER_OPERATOR_IMAGE}:UNDEFINED | rev | cut -d / -f 1 | rev | cut -d : -f 2)|g" ${GENERATED_BOM_FILE} 73 else 74 sed -i"" -e "s|VERRAZZANO_CLUSTER_OPERATOR_IMAGE|${VERRAZZANO_CLUSTER_OPERATOR_IMAGE}|g" ${GENERATED_BOM_FILE} 75 sed -i"" -e "s|VERRAZZANO_CLUSTER_OPERATOR_TAG|${IMAGE_TAG}|g" ${GENERATED_BOM_FILE} 76 fi 77 if [[ ${VERRAZZANO_AUTHPROXY_IMAGE} =~ $regex ]] ; then 78 sed -i"" -e "s|VERRAZZANO_AUTHPROXY_IMAGE|$(echo ${VERRAZZANO_AUTHPROXY_IMAGE} | rev | cut -d / -f 1 | rev | cut -d : -f 1)|g" ${GENERATED_BOM_FILE} 79 sed -i"" -e "s|VERRAZZANO_AUTHPROXY_TAG|$(echo ${VERRAZZANO_AUTHPROXY_IMAGE}:UNDEFINED | rev | cut -d / -f 1 | rev | cut -d : -f 2)|g" ${GENERATED_BOM_FILE} 80 else 81 sed -i"" -e "s|VERRAZZANO_AUTHPROXY_IMAGE|${VERRAZZANO_AUTHPROXY_IMAGE}|g" ${GENERATED_BOM_FILE} 82 sed -i"" -e "s|VERRAZZANO_AUTHPROXY_TAG|${IMAGE_TAG}|g" ${GENERATED_BOM_FILE} 83 fi 84 sed -i"" -e "s|VERRAZZANO_PLATFORM_OPERATOR_IMAGE|${VERRAZZANO_PLATFORM_OPERATOR_IMAGE_NAME}|g" ${GENERATED_BOM_FILE} 85 sed -i"" -e "s|VERRAZZANO_PLATFORM_OPERATOR_TAG|${IMAGE_TAG}|g" ${GENERATED_BOM_FILE} 86 sed -i"" -e "s|VERRAZZANO_VERSION|${VERRAZZANO_VERSION}|g" ${GENERATED_BOM_FILE}