github.com/Venafi/vcert/v5@v5.10.2/aruba/cucumber.sh (about) 1 #!/bin/bash 2 set -ex 3 echo "Using token $TPP_ACCESS_TOKEN" 4 5 RUN_COMMAND="docker run -t --rm \ 6 -e TPP_URL \ 7 -e TPP_USER \ 8 -e TPP_TRUST_BUNDLE \ 9 -e TPP_PASSWORD \ 10 -e TPP_ACCESS_TOKEN \ 11 -e TPP_ZONE \ 12 -e TPP_ZONE_ECDSA \ 13 -e CLOUD_URL \ 14 -e CLOUD_APIKEY \ 15 -e CLOUD_ZONE \ 16 -e VAAS_ZONE_EC \ 17 -e TPP_IP \ 18 -e TPP_CN \ 19 -e OKTA_CLIENT_ID \ 20 -e OKTA_CLIENT_ID_PASS \ 21 -e OKTA_AUTH_SERVER \ 22 -e OKTA_CLIENT_SECRET \ 23 -e IDP_ACCESS_TOKEN \ 24 -e OKTA_CREDS_USR \ 25 -e OKTA_CREDS_PSW \ 26 -e OKTA_SCOPE \ 27 -e FIREFLY_ZONE \ 28 -e FIREFLY_URL \ 29 -e FIREFLY_CA_BUNDLE \ 30 -e GCP_AUTH_PATH \ 31 -e GCP_PROJECT \ 32 -e GCP_REGION \ 33 -e GCP_PROVIDER_NAME \ 34 -e GCP_KEYSTORE_NAME \ 35 -e GCP_KEYSTORE_ID \ 36 -e AWS_ACCESS_KEY_ID \ 37 -e AWS_REGION \ 38 -e AWS_SECRET_ACCESS_KEY \ 39 -e AWS_PROVIDER_NAME \ 40 -e AWS_KEYSTORE_NAME \ 41 -e AWS_KEYSTORE_ID \ 42 -e AZURE_CLIENT_ID \ 43 -e AZURE_CLIENT_SECRET \ 44 -e AZURE_TENANT_ID \ 45 -e AZURE_KEYVAULT_NAME \ 46 -e AZURE_PROVIDER_NAME \ 47 -e AZURE_KEYSTORE_NAME \ 48 -e AZURE_KEYSTORE_ID" 49 50 # Use getopts to handle command-line options 51 while getopts "a:b:" opt; do 52 case "$opt" in 53 a) FEATURE="$OPTARG";; 54 b) PLATFORM="$OPTARG";; 55 \?) echo "Invalid option -$OPTARG" >&2 56 exit 1;; 57 esac 58 done 59 60 if [ "$PLATFORM" != "" ] ; then 61 export TAGS="--tags @$PLATFORM" 62 RUN_COMMAND="${RUN_COMMAND} \ 63 -e TAGS" 64 fi 65 66 RUN_COMMAND="${RUN_COMMAND} \ 67 -e FILE_PATH vcert.auto" 68 69 # which has been replaced with command -v. This is because which is not as portable as command -v 70 # when it comes to locating executables, especially in non-interactive shells. 71 PARALLEL_PATH="" 72 if [ "$(command -v parallel)" ]; then 73 PARALLEL_PATH=$(command -v parallel) 74 fi 75 76 if [ "$FEATURE" != "" ]; then 77 echo One-feature run 78 export FILE_PATH=$FEATURE 79 $RUN_COMMAND "$FEATURE" 80 # if "GNU parallel" is installed and Parallel is enabled (you must export the PARALLEL_SET env variable, 81 # so it can reach at the shell execution) 82 # This will create a heavy load of certificates in parallel. TPP is not able to handle those yet. 83 elif [ "$PARALLEL_PATH" != "" ] && [ "$PARALLEL_SET" == "true" ]; then 84 echo Parallel... 85 # here we are are invoking parallel 86 which parallel 87 FEATURES="" 88 for F in `find features/ -type f -name '*.feature'`; do 89 FEATURES="$FEATURES $F" 90 done 91 parallel -j 20 "$RUN_COMMAND" ::: "$FEATURES" 92 else 93 echo Sequential... 94 hostname; 95 $RUN_COMMAND 96 fi