@@ -112,6 +112,7 @@ functions:
112
112
PROJECT_DIRECTORY: "$PROJECT_DIRECTORY"
113
113
PREPARE_SHELL: |
114
114
set -o errexit
115
+ export SKIP_LEGACY_SHELL=1
115
116
export GOROOT="$GOROOT"
116
117
export GOPATH="$GOPATH"
117
118
export GOCACHE="$GOCACHE"
@@ -724,69 +725,29 @@ functions:
724
725
fi
725
726
726
727
add-aws-auth-variables-to-file :
727
- - command : shell.exec
728
- type : test
728
+ - command : ec2.assume_role
729
729
params :
730
- shell : " bash"
731
- working_dir : " src"
732
- silent : true
733
- script : |
734
- cat <<EOF > ${DRIVERS_TOOLS}/.evergreen/auth_aws/aws_e2e_setup.json
735
- {
736
- "iam_auth_ecs_account" : "${iam_auth_ecs_account}",
737
- "iam_auth_ecs_secret_access_key" : "${iam_auth_ecs_secret_access_key}",
738
- "iam_auth_ecs_account_arn": "arn:aws:iam::557821124784:user/authtest_fargate_user",
739
- "iam_auth_ecs_cluster": "${iam_auth_ecs_cluster}",
740
- "iam_auth_ecs_task_definition": "${iam_auth_ecs_task_definition_ubuntu2004}",
741
- "iam_auth_ecs_subnet_a": "${iam_auth_ecs_subnet_a}",
742
- "iam_auth_ecs_subnet_b": "${iam_auth_ecs_subnet_b}",
743
- "iam_auth_ecs_security_group": "${iam_auth_ecs_security_group}",
744
- "iam_auth_assume_aws_account" : "${iam_auth_assume_aws_account}",
745
- "iam_auth_assume_aws_secret_access_key" : "${iam_auth_assume_aws_secret_access_key}",
746
- "iam_auth_assume_role_name" : "${iam_auth_assume_role_name}",
747
- "iam_auth_ec2_instance_account" : "${iam_auth_ec2_instance_account}",
748
- "iam_auth_ec2_instance_secret_access_key" : "${iam_auth_ec2_instance_secret_access_key}",
749
- "iam_auth_ec2_instance_profile" : "${iam_auth_ec2_instance_profile}",
750
- "iam_auth_assume_web_role_name": "${iam_auth_assume_web_role_name}",
751
- "iam_web_identity_issuer": "${iam_web_identity_issuer}",
752
- "iam_web_identity_rsa_key": "${iam_web_identity_rsa_key}",
753
- "iam_web_identity_jwks_uri": "${iam_web_identity_jwks_uri}",
754
- "iam_web_identity_token_file": "${iam_web_identity_token_file}"
755
- }
756
- EOF
757
-
758
- run-aws-auth-test-with-regular-aws-credentials :
730
+ role_arn : ${aws_test_secrets_role}
759
731
- command : shell.exec
760
732
type : test
761
733
params :
734
+ include_expansions_in_env : ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
762
735
shell : " bash"
763
736
working_dir : " src"
764
737
script : |
765
738
${PREPARE_SHELL}
766
- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
767
- . ./activate-authawsvenv.sh
768
- mongo aws_e2e_regular_aws.js
769
- - command : shell.exec
770
- type : test
771
- params :
772
- shell : " bash"
773
- working_dir : " src"
774
- silent : true
775
- script : |
776
- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
777
- alias urlencode='python3 -c "import sys, urllib.parse as ulp; sys.stdout.write(ulp.quote_plus(sys.argv[1]))"'
778
- USER=$(urlencode ${iam_auth_ecs_account})
779
- PASS=$(urlencode ${iam_auth_ecs_secret_access_key})
780
- MONGODB_URI="mongodb://$USER:$PASS@localhost"
781
- EOF
739
+ cd $DRIVERS_TOOLS/.evergreen/auth_aws
740
+ ./setup_secrets.sh drivers/aws_auth
741
+
742
+ run-aws-auth-test-with-regular-aws-credentials :
782
743
- command : shell.exec
783
744
type : test
784
745
params :
785
746
shell : " bash"
786
747
working_dir : " src"
787
748
script : |
788
749
${PREPARE_SHELL}
789
- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
750
+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh regular
790
751
791
752
run-aws-auth-test-with-assume-role-credentials :
792
753
- command : shell.exec
@@ -796,36 +757,7 @@ functions:
796
757
working_dir : " src"
797
758
script : |
798
759
${PREPARE_SHELL}
799
- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
800
- . ./activate-authawsvenv.sh
801
- mongo aws_e2e_assume_role.js
802
- - command : shell.exec
803
- type : test
804
- params :
805
- shell : " bash"
806
- working_dir : " src"
807
- silent : true
808
- script : |
809
- # DO NOT ECHO WITH XTRACE
810
- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
811
- alias urlencode='python3 -c "import sys, urllib.parse as ulp; sys.stdout.write(ulp.quote_plus(sys.argv[1]))"'
812
- alias jsonkey='python3 -c "import json,sys;sys.stdout.write(json.load(sys.stdin)[sys.argv[1]])" < ${DRIVERS_TOOLS}/.evergreen/auth_aws/creds.json'
813
- USER=$(jsonkey AccessKeyId)
814
- USER=$(urlencode $USER)
815
- PASS=$(jsonkey SecretAccessKey)
816
- PASS=$(urlencode $PASS)
817
- SESSION_TOKEN=$(jsonkey SessionToken)
818
- SESSION_TOKEN=$(urlencode $SESSION_TOKEN)
819
- MONGODB_URI="mongodb://$USER:$PASS@localhost"
820
- EOF
821
- - command : shell.exec
822
- type : test
823
- params :
824
- shell : " bash"
825
- working_dir : " src"
826
- script : |
827
- ${PREPARE_SHELL}
828
- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
760
+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh assume-role
829
761
830
762
run-aws-auth-test-with-aws-EC2-credentials :
831
763
- command : shell.exec
@@ -839,70 +771,27 @@ functions:
839
771
echo "This platform does not support the EC2 auth test, skipping..."
840
772
exit 0
841
773
fi
842
- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
843
- . ./activate-authawsvenv.sh
844
- mongo aws_e2e_ec2.js
845
- - command : shell.exec
846
- type : test
847
- params :
848
- shell : " bash"
849
- working_dir : " src"
850
- script : |
851
- ${PREPARE_SHELL}
852
- if [ "${SKIP_EC2_AUTH_TEST}" = "true" ]; then
853
- exit 0
854
- fi
855
-
856
- # Truncate "prepare_mongodb_aws.sh" to zero length. If file not present, creates zero-length file.
857
- : > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
858
-
859
- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
774
+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh ec2
860
775
861
776
run-aws-auth-test-with-aws-credentials-as-environment-variables :
862
- - command : shell.exec
863
- type : test
864
- params :
865
- shell : " bash"
866
- working_dir : " src"
867
- silent : true
868
- script : |
869
- # DO NOT ECHO WITH XTRACE
870
- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
871
- export AWS_ACCESS_KEY_ID=${iam_auth_ecs_account}
872
- export AWS_SECRET_ACCESS_KEY=${iam_auth_ecs_secret_access_key}
873
- EOF
874
777
- command : shell.exec
875
778
type : test
876
779
params :
877
780
shell : " bash"
878
781
working_dir : " src"
879
782
script : |
880
783
${PREPARE_SHELL}
881
- PROJECT_DIRECTORY= ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY} /.evergreen/run-mongodb-aws-test.sh
784
+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh env-creds
882
785
883
786
run-aws-auth-test-with-aws-credentials-and-session-token-as-environment-variables :
884
- - command : shell.exec
885
- type : test
886
- params :
887
- shell : " bash"
888
- working_dir : " src"
889
- silent : true
890
- script : |
891
- # DO NOT ECHO WITH XTRACE
892
- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
893
- alias jsonkey='python -c "import json,sys;sys.stdout.write(json.load(sys.stdin)[sys.argv[1]])" < ${DRIVERS_TOOLS}/.evergreen/auth_aws/creds.json'
894
- export AWS_ACCESS_KEY_ID=$(jsonkey AccessKeyId)
895
- export AWS_SECRET_ACCESS_KEY=$(jsonkey SecretAccessKey)
896
- export AWS_SESSION_TOKEN=$(jsonkey SessionToken)
897
- EOF
898
787
- command : shell.exec
899
788
type : test
900
789
params :
901
790
shell : " bash"
902
791
working_dir : " src"
903
792
script : |
904
793
${PREPARE_SHELL}
905
- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
794
+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh session-creds
906
795
907
796
run-aws-ECS-auth-test :
908
797
- command : shell.exec
@@ -934,14 +823,9 @@ functions:
934
823
cp ${PROJECT_DIRECTORY}/main $ECS_SRC_DIR
935
824
cp ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-ecs-test.sh $ECS_SRC_DIR/.evergreen
936
825
tar -czf $ECS_SRC_DIR/src.tgz -C $PROJECT_DIRECTORY .
937
- cd $AUTH_AWS_DIR
938
- . ./activate-authawsvenv.sh
939
- cat <<EOF > setup.js
940
- const mongo_binaries = "$MONGODB_BINARIES";
941
- const project_dir = "$ECS_SRC_DIR";
942
- EOF
943
- cat setup.js
944
- mongo --nodb setup.js aws_e2e_ecs.js
826
+
827
+ export PROJECT_DIRECTORY="$ECS_SRC_DIR"
828
+ $AUTH_AWS_DIR/aws_setup.sh ecs
945
829
946
830
run-aws-auth-test-with-aws-web-identity-credentials :
947
831
- command : shell.exec
@@ -955,56 +839,7 @@ functions:
955
839
echo "This platform does not support the web identity auth test, skipping..."
956
840
exit 0
957
841
fi
958
- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
959
- . ./activate_venv.sh
960
- mongo aws_e2e_web_identity.js
961
- - command : shell.exec
962
- type : test
963
- params :
964
- shell : " bash"
965
- working_dir : " src"
966
- silent : true
967
- script : |
968
- if [ "${SKIP_WEB_IDENTITY_AUTH_TEST}" = "true" ]; then
969
- echo "This platform does not support the web identity auth test, skipping..."
970
- exit 0
971
- fi
972
- # DO NOT ECHO WITH XTRACE
973
- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
974
- export AWS_ROLE_ARN="${iam_auth_assume_web_role_name}"
975
- export AWS_WEB_IDENTITY_TOKEN_FILE="${iam_web_identity_token_file}"
976
- export MONGODB_URI="mongodb://localhost"
977
- EOF
978
- - command : shell.exec
979
- type : test
980
- params :
981
- shell : " bash"
982
- working_dir : " src"
983
- script : |
984
- ${PREPARE_SHELL}
985
- if [ "${SKIP_WEB_IDENTITY_AUTH_TEST}" = "true" ]; then
986
- echo "This platform does not support the web identity auth test, skipping..."
987
- exit 0
988
- fi
989
- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
990
- - command : shell.exec
991
- type : test
992
- params :
993
- shell : " bash"
994
- working_dir : " src"
995
- silent : true
996
- script : |
997
- if [ "${SKIP_WEB_IDENTITY_AUTH_TEST}" = "true" ]; then
998
- echo "This platform does not support the web identity auth test, skipping..."
999
- exit 0
1000
- fi
1001
- # DO NOT ECHO WITH XTRACE
1002
- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
1003
- export AWS_ROLE_ARN="${iam_auth_assume_web_role_name}"
1004
- export AWS_WEB_IDENTITY_TOKEN_FILE="${iam_web_identity_token_file}"
1005
- export AWS_ROLE_SESSION_NAME="test"
1006
- export MONGODB_URI="mongodb://localhost"
1007
- EOF
842
+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh web-identity
1008
843
- command : shell.exec
1009
844
type : test
1010
845
params :
@@ -1016,7 +851,8 @@ functions:
1016
851
echo "This platform does not support the web identity auth test, skipping..."
1017
852
exit 0
1018
853
fi
1019
- ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh
854
+ export AWS_ROLE_SESSION_NAME="test"
855
+ ${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh web-identity
1020
856
1021
857
start-kms-mock-server :
1022
858
- command : shell.exec
0 commit comments