github.com/verrazzano/verrazzano@v1.7.1/tests/e2e/config/scripts/create-test-oci-config-secret.sh (about)

     1  #!/bin/bash
     2  #
     3  # Copyright (c) 2020, 2022, 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  set -e
     8  
     9  TMP_DIR=$(mktemp -d)
    10  trap 'rc=$?; rm -rf ${TMP_DIR} || true' EXIT
    11  
    12  if [ "${OCI_DNS_AUTH}" != "instance_principal" ]; then
    13    # perform these validations when instance principal is not used
    14    # Validate expected environment variables exist
    15    if [ -z "${OCI_CLI_REGION}" ]; then
    16      echo "OCI_CLI_REGION environment variable must be set"
    17      exit 1
    18    fi
    19    if [ -z "${OCI_CLI_TENANCY}" ]; then
    20      echo "OCI_CLI_TENANCY environment variable must be set"
    21      exit 1
    22    fi
    23    if [ -z "${OCI_CLI_USER}" ]; then
    24      echo "OCI_CLI_USER environment variable must be set"
    25      exit 1
    26    fi
    27    if [ -z "${OCI_CLI_FINGERPRINT}" ]; then
    28      echo "OCI_CLI_FINGERPRINT environment variable must be set"
    29      exit 1
    30    fi
    31    if [ -z "${OCI_CLI_KEY_FILE}" ]; then
    32      echo "OCI_CLI_KEY_FILE environment variable must be set"
    33      exit 1
    34    fi
    35  fi
    36  
    37  if [ -z "$WORKSPACE" ] ; then
    38    echo "This script must only be called from Jenkins and requires environment variable WORKSPACE is set"
    39    exit 1
    40  fi
    41  
    42  # Copy/download the create_oci_config_secret.sh to WORKSPACE and run it as a standalone script
    43  cp ${WORKSPACE}/platform-operator/scripts/install/create_oci_config_secret.sh ${WORKSPACE}/create_oci_config_secret.sh
    44  chmod +x ${WORKSPACE}/create_oci_config_secret.sh
    45  
    46  if [ "${OCI_DNS_AUTH}" != "instance_principal" ]; then
    47    OUTPUT_FILE="$TMP_DIR/oci_config"
    48    KEY_FILE="$TMP_DIR/oci_key"
    49    echo "[DEFAULT]" > $OUTPUT_FILE
    50    echo "#region=someregion.region.com" >> $OUTPUT_FILE
    51    echo "#tenancy=OCID of the tenancy" >> $OUTPUT_FILE
    52    echo "#user=" >> $OUTPUT_FILE
    53    echo "region=${OCI_CLI_REGION}" >> $OUTPUT_FILE
    54    echo "tenancy=${OCI_CLI_TENANCY}" >> $OUTPUT_FILE
    55    echo "user=${OCI_CLI_USER}" >> $OUTPUT_FILE
    56    echo "fingerprint=${OCI_CLI_FINGERPRINT}" >> $OUTPUT_FILE
    57    if [[ ! -z "${OCI_PRIVATE_KEY_PASSPHRASE}" ]]; then
    58      echo "  passphrase: ${OCI_PRIVATE_KEY_PASSPHRASE}" >> $OUTPUT_FILE
    59    fi
    60    echo "key_file=$KEY_FILE" >> $OUTPUT_FILE
    61    cat ${OCI_CLI_KEY_FILE} > $KEY_FILE
    62    echo "Creating the secret with auth_type user_principal"
    63    ${WORKSPACE}/create_oci_config_secret.sh -o ${OUTPUT_FILE}
    64  else
    65    echo "Creating the secret with auth_type instance_principal"
    66    ${WORKSPACE}/create_oci_config_secret.sh -a instance_principal
    67  fi