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}