@@ -426,130 +426,56 @@ functions:
426426 MONGODB_URI="${plain_auth_mongodb_uri}" evergreen/run-plain-auth-tests.sh
427427
428428 add-aws-auth-variables-to-file :
429- - command : shell.exec
430- type : test
429+ - command : ec2.assume_role
431430 params :
432- working_dir : mongo-csharp-driver
433- silent : true
434- script : |
435- cat <<EOF > ${DRIVERS_TOOLS}/.evergreen/auth_aws/aws_e2e_setup.json
436- {
437- "iam_auth_ecs_account" : "${iam_auth_ecs_account}",
438- "iam_auth_ecs_secret_access_key" : "${iam_auth_ecs_secret_access_key}",
439- "iam_auth_ecs_account_arn": "arn:aws:iam::557821124784:user/authtest_fargate_user",
440- "iam_auth_ecs_cluster": "${iam_auth_ecs_cluster}",
441- "iam_auth_ecs_task_definition": "${iam_auth_ecs_task_definition}",
442- "iam_auth_ecs_subnet_a": "${iam_auth_ecs_subnet_a}",
443- "iam_auth_ecs_subnet_b": "${iam_auth_ecs_subnet_b}",
444- "iam_auth_ecs_security_group": "${iam_auth_ecs_security_group}",
445- "iam_auth_assume_aws_account" : "${iam_auth_assume_aws_account}",
446- "iam_auth_assume_aws_secret_access_key" : "${iam_auth_assume_aws_secret_access_key}",
447- "iam_auth_assume_role_name" : "${iam_auth_assume_role_name}",
448- "iam_auth_ec2_instance_account" : "${iam_auth_ec2_instance_account}",
449- "iam_auth_ec2_instance_secret_access_key" : "${iam_auth_ec2_instance_secret_access_key}",
450- "iam_auth_ec2_instance_profile" : "${iam_auth_ec2_instance_profile}",
451- "iam_auth_assume_web_role_name": "${iam_auth_assume_web_role_name}",
452- "iam_web_identity_issuer": "${iam_web_identity_issuer}",
453- "iam_web_identity_rsa_key": "${iam_web_identity_rsa_key}",
454- "iam_web_identity_jwks_uri": "${iam_web_identity_jwks_uri}",
455- "iam_web_identity_token_file": "${iam_web_identity_token_file}"
456- }
457- EOF
458-
459- run-aws-auth-test-with-regular-aws-credentials :
431+ role_arn : ${aws_test_secrets_role}
460432 - command : shell.exec
461433 type : test
462434 params :
463- silent : true
464435 shell : " bash"
465436 working_dir : mongo-csharp-driver
437+ include_expansions_in_env : ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
466438 script : |
467439 ${PREPARE_SHELL}
468- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
469- . ./activate-authawsvenv.sh
470- mongo aws_e2e_regular_aws.js
440+ cd $DRIVERS_TOOLS/.evergreen/auth_aws
441+ ./setup_secrets.sh drivers/aws_auth
442+
443+ run-aws-auth-test-with-regular-aws-credentials :
471444 - command : shell.exec
472445 type : test
473446 params :
447+ env :
448+ IAM_AUTH_ECS_ACCOUNT : ${iam_auth_ecs_account}
449+ IAM_AUTH_ECS_SECRET_ACCESS_KEY : ${iam_auth_ecs_secret_access_key}
474450 working_dir : mongo-csharp-driver
475- script : |
476- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
477- alias urlencode='${python3_binary} -c "import sys, urllib.parse as ulp; sys.stdout.write(ulp.quote_plus(sys.argv[1]))"'
478- USER=$(urlencode "${iam_auth_ecs_account}")
479- PASS=$(urlencode "${iam_auth_ecs_secret_access_key}")
480- MONGODB_URI="mongodb://$USER:$PASS@localhost"
481- EOF
482- PROJECT_DIRECTORY=${PROJECT_DIRECTORY} OS=${OS} evergreen/run-mongodb-aws-test.sh
451+ script :
452+ DRIVERS_TOOLS=${DRIVERS_TOOLS} OS=${OS} evergreen/run-mongodb-aws-test.sh regular
483453
484454 run-aws-auth-test-with-assume-role-credentials :
485455 - command : shell.exec
486456 type : test
487457 params :
488- silent : true
489- shell : " bash"
490458 working_dir : mongo-csharp-driver
491- script : |
492- ${PREPARE_SHELL}
493- # The aws_e2e_assume_role script requires python3 with boto3.
494- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
495- . ./activate-authawsvenv.sh
496- mongo aws_e2e_assume_role.js
497- - command : shell.exec
498- type : test
499- params :
500- working_dir : mongo-csharp-driver
501- script : |
502- # DO NOT ECHO WITH XTRACE (which PREPARE_SHELL does)
503- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
504- alias urlencode='${python3_binary} -c "import sys, urllib.parse as ulp; sys.stdout.write(ulp.quote_plus(sys.argv[1]))"'
505- alias jsonkey='${python3_binary} -c "import json,sys;sys.stdout.write(json.load(sys.stdin)[sys.argv[1]])" < ${DRIVERS_TOOLS}/.evergreen/auth_aws/creds.json'
506- USER=$(jsonkey AccessKeyId)
507- USER=$(urlencode $USER)
508- PASS=$(jsonkey SecretAccessKey)
509- PASS=$(urlencode $PASS)
510- SESSION_TOKEN=$(jsonkey SessionToken)
511- SESSION_TOKEN=$(urlencode $SESSION_TOKEN)
512- MONGODB_URI="mongodb://$USER:$PASS@localhost"
513- EOF
514- PROJECT_DIRECTORY=${PROJECT_DIRECTORY} DRIVERS_TOOLS=${DRIVERS_TOOLS} OS=${OS} evergreen/run-mongodb-aws-test.sh
459+ script :
460+ DRIVERS_TOOLS=${DRIVERS_TOOLS} OS=${OS} evergreen/run-mongodb-aws-test.sh assume-role
515461
516462 run-aws-auth-test-with-aws-EC2-credentials :
517463 - command : shell.exec
518464 type : test
519465 params :
520- silent : true
521- shell : " bash"
522466 working_dir : mongo-csharp-driver
523467 script : |
524468 ${PREPARE_SHELL}
525469 if [ "${skip_EC2_auth_test}" = "true" ]; then
526- echo "This platform does not support the EC2 auth test, skipping..."
527- exit 0
528- fi
529- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
530- . ./activate-authawsvenv.sh
531- mongo aws_e2e_ec2.js
532- - command : shell.exec
533- type : test
534- params :
535- working_dir : mongo-csharp-driver
536- script : |
537- if [ "${skip_EC2_auth_test}" = "true" ]; then
538- echo "This platform does not support the EC2 auth test, skipping..."
539- exit 0
470+ echo "This platform does not support the EC2 auth test, skipping..."
471+ exit 0
540472 fi
541- # DO NOT ECHO WITH XTRACE (which PREPARE_SHELL does)
542- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
543- MONGODB_URI="mongodb://localhost"
544- EOF
545- export AWS_EC2_ENABLED=true
546- PROJECT_DIRECTORY=${PROJECT_DIRECTORY} ASSERT_NO_URI_CREDS=true OS=$OS evergreen/run-mongodb-aws-test.sh
473+ DRIVERS_TOOLS=${DRIVERS_TOOLS} OS=${OS} ASSERT_NO_URI_CREDS=true evergreen/run-mongodb-aws-test.sh ec2
547474
548475 run-aws-auth-test-with-aws-ECS-credentials :
549476 - command : shell.exec
550477 type : test
551478 params :
552- silent : true
553479 shell : " bash"
554480 working_dir : mongo-csharp-driver
555481 script : |
@@ -558,8 +484,6 @@ functions:
558484 echo "This platform does not support the ECS auth test, skipping..."
559485 exit 0
560486 fi
561- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
562- . ./activate-authawsvenv.sh
563487 echo "Project Directory: $PROJECT_DIRECTORY"
564488 # SRC_DIRECTORY is workaround since EG_TOOLS expects "src" folder as a root
565489 SRC_DIRECTORY=$(dirname $PROJECT_DIRECTORY)/src
@@ -568,127 +492,54 @@ functions:
568492 # Workaround. EG_TOOLS scripts for ECS assume that a folder with EG scripts in the driver is named ".evergreen"
569493 mkdir $SRC_DIRECTORY/.evergreen
570494 cp -r $SRC_DIRECTORY/evergreen/run-mongodb-aws-ecs-test.sh $SRC_DIRECTORY/.evergreen/run-mongodb-aws-ecs-test.sh
571- cat <<EOF > setup.js
572- const mongo_binaries = "$MONGODB_BINARIES";
573- const project_dir = "$SRC_DIRECTORY"
574- EOF
575- mongo --nodb setup.js aws_e2e_ecs.js
576- cd -
495+
496+ export PROJECT_DIRECTORY="$SRC_DIRECTORY"
497+ ${DRIVERS_TOOLS}/.evergreen/auth_aws/aws_setup.sh ecs
577498
578499 run-aws-auth-test-with-aws-web-identity-credentials :
579500 - command : shell.exec
580501 type : test
581502 params :
582- shell : " bash"
583503 working_dir : mongo-csharp-driver
584504 script : |
585505 ${PREPARE_SHELL}
586506 if [ "${skip_web_identity_auth_test}" = "true" ]; then
587507 echo "This platform does not support the web identity auth test, skipping..."
588508 exit 0
589509 fi
590- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
591- . ./activate-authawsvenv.sh
592- mongo aws_e2e_web_identity.js
593- - command : shell.exec
594- type : test
595- params :
596- working_dir : mongo-csharp-driver
597- silent : true
598- script : |
599- if [ "${skip_web_identity_auth_test}" = "true" ]; then
600- echo "This platform does not support the web identity auth test, skipping..."
601- exit 0
602- fi
603- # DO NOT ECHO WITH XTRACE (which PREPARE_SHELL does)
604- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
605- export AWS_ROLE_ARN="${iam_auth_assume_web_role_name}"
606- export AWS_WEB_IDENTITY_TOKEN_FILE="${iam_web_identity_token_file}"
607- export MONGODB_URI="mongodb://localhost"
608- EOF
609- - command : shell.exec
610- type : test
611- params :
612- working_dir : mongo-csharp-driver
613- script : |
614- ${PREPARE_SHELL}
615- if [ "${skip_web_identity_auth_test}" = "true" ]; then
616- echo "This platform does not support the web identity auth test, skipping..."
617- exit 0
618- fi
619- PROJECT_DIRECTORY=${PROJECT_DIRECTORY} OS=$OS ASSERT_NO_URI_CREDS=true evergreen/run-mongodb-aws-test.sh
620- - command : shell.exec
621- type : test
622- params :
623- working_dir : mongo-csharp-driver
624- silent : true
625- script : |
626- if [ "${skip_EC2_auth_test}" = "true" ]; then
627- echo "This platform does not support the web identity auth test, skipping..."
628- exit 0
629- fi
630- # DO NOT ECHO WITH XTRACE (which PREPARE_SHELL does)
631- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
632- export AWS_ROLE_ARN="${iam_auth_assume_web_role_name}"
633- export AWS_WEB_IDENTITY_TOKEN_FILE="${iam_web_identity_token_file}"
634- export AWS_ROLE_SESSION_NAME="test"
635- export MONGODB_URI="mongodb://localhost"
636- EOF
510+ DRIVERS_TOOLS=${DRIVERS_TOOLS} OS=$OS ASSERT_NO_URI_CREDS=true evergreen/run-mongodb-aws-test.sh web-identity
637511 - command : shell.exec
638512 type : test
639513 params :
514+ shell : " bash"
640515 working_dir : mongo-csharp-driver
641516 script : |
642517 ${PREPARE_SHELL}
643518 if [ "${skip_web_identity_auth_test}" = "true" ]; then
644519 echo "This platform does not support the web identity auth test, skipping..."
645520 exit 0
646521 fi
647- PROJECT_DIRECTORY=${PROJECT_DIRECTORY} OS=$OS ASSERT_NO_URI_CREDS=true evergreen/run-mongodb-aws-test.sh
522+ export AWS_ROLE_SESSION_NAME="test"
523+ DRIVERS_TOOLS=${DRIVERS_TOOLS} OS=$OS ASSERT_NO_URI_CREDS=true evergreen/run-mongodb-aws-test.sh web-identity
648524
649525 run-aws-auth-test-with-aws-credentials-as-environment-variables :
650526 - command : shell.exec
651527 type : test
652528 params :
653- silent : true
654- working_dir : mongo-csharp-driver
655- script : |
656- # DO NOT ECHO WITH XTRACE (which PREPARE_SHELL does)
657- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
658- export AWS_ACCESS_KEY_ID=${iam_auth_ecs_account}
659- export AWS_SECRET_ACCESS_KEY=${iam_auth_ecs_secret_access_key}
660- MONGODB_URI="mongodb://localhost"
661- EOF
662- - command : shell.exec
663- type : test
664- params :
529+ env :
530+ IAM_AUTH_ECS_ACCOUNT : ${iam_auth_ecs_account}
531+ IAM_AUTH_ECS_SECRET_ACCESS_KEY : ${iam_auth_ecs_secret_access_key}
665532 working_dir : mongo-csharp-driver
666- script : |
667- ${PREPARE_SHELL}
668- OS=${OS} ASSERT_NO_URI_CREDS=true evergreen/run-mongodb-aws-test.sh
533+ script :
534+ DRIVERS_TOOLS=${DRIVERS_TOOLS} OS=${OS} ASSERT_NO_URI_CREDS=true evergreen/run-mongodb-aws-test.sh env-creds
669535
670536 run-aws-auth-test-with-aws-credentials-and-session-token-as-environment-variables :
671537 - command : shell.exec
672538 type : test
673539 params :
674- silent : true
675540 working_dir : mongo-csharp-driver
676- script : |
677- # DO NOT ECHO WITH XTRACE (which PREPARE_SHELL does)
678- cat <<'EOF' > "${PROJECT_DIRECTORY}/prepare_mongodb_aws.sh"
679- alias jsonkey='${python3_binary} -c "import json,sys;sys.stdout.write(json.load(sys.stdin)[sys.argv[1]])" < ${DRIVERS_TOOLS}/.evergreen/auth_aws/creds.json'
680- export AWS_ACCESS_KEY_ID=$(jsonkey AccessKeyId)
681- export AWS_SECRET_ACCESS_KEY=$(jsonkey SecretAccessKey)
682- export AWS_SESSION_TOKEN=$(jsonkey SessionToken)
683- MONGODB_URI="mongodb://localhost"
684- EOF
685- - command : shell.exec
686- type : test
687- params :
688- working_dir : mongo-csharp-driver
689- script : |
690- ${PREPARE_SHELL}
691- OS=${OS} ASSERT_NO_URI_CREDS=true evergreen/run-mongodb-aws-test.sh
541+ script :
542+ DRIVERS_TOOLS=${DRIVERS_TOOLS} OS=${OS} ASSERT_NO_URI_CREDS=true evergreen/run-mongodb-aws-test.sh session-creds
692543
693544 run-atlas-data-lake-test :
694545 - command : shell.exec
@@ -2418,3 +2269,4 @@ buildvariants:
24182269 tags : ["dev-package"]
24192270 tasks :
24202271 - name : dev-package
2272+
0 commit comments