@@ -131,6 +131,7 @@ functions:
131131 PROJECT_DIRECTORY: "$PROJECT_DIRECTORY"
132132 PREPARE_SHELL: |
133133 set -o errexit
134+ export SKIP_LEGACY_SHELL=1
134135 export GOROOT="$GOROOT"
135136 export GOPATH="$GOPATH"
136137 export GOCACHE="$GOCACHE"
@@ -709,69 +710,29 @@ functions:
709710 fi
710711
711712 add-aws-auth-variables-to-file :
712- - command : shell.exec
713- type : test
713+ - command : ec2.assume_role
714714 params :
715- shell : " bash"
716- working_dir : " src"
717- silent : true
718- script : |
719- cat <<EOF > ${DRIVERS_TOOLS}/.evergreen/auth_aws/aws_e2e_setup.json
720- {
721- "iam_auth_ecs_account" : "${iam_auth_ecs_account}",
722- "iam_auth_ecs_secret_access_key" : "${iam_auth_ecs_secret_access_key}",
723- "iam_auth_ecs_account_arn": "arn:aws:iam::557821124784:user/authtest_fargate_user",
724- "iam_auth_ecs_cluster": "${iam_auth_ecs_cluster}",
725- "iam_auth_ecs_task_definition": "${iam_auth_ecs_task_definition_ubuntu2004}",
726- "iam_auth_ecs_subnet_a": "${iam_auth_ecs_subnet_a}",
727- "iam_auth_ecs_subnet_b": "${iam_auth_ecs_subnet_b}",
728- "iam_auth_ecs_security_group": "${iam_auth_ecs_security_group}",
729- "iam_auth_assume_aws_account" : "${iam_auth_assume_aws_account}",
730- "iam_auth_assume_aws_secret_access_key" : "${iam_auth_assume_aws_secret_access_key}",
731- "iam_auth_assume_role_name" : "${iam_auth_assume_role_name}",
732- "iam_auth_ec2_instance_account" : "${iam_auth_ec2_instance_account}",
733- "iam_auth_ec2_instance_secret_access_key" : "${iam_auth_ec2_instance_secret_access_key}",
734- "iam_auth_ec2_instance_profile" : "${iam_auth_ec2_instance_profile}",
735- "iam_auth_assume_web_role_name": "${iam_auth_assume_web_role_name}",
736- "iam_web_identity_issuer": "${iam_web_identity_issuer}",
737- "iam_web_identity_rsa_key": "${iam_web_identity_rsa_key}",
738- "iam_web_identity_jwks_uri": "${iam_web_identity_jwks_uri}",
739- "iam_web_identity_token_file": "${iam_web_identity_token_file}"
740- }
741- EOF
742-
743- run-aws-auth-test-with-regular-aws-credentials :
715+ role_arn : ${aws_test_secrets_role}
744716 - command : shell.exec
745717 type : test
746718 params :
719+ include_expansions_in_env : ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
747720 shell : " bash"
748721 working_dir : " src"
749722 script : |
750723 ${PREPARE_SHELL}
751- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
752- . ./activate-authawsvenv.sh
753- mongo aws_e2e_regular_aws.js
754- - command : shell.exec
755- type : test
756- params :
757- shell : " bash"
758- working_dir : " src"
759- silent : true
760- script : |
761- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
762- alias urlencode='python3 -c "import sys, urllib.parse as ulp; sys.stdout.write(ulp.quote_plus(sys.argv[1]))"'
763- USER=$(urlencode ${iam_auth_ecs_account})
764- PASS=$(urlencode ${iam_auth_ecs_secret_access_key})
765- MONGODB_URI="mongodb://$USER:$PASS@localhost"
766- EOF
724+ cd $DRIVERS_TOOLS/.evergreen/auth_aws
725+ ./setup_secrets.sh drivers/aws_auth
726+
727+ run-aws-auth-test-with-regular-aws-credentials :
767728 - command : shell.exec
768729 type : test
769730 params :
770731 shell : " bash"
771732 working_dir : " src"
772733 script : |
773734 ${PREPARE_SHELL}
774- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
735+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh regular
775736
776737 run-aws-auth-test-with-assume-role-credentials :
777738 - command : shell.exec
@@ -781,36 +742,7 @@ functions:
781742 working_dir : " src"
782743 script : |
783744 ${PREPARE_SHELL}
784- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
785- . ./activate-authawsvenv.sh
786- mongo aws_e2e_assume_role.js
787- - command : shell.exec
788- type : test
789- params :
790- shell : " bash"
791- working_dir : " src"
792- silent : true
793- script : |
794- # DO NOT ECHO WITH XTRACE
795- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
796- alias urlencode='python3 -c "import sys, urllib.parse as ulp; sys.stdout.write(ulp.quote_plus(sys.argv[1]))"'
797- alias jsonkey='python3 -c "import json,sys;sys.stdout.write(json.load(sys.stdin)[sys.argv[1]])" < ${DRIVERS_TOOLS}/.evergreen/auth_aws/creds.json'
798- USER=$(jsonkey AccessKeyId)
799- USER=$(urlencode $USER)
800- PASS=$(jsonkey SecretAccessKey)
801- PASS=$(urlencode $PASS)
802- SESSION_TOKEN=$(jsonkey SessionToken)
803- SESSION_TOKEN=$(urlencode $SESSION_TOKEN)
804- MONGODB_URI="mongodb://$USER:$PASS@localhost"
805- EOF
806- - command : shell.exec
807- type : test
808- params :
809- shell : " bash"
810- working_dir : " src"
811- script : |
812- ${PREPARE_SHELL}
813- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
745+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh assume-role
814746
815747 run-aws-auth-test-with-aws-EC2-credentials :
816748 - command : shell.exec
@@ -824,70 +756,27 @@ functions:
824756 echo "This platform does not support the EC2 auth test, skipping..."
825757 exit 0
826758 fi
827- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
828- . ./activate-authawsvenv.sh
829- mongo aws_e2e_ec2.js
830- - command : shell.exec
831- type : test
832- params :
833- shell : " bash"
834- working_dir : " src"
835- script : |
836- ${PREPARE_SHELL}
837- if [ "${SKIP_EC2_AUTH_TEST}" = "true" ]; then
838- exit 0
839- fi
840-
841- # Truncate "prepare_mongodb_aws.sh" to zero length. If file not present, creates zero-length file.
842- : > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
843-
844- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
759+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh ec2
845760
846761 run-aws-auth-test-with-aws-credentials-as-environment-variables :
847- - command : shell.exec
848- type : test
849- params :
850- shell : " bash"
851- working_dir : " src"
852- silent : true
853- script : |
854- # DO NOT ECHO WITH XTRACE
855- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
856- export AWS_ACCESS_KEY_ID=${iam_auth_ecs_account}
857- export AWS_SECRET_ACCESS_KEY=${iam_auth_ecs_secret_access_key}
858- EOF
859762 - command : shell.exec
860763 type : test
861764 params :
862765 shell : " bash"
863766 working_dir : " src"
864767 script : |
865768 ${PREPARE_SHELL}
866- PROJECT_DIRECTORY= ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY} /.evergreen/run-mongodb-aws-test.sh
769+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh env-creds
867770
868771 run-aws-auth-test-with-aws-credentials-and-session-token-as-environment-variables :
869- - command : shell.exec
870- type : test
871- params :
872- shell : " bash"
873- working_dir : " src"
874- silent : true
875- script : |
876- # DO NOT ECHO WITH XTRACE
877- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
878- alias jsonkey='python -c "import json,sys;sys.stdout.write(json.load(sys.stdin)[sys.argv[1]])" < ${DRIVERS_TOOLS}/.evergreen/auth_aws/creds.json'
879- export AWS_ACCESS_KEY_ID=$(jsonkey AccessKeyId)
880- export AWS_SECRET_ACCESS_KEY=$(jsonkey SecretAccessKey)
881- export AWS_SESSION_TOKEN=$(jsonkey SessionToken)
882- EOF
883772 - command : shell.exec
884773 type : test
885774 params :
886775 shell : " bash"
887776 working_dir : " src"
888777 script : |
889778 ${PREPARE_SHELL}
890- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
779+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh session-creds
891780
892781 run-aws-ECS-auth-test :
893782 - command : shell.exec
@@ -919,14 +808,9 @@ functions:
919808 cp ${PROJECT_DIRECTORY}/main $ECS_SRC_DIR
920809 cp ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-ecs-test.sh $ECS_SRC_DIR/.evergreen
921810 tar -czf $ECS_SRC_DIR/src.tgz -C $PROJECT_DIRECTORY .
922- cd $AUTH_AWS_DIR
923- . ./activate-authawsvenv.sh
924- cat <<EOF > setup.js
925- const mongo_binaries = "$MONGODB_BINARIES";
926- const project_dir = "$ECS_SRC_DIR";
927- EOF
928- cat setup.js
929- mongo --nodb setup.js aws_e2e_ecs.js
811+
812+ export PROJECT_DIRECTORY="$ECS_SRC_DIR"
813+ $AUTH_AWS_DIR/aws_setup.sh ecs
930814
931815 run-aws-auth-test-with-aws-web-identity-credentials :
932816 - command : shell.exec
@@ -940,56 +824,7 @@ functions:
940824 echo "This platform does not support the web identity auth test, skipping..."
941825 exit 0
942826 fi
943- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
944- . ./activate_venv.sh
945- mongo aws_e2e_web_identity.js
946- - command : shell.exec
947- type : test
948- params :
949- shell : " bash"
950- working_dir : " src"
951- silent : true
952- script : |
953- if [ "${SKIP_WEB_IDENTITY_AUTH_TEST}" = "true" ]; then
954- echo "This platform does not support the web identity auth test, skipping..."
955- exit 0
956- fi
957- # DO NOT ECHO WITH XTRACE
958- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
959- export AWS_ROLE_ARN="${iam_auth_assume_web_role_name}"
960- export AWS_WEB_IDENTITY_TOKEN_FILE="${iam_web_identity_token_file}"
961- export MONGODB_URI="mongodb://localhost"
962- EOF
963- - command : shell.exec
964- type : test
965- params :
966- shell : " bash"
967- working_dir : " src"
968- script : |
969- ${PREPARE_SHELL}
970- if [ "${SKIP_WEB_IDENTITY_AUTH_TEST}" = "true" ]; then
971- echo "This platform does not support the web identity auth test, skipping..."
972- exit 0
973- fi
974- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
975- - command : shell.exec
976- type : test
977- params :
978- shell : " bash"
979- working_dir : " src"
980- silent : true
981- script : |
982- if [ "${SKIP_WEB_IDENTITY_AUTH_TEST}" = "true" ]; then
983- echo "This platform does not support the web identity auth test, skipping..."
984- exit 0
985- fi
986- # DO NOT ECHO WITH XTRACE
987- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
988- export AWS_ROLE_ARN="${iam_auth_assume_web_role_name}"
989- export AWS_WEB_IDENTITY_TOKEN_FILE="${iam_web_identity_token_file}"
990- export AWS_ROLE_SESSION_NAME="test"
991- export MONGODB_URI="mongodb://localhost"
992- EOF
827+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh web-identity
993828 - command : shell.exec
994829 type : test
995830 params :
@@ -1001,7 +836,8 @@ functions:
1001836 echo "This platform does not support the web identity auth test, skipping..."
1002837 exit 0
1003838 fi
1004- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
839+ export AWS_ROLE_SESSION_NAME="test"
840+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh web-identity
1005841
1006842 start-kms-mock-server :
1007843 - command : shell.exec
0 commit comments