Skip to content

Instantly share code, notes, and snippets.

@kevinAlbs
Last active January 26, 2022 14:17
Show Gist options
  • Save kevinAlbs/844ea07d54b9edb119a2d23dff3830a4 to your computer and use it in GitHub Desktop.
Save kevinAlbs/844ea07d54b9edb119a2d23dff3830a4 to your computer and use it in GitHub Desktop.
A script for loading test CSFLE credentials for C and C++ driver tests.
export MONGOC_TEST_AWS_ACCESS_KEY_ID=$(cat ~/.csfle/kms_providers.json | jq -r ".aws.accessKeyId")
export MONGOC_TEST_AWS_SECRET_ACCESS_KEY=$(cat ~/.csfle/kms_providers.json | jq -r ".aws.secretAccessKey")
export MONGOC_TEST_MONGOCRYPTD_BYPASS_SPAWN=ON
export MONGOC_TEST_AZURE_TENANT_ID=$(cat ~/.csfle/kms_providers.json | jq -r ".azure.tenantId")
export MONGOC_TEST_AZURE_CLIENT_ID=$(cat ~/.csfle/kms_providers.json | jq -r ".azure.clientId")
export MONGOC_TEST_AZURE_CLIENT_SECRET=$(cat ~/.csfle/kms_providers.json | jq -r ".azure.clientSecret")
export MONGOC_TEST_GCP_EMAIL=$(cat ~/.csfle/kms_providers.json | jq -r ".gcp.email")
export MONGOC_TEST_GCP_PRIVATEKEY=$(cat ~/.csfle/kms_providers.json | jq -r ".gcp.privateKey")
TEMPCREDS=$(
AWS_ACCESS_KEY_ID=$MONGOC_TEST_AWS_ACCESS_KEY_ID \
AWS_SECRET_ACCESS_KEY=$MONGOC_TEST_AWS_SECRET_ACCESS_KEY \
AWS_DEFAULT_REGION=us-east-1 \
aws sts get-session-token
)
export MONGOC_TEST_AWS_TEMP_ACCESS_KEY_ID=$(echo $TEMPCREDS | jq -r ".Credentials.AccessKeyId")
export MONGOC_TEST_AWS_TEMP_SECRET_ACCESS_KEY=$(echo $TEMPCREDS | jq -r ".Credentials.SecretAccessKey")
export MONGOC_TEST_AWS_TEMP_SESSION_TOKEN=$(echo $TEMPCREDS | jq -r ".Credentials.SessionToken")
# Update the following paths to the checkout of https://github.com/mongodb-labs/drivers-evergreen-tools
export MONGOC_TEST_CSFLE_TLS_CA_FILE="/Users/kevin.albertson/code/drivers-evergreen-tools/.evergreen/x509gen/ca.pem"
export MONGOC_TEST_CSFLE_TLS_CERTIFICATE_KEY_FILE="/Users/kevin.albertson/code/drivers-evergreen-tools/.evergreen/x509gen/client.pem"
# Use the C++ driver aliases
export MONGOCXX_TEST_AWS_ACCESS_KEY_ID=$MONGOC_TEST_AWS_ACCESS_KEY_ID
export MONGOCXX_TEST_AWS_SECRET_ACCESS_KEY=$MONGOC_TEST_AWS_SECRET_ACCESS_KEY
export MONGOCXX_TEST_MONGOCRYPTD_BYPASS_SPAWN=$MONGOC_TEST_MONGOCRYPTD_BYPASS_SPAWN
export MONGOCXX_TEST_AZURE_TENANT_ID=$MONGOC_TEST_AZURE_TENANT_ID
export MONGOCXX_TEST_AZURE_CLIENT_ID=$MONGOC_TEST_AZURE_CLIENT_ID
export MONGOCXX_TEST_AZURE_CLIENT_SECRET=$MONGOC_TEST_AZURE_CLIENT_SECRET
export MONGOCXX_TEST_GCP_EMAIL=$MONGOC_TEST_GCP_EMAIL
export MONGOCXX_TEST_GCP_PRIVATEKEY=$MONGOC_TEST_GCP_PRIVATEKEY
export MONGOCXX_TEST_AWS_TEMP_ACCESS_KEY_ID=$MONGOC_TEST_AWS_TEMP_ACCESS_KEY_ID
export MONGOCXX_TEST_AWS_TEMP_SECRET_ACCESS_KEY=$MONGOC_TEST_AWS_TEMP_SECRET_ACCESS_KEY
export MONGOCXX_TEST_AWS_TEMP_SESSION_TOKEN=$MONGOC_TEST_AWS_TEMP_SESSION_TOKEN
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment