@@ -123,7 +123,7 @@ functions:
123
123
export UPLOAD_BUCKET="$UPLOAD_BUCKET"
124
124
export PROJECT="$PROJECT"
125
125
export TMPDIR="$MONGO_ORCHESTRATION_HOME/db"
126
- export PKG_CONFIG_PATH=$(pwd)/install/libmongocrypt/lib64/pkgconfig:$(pwd)/install/mongo-c-driver/lib/pkgconfig
126
+ export PKG_CONFIG_PATH=$(pwd)/install/libmongocrypt/lib64/pkgconfig
127
127
export LD_LIBRARY_PATH=$(pwd)/install/libmongocrypt/lib64
128
128
export PATH="$PATH"
129
129
EOT
@@ -299,6 +299,13 @@ functions:
299
299
# Attempt to shut down a running load balancer. Ignore any errors that happen if the load
300
300
# balancer is not running.
301
301
DRIVERS_TOOLS=${DRIVERS_TOOLS} MONGODB_URI=${MONGODB_URI} bash ${DRIVERS_TOOLS}/.evergreen/run-load-balancer.sh stop || echo "Ignoring load balancer stop error"
302
+ - command : shell.exec
303
+ params :
304
+ shell : " bash"
305
+ script : |
306
+ ${PREPARE_SHELL}
307
+ # Clean up cse servers
308
+ bash ${DRIVERS_TOOLS}/.evergreen/csfle/stop_servers.sh
302
309
- command : shell.exec
303
310
params :
304
311
shell : " bash"
@@ -309,6 +316,7 @@ functions:
309
316
cd -
310
317
rm -rf $DRIVERS_TOOLS || true
311
318
319
+
312
320
fix-absolute-paths :
313
321
- command : shell.exec
314
322
params :
@@ -506,27 +514,7 @@ functions:
506
514
working_dir : src/go.mongodb.org/mongo-driver
507
515
script : |
508
516
${PREPARE_SHELL}
509
-
510
- # Set temp credentials for AWS.
511
- export AWS_ACCESS_KEY_ID="${cse_aws_access_key_id}"
512
- export AWS_SECRET_ACCESS_KEY="${cse_aws_secret_access_key}"
513
- export AWS_DEFAULT_REGION="us-east-1"
514
-
515
- # Set client-side encryption credentials.
516
- export CSFLE_TLS_CA_FILE="$PROJECT_DIRECTORY/testdata/kmip-certs/ca-ec.pem"
517
- export CSFLE_TLS_CERTIFICATE_KEY_FILE="$PROJECT_DIRECTORY/testdata/kmip-certs/client-ec.pem"
518
-
519
- ${PYTHON3_BINARY} -m venv ./venv
520
- ./venv/${VENV_BIN_DIR|bin}/pip3 install boto3
521
-
522
- # Set the PYTHON environment variable to point to the active python3 binary. This is used by the
523
- # set-temp-creds.sh script.
524
- if [ "Windows_NT" = "$OS" ]; then
525
- export PYTHON="$(pwd)/venv/Scripts/python"
526
- else
527
- export PYTHON="$(pwd)/venv/bin/python"
528
- fi
529
- . ${DRIVERS_TOOLS}/.evergreen/csfle/set-temp-creds.sh
517
+ source ./secrets-export.sh
530
518
531
519
if [ "${SKIP_CRYPT_SHARED_LIB}" = "true" ]; then
532
520
CRYPT_SHARED_LIB_PATH=""
@@ -545,17 +533,6 @@ functions:
545
533
TOPOLOGY="${TOPOLOGY}" \
546
534
MONGO_GO_DRIVER_COMPRESSOR=${MONGO_GO_DRIVER_COMPRESSOR} \
547
535
BUILD_TAGS="-tags=cse" \
548
- AWS_ACCESS_KEY_ID="${cse_aws_access_key_id}" \
549
- AWS_SECRET_ACCESS_KEY="${cse_aws_secret_access_key}" \
550
- AWS_DEFAULT_REGION="us-east-1" \
551
- CSFLE_AWS_TEMP_ACCESS_KEY_ID="$CSFLE_AWS_TEMP_ACCESS_KEY_ID" \
552
- CSFLE_AWS_TEMP_SECRET_ACCESS_KEY="$CSFLE_AWS_TEMP_SECRET_ACCESS_KEY" \
553
- CSFLE_AWS_TEMP_SESSION_TOKEN="$CSFLE_AWS_TEMP_SESSION_TOKEN" \
554
- AZURE_TENANT_ID="${cse_azure_tenant_id}" \
555
- AZURE_CLIENT_ID="${cse_azure_client_id}" \
556
- AZURE_CLIENT_SECRET="${cse_azure_client_secret}" \
557
- GCP_EMAIL="${cse_gcp_email}" \
558
- GCP_PRIVATE_KEY="${cse_gcp_private_key}" \
559
536
REQUIRE_API_VERSION="${REQUIRE_API_VERSION}" \
560
537
CRYPT_SHARED_LIB_PATH="$CRYPT_SHARED_LIB_PATH" \
561
538
make evg-test-versioned-api \
@@ -867,91 +844,24 @@ functions:
867
844
export AWS_ROLE_SESSION_NAME="test"
868
845
${PROJECT_DIRECTORY}/.evergreen/run-mongodb-aws-test.sh web-identity
869
846
870
- start-kms-mock-server :
871
- - command : shell.exec
872
- params :
873
- shell : " bash"
874
- script : |
875
- ${PREPARE_SHELL}
876
-
877
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
878
- . ./activate-kmstlsvenv.sh
879
- - command : shell.exec
880
- params :
881
- shell : " bash"
882
- background : true
883
- script : |
884
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
885
- ./kmstlsvenv/bin/python3 -u kms_http_server.py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/${CERT_FILE} --port ${PORT}
886
-
887
- start-kms-mock-server-require-client-cert :
888
- - command : shell.exec
889
- params :
890
- shell : " bash"
891
- script : |
892
- ${PREPARE_SHELL}
893
-
894
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
895
- . ./activate-kmstlsvenv.sh
896
- - command : shell.exec
897
- params :
898
- shell : " bash"
899
- background : true
900
- script : |
901
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
902
- ./kmstlsvenv/bin/python3 -u kms_http_server.py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/${CERT_FILE} --port ${PORT} --require_client_cert
903
-
904
847
start-cse-servers :
905
- - command : shell.exec
906
- params :
907
- shell : " bash"
908
- script : |
909
- ${PREPARE_SHELL}
910
-
911
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
912
- . ./activate-kmstlsvenv.sh
913
-
914
- - command : shell.exec
848
+ - command : ec2.assume_role
915
849
params :
916
- shell : " bash"
917
- background : true
918
- script : |
919
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
920
- . ./activate-kmstlsvenv.sh
921
- python -u kms_kmip_server.py \
922
- --port 5698 \
923
- --ca_file "${PROJECT_DIRECTORY}/testdata/kmip-certs/ca-ec.pem" \
924
- --cert_file "${PROJECT_DIRECTORY}/testdata/kmip-certs/server-ec.pem"
925
-
926
- - command : shell.exec
850
+ role_arn : ${aws_test_secrets_role}
851
+ - command : subprocess.exec
927
852
params :
928
- shell : " bash"
853
+ working_dir : src/go.mongodb.org/mongo-driver
854
+ binary : bash
929
855
background : true
930
- script : |
931
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
932
- . ./activate-kmstlsvenv.sh
933
- python bottle.py fake_azure:imds
934
-
935
- - command : shell.exec
856
+ include_expansions_in_env : ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN", "DRIVERS_TOOLS"]
857
+ args :
858
+ - etc/setup-encryption.sh
859
+ - command : subprocess.exec
936
860
params :
937
- script : |
938
- # Ensure mock servers are running before starting tests.
939
- await_server() {
940
- for i in $(seq 300); do
941
- # Exit code 7: "Failed to connect to host".
942
- if curl -s "localhost:$2"; test $? -ne 7; then
943
- return 0
944
- else
945
- sleep 1
946
- fi
947
- done
948
- echo "could not detect '$1' server on port $2"
949
- }
950
- # * List servers to await here ...
951
- await_server "KMS", 5698
952
- await_server "Azure", 8080
953
-
954
- echo "finished awaiting servers"
861
+ working_dir : src/go.mongodb.org/mongo-driver
862
+ binary : bash
863
+ args :
864
+ - ${DRIVERS_TOOLS}/.evergreen/csfle/await_servers.sh
955
865
956
866
run-kms-tls-test :
957
867
- command : shell.exec
@@ -961,6 +871,7 @@ functions:
961
871
working_dir : src/go.mongodb.org/mongo-driver
962
872
script : |
963
873
${PREPARE_SHELL}
874
+ source ./secrets-export.sh
964
875
export KMS_TLS_TESTCASE="${KMS_TLS_TESTCASE}"
965
876
966
877
export GOFLAGS=-mod=vendor
@@ -970,13 +881,6 @@ functions:
970
881
TOPOLOGY="${TOPOLOGY}" \
971
882
MONGO_GO_DRIVER_COMPRESSOR=${MONGO_GO_DRIVER_COMPRESSOR} \
972
883
BUILD_TAGS="-tags=cse" \
973
- AWS_ACCESS_KEY_ID="${cse_aws_access_key_id}" \
974
- AWS_SECRET_ACCESS_KEY="${cse_aws_secret_access_key}" \
975
- AZURE_TENANT_ID="${cse_azure_tenant_id}" \
976
- AZURE_CLIENT_ID="${cse_azure_client_id}" \
977
- AZURE_CLIENT_SECRET="${cse_azure_client_secret}" \
978
- GCP_EMAIL="${cse_gcp_email}" \
979
- GCP_PRIVATE_KEY="${cse_gcp_private_key}" \
980
884
make evg-test-kms \
981
885
PKG_CONFIG_PATH=$PKG_CONFIG_PATH \
982
886
LD_LIBRARY_PATH=$LD_LIBRARY_PATH
@@ -989,6 +893,7 @@ functions:
989
893
working_dir : src/go.mongodb.org/mongo-driver
990
894
script : |
991
895
${PREPARE_SHELL}
896
+ source ./secrets-export.sh
992
897
export KMS_MOCK_SERVERS_RUNNING="true"
993
898
994
899
export GOFLAGS=-mod=vendor
@@ -998,15 +903,6 @@ functions:
998
903
TOPOLOGY="${TOPOLOGY}" \
999
904
MONGO_GO_DRIVER_COMPRESSOR=${MONGO_GO_DRIVER_COMPRESSOR} \
1000
905
BUILD_TAGS="-tags=cse" \
1001
- AWS_ACCESS_KEY_ID="${cse_aws_access_key_id}" \
1002
- AWS_SECRET_ACCESS_KEY="${cse_aws_secret_access_key}" \
1003
- AZURE_TENANT_ID="${cse_azure_tenant_id}" \
1004
- AZURE_CLIENT_ID="${cse_azure_client_id}" \
1005
- AZURE_CLIENT_SECRET="${cse_azure_client_secret}" \
1006
- GCP_EMAIL="${cse_gcp_email}" \
1007
- GCP_PRIVATE_KEY="${cse_gcp_private_key}" \
1008
- CSFLE_TLS_CA_FILE="$PROJECT_DIRECTORY/testdata/kmip-certs/ca-ec.pem"
1009
- CSFLE_TLS_CERTIFICATE_KEY_FILE="$PROJECT_DIRECTORY/testdata/kmip-certs/client-ec.pem"
1010
906
make evg-test-kmip \
1011
907
PKG_CONFIG_PATH=$PKG_CONFIG_PATH \
1012
908
LD_LIBRARY_PATH=$LD_LIBRARY_PATH
@@ -1879,10 +1775,7 @@ tasks:
1879
1775
TOPOLOGY : " server"
1880
1776
AUTH : " noauth"
1881
1777
SSL : " nossl"
1882
- - func : start-kms-mock-server
1883
- vars :
1884
- CERT_FILE : " expired.pem"
1885
- PORT : 8000
1778
+ - func : start-cse-servers
1886
1779
- func : run-kms-tls-test
1887
1780
vars :
1888
1781
KMS_TLS_TESTCASE : " INVALID_CERT"
@@ -1898,10 +1791,7 @@ tasks:
1898
1791
TOPOLOGY : " server"
1899
1792
AUTH : " noauth"
1900
1793
SSL : " nossl"
1901
- - func : start-kms-mock-server
1902
- vars :
1903
- CERT_FILE : " wrong-host.pem"
1904
- PORT : 8000
1794
+ - func : start-cse-servers
1905
1795
- func : run-kms-tls-test
1906
1796
vars :
1907
1797
KMS_TLS_TESTCASE : " INVALID_HOSTNAME"
@@ -1917,18 +1807,7 @@ tasks:
1917
1807
TOPOLOGY : " server"
1918
1808
AUTH : " noauth"
1919
1809
SSL : " nossl"
1920
- - func : start-kms-mock-server
1921
- vars :
1922
- CERT_FILE : " expired.pem"
1923
- PORT : 8000
1924
- - func : start-kms-mock-server
1925
- vars :
1926
- CERT_FILE : " wrong-host.pem"
1927
- PORT : 8001
1928
- - func : start-kms-mock-server-require-client-cert
1929
- vars :
1930
- CERT_FILE : " server.pem"
1931
- PORT : 8002
1810
+ - func : start-cse-servers
1932
1811
- func : run-kmip-tests
1933
1812
vars :
1934
1813
TOPOLOGY : " server"
0 commit comments