@@ -426,130 +426,56 @@ functions:
426
426
MONGODB_URI="${plain_auth_mongodb_uri}" evergreen/run-plain-auth-tests.sh
427
427
428
428
add-aws-auth-variables-to-file :
429
- - command : shell.exec
430
- type : test
429
+ - command : ec2.assume_role
431
430
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}
460
432
- command : shell.exec
461
433
type : test
462
434
params :
463
- silent : true
464
435
shell : " bash"
465
436
working_dir : mongo-csharp-driver
437
+ include_expansions_in_env : ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
466
438
script : |
467
439
${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 :
471
444
- command : shell.exec
472
445
type : test
473
446
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}
474
450
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
483
453
484
454
run-aws-auth-test-with-assume-role-credentials :
485
455
- command : shell.exec
486
456
type : test
487
457
params :
488
- silent : true
489
- shell : " bash"
490
458
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
515
461
516
462
run-aws-auth-test-with-aws-EC2-credentials :
517
463
- command : shell.exec
518
464
type : test
519
465
params :
520
- silent : true
521
- shell : " bash"
522
466
working_dir : mongo-csharp-driver
523
467
script : |
524
468
${PREPARE_SHELL}
525
469
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
540
472
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
547
474
548
475
run-aws-auth-test-with-aws-ECS-credentials :
549
476
- command : shell.exec
550
477
type : test
551
478
params :
552
- silent : true
553
479
shell : " bash"
554
480
working_dir : mongo-csharp-driver
555
481
script : |
@@ -558,8 +484,6 @@ functions:
558
484
echo "This platform does not support the ECS auth test, skipping..."
559
485
exit 0
560
486
fi
561
- cd ${DRIVERS_TOOLS}/.evergreen/auth_aws
562
- . ./activate-authawsvenv.sh
563
487
echo "Project Directory: $PROJECT_DIRECTORY"
564
488
# SRC_DIRECTORY is workaround since EG_TOOLS expects "src" folder as a root
565
489
SRC_DIRECTORY=$(dirname $PROJECT_DIRECTORY)/src
@@ -568,127 +492,54 @@ functions:
568
492
# Workaround. EG_TOOLS scripts for ECS assume that a folder with EG scripts in the driver is named ".evergreen"
569
493
mkdir $SRC_DIRECTORY/.evergreen
570
494
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
577
498
578
499
run-aws-auth-test-with-aws-web-identity-credentials :
579
500
- command : shell.exec
580
501
type : test
581
502
params :
582
- shell : " bash"
583
503
working_dir : mongo-csharp-driver
584
504
script : |
585
505
${PREPARE_SHELL}
586
506
if [ "${skip_web_identity_auth_test}" = "true" ]; then
587
507
echo "This platform does not support the web identity auth test, skipping..."
588
508
exit 0
589
509
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
637
511
- command : shell.exec
638
512
type : test
639
513
params :
514
+ shell : " bash"
640
515
working_dir : mongo-csharp-driver
641
516
script : |
642
517
${PREPARE_SHELL}
643
518
if [ "${skip_web_identity_auth_test}" = "true" ]; then
644
519
echo "This platform does not support the web identity auth test, skipping..."
645
520
exit 0
646
521
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
648
524
649
525
run-aws-auth-test-with-aws-credentials-as-environment-variables :
650
526
- command : shell.exec
651
527
type : test
652
528
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}
665
532
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
669
535
670
536
run-aws-auth-test-with-aws-credentials-and-session-token-as-environment-variables :
671
537
- command : shell.exec
672
538
type : test
673
539
params :
674
- silent : true
675
540
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
692
543
693
544
run-atlas-data-lake-test :
694
545
- command : shell.exec
@@ -2418,3 +2269,4 @@ buildvariants:
2418
2269
tags : ["dev-package"]
2419
2270
tasks :
2420
2271
- name : dev-package
2272
+
0 commit comments