@@ -131,6 +131,7 @@ functions:
131
131
PROJECT_DIRECTORY: "$PROJECT_DIRECTORY"
132
132
PREPARE_SHELL: |
133
133
set -o errexit
134
+ export SKIP_LEGACY_SHELL=1
134
135
export GOROOT="$GOROOT"
135
136
export GOPATH="$GOPATH"
136
137
export GOCACHE="$GOCACHE"
@@ -709,69 +710,29 @@ functions:
709
710
fi
710
711
711
712
add-aws-auth-variables-to-file :
712
- - command : shell.exec
713
- type : test
713
+ - command : ec2.assume_role
714
714
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}
744
716
- command : shell.exec
745
717
type : test
746
718
params :
719
+ include_expansions_in_env : ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
747
720
shell : " bash"
748
721
working_dir : " src"
749
722
script : |
750
723
${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 :
767
728
- command : shell.exec
768
729
type : test
769
730
params :
770
731
shell : " bash"
771
732
working_dir : " src"
772
733
script : |
773
734
${PREPARE_SHELL}
774
- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
735
+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh regular
775
736
776
737
run-aws-auth-test-with-assume-role-credentials :
777
738
- command : shell.exec
@@ -781,36 +742,7 @@ functions:
781
742
working_dir : " src"
782
743
script : |
783
744
${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
814
746
815
747
run-aws-auth-test-with-aws-EC2-credentials :
816
748
- command : shell.exec
@@ -824,70 +756,27 @@ functions:
824
756
echo "This platform does not support the EC2 auth test, skipping..."
825
757
exit 0
826
758
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
845
760
846
761
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
859
762
- command : shell.exec
860
763
type : test
861
764
params :
862
765
shell : " bash"
863
766
working_dir : " src"
864
767
script : |
865
768
${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
867
770
868
771
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
883
772
- command : shell.exec
884
773
type : test
885
774
params :
886
775
shell : " bash"
887
776
working_dir : " src"
888
777
script : |
889
778
${PREPARE_SHELL}
890
- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
779
+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh session-creds
891
780
892
781
run-aws-ECS-auth-test :
893
782
- command : shell.exec
@@ -919,14 +808,9 @@ functions:
919
808
cp ${PROJECT_DIRECTORY}/main $ECS_SRC_DIR
920
809
cp ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-ecs-test.sh $ECS_SRC_DIR/.evergreen
921
810
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
930
814
931
815
run-aws-auth-test-with-aws-web-identity-credentials :
932
816
- command : shell.exec
@@ -940,56 +824,7 @@ functions:
940
824
echo "This platform does not support the web identity auth test, skipping..."
941
825
exit 0
942
826
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
993
828
- command : shell.exec
994
829
type : test
995
830
params :
@@ -1001,7 +836,8 @@ functions:
1001
836
echo "This platform does not support the web identity auth test, skipping..."
1002
837
exit 0
1003
838
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
1005
841
1006
842
start-kms-mock-server :
1007
843
- command : shell.exec
0 commit comments