gitextract_d66nvpyk/ ├── .codecov.yml ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── pull_request_template.md │ └── workflows/ │ └── tests.yml ├── .gitignore ├── AUTHORS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── CONTRIBUTORS ├── LICENSE ├── README.md ├── allmodules ├── aws/ │ ├── aws.go │ ├── aws_test.go │ ├── awscloud/ │ │ ├── awscloud.go │ │ └── example_test.go │ └── rds/ │ └── rds.go ├── azure/ │ ├── azurecloud/ │ │ └── azurecloud.go │ └── azuredb/ │ └── azuredb.go ├── blob/ │ ├── azureblob/ │ │ ├── azureblob.go │ │ ├── azureblob_test.go │ │ ├── example_test.go │ │ └── testdata/ │ │ └── TestConformance/ │ │ ├── TestAs/ │ │ │ ├── verify_As_returns_false_when_passed_nil.replay │ │ │ └── verify_ContentLanguage_can_be_written_and_read_through_As.replay │ │ ├── TestAttributes.replay │ │ ├── TestCanceledWrite/ │ │ │ ├── BlobExists.replay │ │ │ ├── EmptyContentType.replay │ │ │ └── NonEmptyContentType.replay │ │ ├── TestConcurrentWriteAndRead.replay │ │ ├── TestCopy/ │ │ │ ├── NonExistentSourceFails.replay │ │ │ └── Works.replay │ │ ├── TestDelete/ │ │ │ ├── NonExistentFails.replay │ │ │ └── Works.replay │ │ ├── TestDirsWithCharactersBeforeDelimiter.replay │ │ ├── TestIfNotExist.replay │ │ ├── TestKeys/ │ │ │ ├── ascii-1.replay │ │ │ ├── ascii-2.replay │ │ │ ├── ascii-3.replay │ │ │ ├── ascii-4.replay │ │ │ ├── ascii-5.replay │ │ │ ├── ascii-6.replay │ │ │ ├── ascii-7.replay │ │ │ ├── ascii-8.replay │ │ │ ├── backslashes.replay │ │ │ ├── dotdotbackslash.replay │ │ │ ├── dotdotslash.replay │ │ │ ├── fwdslashes.replay │ │ │ ├── non-UTF8_fails.replay │ │ │ ├── quote.replay │ │ │ ├── repeatedbackslashes.replay │ │ │ ├── repeatedfwdslashes.replay │ │ │ ├── spaces.replay │ │ │ ├── startwithdigit.replay │ │ │ └── unicode.replay │ │ ├── TestList/ │ │ │ ├── PaginationConsistencyAfterDelete.replay │ │ │ ├── PaginationConsistencyAfterInsert.replay │ │ │ ├── by_1.replay │ │ │ ├── by_2.replay │ │ │ ├── by_3.replay │ │ │ ├── exactly_1_object_due_to_prefix.replay │ │ │ ├── no_objects.replay │ │ │ └── no_pagination.replay │ │ ├── TestListDelimiters/ │ │ │ ├── abc.replay │ │ │ ├── backslash.replay │ │ │ └── fwdslash.replay │ │ ├── TestListWeirdKeys.replay │ │ ├── TestMD5.replay │ │ ├── TestMetadata/ │ │ │ ├── duplicate_case-insensitive_key_fails.replay │ │ │ ├── empty.replay │ │ │ ├── empty_key_fails.replay │ │ │ ├── non-utf8_metadata_key.replay │ │ │ ├── non-utf8_metadata_value.replay │ │ │ ├── valid_metadata.replay │ │ │ ├── valid_metadata_with_content_type.replay │ │ │ ├── valid_metadata_with_empty_body.replay │ │ │ └── weird_metadata_keys.replay │ │ ├── TestNonexistentBucket.replay │ │ ├── TestRead/ │ │ │ ├── length_0_read.replay │ │ │ ├── negative_offset_fails.replay │ │ │ ├── read_a_part_in_middle.replay │ │ │ ├── read_from_positive_offset_to_end.replay │ │ │ ├── read_in_full.replay │ │ │ ├── read_in_full_with_negative_length_not_-1.replay │ │ │ └── read_of_nonexistent_key_fails.replay │ │ ├── TestSignedURL.replay │ │ ├── TestUploadDownload.replay │ │ └── TestWrite/ │ │ ├── ContentType_is_discovered_if_not_provided.replay │ │ ├── ContentType_is_left_empty_if_not_provided_and_DisableContentTypeDetection_is_true.replay │ │ ├── Content_md5_did_not_match,_blob_existed.replay │ │ ├── Content_md5_did_not_match.replay │ │ ├── Content_md5_match.replay │ │ ├── a_large_jpg_file_gets_a_ContentType.replay │ │ ├── a_large_jpg_file_written_in_two_chunks_gets_a_ContentType.replay │ │ ├── a_small_text_file_gets_a_ContentType.replay │ │ ├── invalid_ContentType_fails.replay │ │ ├── no_write_then_close_results_in_empty_blob,_blob_existed.replay │ │ ├── no_write_then_close_results_in_empty_blob.replay │ │ ├── write_to_empty_key_fails.replay │ │ └── write_with_explicit_ContentType_overrides_discovery.replay │ ├── blob.go │ ├── blob_fs.go │ ├── blob_fs_test.go │ ├── blob_iter_test.go │ ├── blob_reader_test.go │ ├── blob_test.go │ ├── blob_writer_test.go │ ├── driver/ │ │ └── driver.go │ ├── drivertest/ │ │ ├── bindata.go │ │ └── drivertest.go │ ├── example_openbucket_test.go │ ├── example_test.go │ ├── fileblob/ │ │ ├── attrs.go │ │ ├── example_test.go │ │ ├── fileblob.go │ │ └── fileblob_test.go │ ├── gcsblob/ │ │ ├── example_test.go │ │ ├── gcsblob.go │ │ ├── gcsblob_test.go │ │ ├── iam.go │ │ ├── iam_test.go │ │ └── testdata/ │ │ ├── TestBeforeReadNonExistentKey.replay │ │ ├── TestConformance/ │ │ │ ├── TestAs/ │ │ │ │ ├── verify_As_returns_false_when_passed_nil.replay │ │ │ │ └── verify_ContentLanguage_can_be_written_and_read_through_As.replay │ │ │ ├── TestAttributes.replay │ │ │ ├── TestCanceledWrite/ │ │ │ │ ├── BlobExists.replay │ │ │ │ ├── EmptyContentType.replay │ │ │ │ └── NonEmptyContentType.replay │ │ │ ├── TestConcurrentWriteAndRead.replay │ │ │ ├── TestCopy/ │ │ │ │ ├── NonExistentSourceFails.replay │ │ │ │ └── Works.replay │ │ │ ├── TestDelete/ │ │ │ │ ├── NonExistentFails.replay │ │ │ │ └── Works.replay │ │ │ ├── TestDirsWithCharactersBeforeDelimiter.replay │ │ │ ├── TestIfNotExist.replay │ │ │ ├── TestKeys/ │ │ │ │ ├── ascii-1.replay │ │ │ │ ├── ascii-2.replay │ │ │ │ ├── ascii-3.replay │ │ │ │ ├── ascii-4.replay │ │ │ │ ├── ascii-5.replay │ │ │ │ ├── ascii-6.replay │ │ │ │ ├── ascii-7.replay │ │ │ │ ├── ascii-8.replay │ │ │ │ ├── backslashes.replay │ │ │ │ ├── dotdotbackslash.replay │ │ │ │ ├── dotdotslash.replay │ │ │ │ ├── fwdslashes.replay │ │ │ │ ├── non-UTF8_fails.replay │ │ │ │ ├── quote.replay │ │ │ │ ├── repeatedbackslashes.replay │ │ │ │ ├── repeatedfwdslashes.replay │ │ │ │ ├── spaces.replay │ │ │ │ ├── startwithdigit.replay │ │ │ │ └── unicode.replay │ │ │ ├── TestList/ │ │ │ │ ├── PaginationConsistencyAfterDelete.replay │ │ │ │ ├── PaginationConsistencyAfterInsert.replay │ │ │ │ ├── by_1.replay │ │ │ │ ├── by_2.replay │ │ │ │ ├── by_3.replay │ │ │ │ ├── exactly_1_object_due_to_prefix.replay │ │ │ │ ├── no_objects.replay │ │ │ │ └── no_pagination.replay │ │ │ ├── TestListDelimiters/ │ │ │ │ ├── abc.replay │ │ │ │ ├── backslash.replay │ │ │ │ └── fwdslash.replay │ │ │ ├── TestListWeirdKeys.replay │ │ │ ├── TestMD5.replay │ │ │ ├── TestMetadata/ │ │ │ │ ├── duplicate_case-insensitive_key_fails.replay │ │ │ │ ├── empty.replay │ │ │ │ ├── empty_key_fails.replay │ │ │ │ ├── non-utf8_metadata_key.replay │ │ │ │ ├── non-utf8_metadata_value.replay │ │ │ │ ├── valid_metadata.replay │ │ │ │ ├── valid_metadata_with_content_type.replay │ │ │ │ ├── valid_metadata_with_empty_body.replay │ │ │ │ └── weird_metadata_keys.replay │ │ │ ├── TestNonexistentBucket.replay │ │ │ ├── TestRead/ │ │ │ │ ├── length_0_read.replay │ │ │ │ ├── negative_offset_fails.replay │ │ │ │ ├── read_a_part_in_middle.replay │ │ │ │ ├── read_from_positive_offset_to_end.replay │ │ │ │ ├── read_in_full.replay │ │ │ │ ├── read_in_full_with_negative_length_not_-1.replay │ │ │ │ └── read_of_nonexistent_key_fails.replay │ │ │ ├── TestSignedURL.replay │ │ │ ├── TestUploadDownload.replay │ │ │ └── TestWrite/ │ │ │ ├── ContentType_is_discovered_if_not_provided.replay │ │ │ ├── ContentType_is_left_empty_if_not_provided_and_DisableContentTypeDetection_is_true.replay │ │ │ ├── Content_md5_did_not_match,_blob_existed.replay │ │ │ ├── Content_md5_did_not_match.replay │ │ │ ├── Content_md5_match.replay │ │ │ ├── a_large_jpg_file_gets_a_ContentType.replay │ │ │ ├── a_large_jpg_file_written_in_two_chunks_gets_a_ContentType.replay │ │ │ ├── a_small_text_file_gets_a_ContentType.replay │ │ │ ├── invalid_ContentType_fails.replay │ │ │ ├── no_write_then_close_results_in_empty_blob,_blob_existed.replay │ │ │ ├── no_write_then_close_results_in_empty_blob.replay │ │ │ ├── write_to_empty_key_fails.replay │ │ │ └── write_with_explicit_ContentType_overrides_discovery.replay │ │ ├── TestOpenBucket/ │ │ │ ├── empty_bucket_name_results_in_error.replay │ │ │ └── success.replay │ │ └── TestPreconditions.replay │ ├── memblob/ │ │ ├── example_test.go │ │ ├── memblob.go │ │ └── memblob_test.go │ ├── otel_test.go │ ├── s3blob/ │ │ ├── example_test.go │ │ ├── s3blob.go │ │ ├── s3blob_test.go │ │ └── testdata/ │ │ ├── TestConformance/ │ │ │ ├── TestAs/ │ │ │ │ ├── verify_As_returns_false_when_passed_nil.replay │ │ │ │ └── verify_ContentLanguage_can_be_written_and_read_through_As.replay │ │ │ ├── TestAttributes.replay │ │ │ ├── TestCanceledWrite/ │ │ │ │ ├── BlobExists.replay │ │ │ │ ├── EmptyContentType.replay │ │ │ │ └── NonEmptyContentType.replay │ │ │ ├── TestConcurrentWriteAndRead.replay │ │ │ ├── TestCopy/ │ │ │ │ ├── NonExistentSourceFails.replay │ │ │ │ └── Works.replay │ │ │ ├── TestDelete/ │ │ │ │ ├── NonExistentFails.replay │ │ │ │ └── Works.replay │ │ │ ├── TestDirsWithCharactersBeforeDelimiter.replay │ │ │ ├── TestIfNotExist.replay │ │ │ ├── TestKeys/ │ │ │ │ ├── ascii-1.replay │ │ │ │ ├── ascii-2.replay │ │ │ │ ├── ascii-3.replay │ │ │ │ ├── ascii-4.replay │ │ │ │ ├── ascii-5.replay │ │ │ │ ├── ascii-6.replay │ │ │ │ ├── ascii-7.replay │ │ │ │ ├── ascii-8.replay │ │ │ │ ├── backslashes.replay │ │ │ │ ├── dotdotbackslash.replay │ │ │ │ ├── dotdotslash.replay │ │ │ │ ├── fwdslashes.replay │ │ │ │ ├── non-UTF8_fails.replay │ │ │ │ ├── quote.replay │ │ │ │ ├── repeatedbackslashes.replay │ │ │ │ ├── repeatedfwdslashes.replay │ │ │ │ ├── spaces.replay │ │ │ │ ├── startwithdigit.replay │ │ │ │ └── unicode.replay │ │ │ ├── TestList/ │ │ │ │ ├── PaginationConsistencyAfterDelete.replay │ │ │ │ ├── PaginationConsistencyAfterInsert.replay │ │ │ │ ├── by_1.replay │ │ │ │ ├── by_2.replay │ │ │ │ ├── by_3.replay │ │ │ │ ├── exactly_1_object_due_to_prefix.replay │ │ │ │ ├── no_objects.replay │ │ │ │ └── no_pagination.replay │ │ │ ├── TestListDelimiters/ │ │ │ │ ├── abc.replay │ │ │ │ ├── backslash.replay │ │ │ │ └── fwdslash.replay │ │ │ ├── TestListWeirdKeys.replay │ │ │ ├── TestMD5.replay │ │ │ ├── TestMetadata/ │ │ │ │ ├── duplicate_case-insensitive_key_fails.replay │ │ │ │ ├── empty.replay │ │ │ │ ├── empty_key_fails.replay │ │ │ │ ├── non-utf8_metadata_key.replay │ │ │ │ ├── non-utf8_metadata_value.replay │ │ │ │ ├── valid_metadata.replay │ │ │ │ ├── valid_metadata_with_content_type.replay │ │ │ │ ├── valid_metadata_with_empty_body.replay │ │ │ │ └── weird_metadata_keys.replay │ │ │ ├── TestNonexistentBucket.replay │ │ │ ├── TestRead/ │ │ │ │ ├── length_0_read.replay │ │ │ │ ├── negative_offset_fails.replay │ │ │ │ ├── read_a_part_in_middle.replay │ │ │ │ ├── read_from_positive_offset_to_end.replay │ │ │ │ ├── read_in_full.replay │ │ │ │ ├── read_in_full_with_negative_length_not_-1.replay │ │ │ │ └── read_of_nonexistent_key_fails.replay │ │ │ ├── TestSignedURL.replay │ │ │ ├── TestUploadDownload.replay │ │ │ └── TestWrite/ │ │ │ ├── ContentType_is_discovered_if_not_provided.replay │ │ │ ├── ContentType_is_left_empty_if_not_provided_and_DisableContentTypeDetection_is_true.replay │ │ │ ├── Content_md5_did_not_match,_blob_existed.replay │ │ │ ├── Content_md5_did_not_match.replay │ │ │ ├── Content_md5_match.replay │ │ │ ├── a_large_jpg_file_gets_a_ContentType.replay │ │ │ ├── a_large_jpg_file_written_in_two_chunks_gets_a_ContentType.replay │ │ │ ├── a_small_text_file_gets_a_ContentType.replay │ │ │ ├── invalid_ContentType_fails.replay │ │ │ ├── no_write_then_close_results_in_empty_blob,_blob_existed.replay │ │ │ ├── no_write_then_close_results_in_empty_blob.replay │ │ │ ├── write_to_empty_key_fails.replay │ │ │ └── write_with_explicit_ContentType_overrides_discovery.replay │ │ ├── TestConformanceUsingLegacyList/ │ │ │ ├── TestAs/ │ │ │ │ ├── verify_As_returns_false_when_passed_nil.replay │ │ │ │ └── verify_ContentLanguage_can_be_written_and_read_through_As.replay │ │ │ ├── TestAttributes.replay │ │ │ ├── TestCanceledWrite/ │ │ │ │ ├── BlobExists.replay │ │ │ │ ├── EmptyContentType.replay │ │ │ │ └── NonEmptyContentType.replay │ │ │ ├── TestConcurrentWriteAndRead.replay │ │ │ ├── TestCopy/ │ │ │ │ ├── NonExistentSourceFails.replay │ │ │ │ └── Works.replay │ │ │ ├── TestDelete/ │ │ │ │ ├── NonExistentFails.replay │ │ │ │ └── Works.replay │ │ │ ├── TestDirsWithCharactersBeforeDelimiter.replay │ │ │ ├── TestIfNotExist.replay │ │ │ ├── TestKeys/ │ │ │ │ ├── ascii-1.replay │ │ │ │ ├── ascii-2.replay │ │ │ │ ├── ascii-3.replay │ │ │ │ ├── ascii-4.replay │ │ │ │ ├── ascii-5.replay │ │ │ │ ├── ascii-6.replay │ │ │ │ ├── ascii-7.replay │ │ │ │ ├── ascii-8.replay │ │ │ │ ├── backslashes.replay │ │ │ │ ├── dotdotbackslash.replay │ │ │ │ ├── dotdotslash.replay │ │ │ │ ├── fwdslashes.replay │ │ │ │ ├── non-UTF8_fails.replay │ │ │ │ ├── quote.replay │ │ │ │ ├── repeatedbackslashes.replay │ │ │ │ ├── repeatedfwdslashes.replay │ │ │ │ ├── spaces.replay │ │ │ │ ├── startwithdigit.replay │ │ │ │ └── unicode.replay │ │ │ ├── TestList/ │ │ │ │ ├── PaginationConsistencyAfterDelete.replay │ │ │ │ ├── PaginationConsistencyAfterInsert.replay │ │ │ │ ├── by_1.replay │ │ │ │ ├── by_2.replay │ │ │ │ ├── by_3.replay │ │ │ │ ├── exactly_1_object_due_to_prefix.replay │ │ │ │ ├── no_objects.replay │ │ │ │ └── no_pagination.replay │ │ │ ├── TestListDelimiters/ │ │ │ │ ├── abc.replay │ │ │ │ ├── backslash.replay │ │ │ │ └── fwdslash.replay │ │ │ ├── TestListWeirdKeys.replay │ │ │ ├── TestMD5.replay │ │ │ ├── TestMetadata/ │ │ │ │ ├── duplicate_case-insensitive_key_fails.replay │ │ │ │ ├── empty.replay │ │ │ │ ├── empty_key_fails.replay │ │ │ │ ├── non-utf8_metadata_key.replay │ │ │ │ ├── non-utf8_metadata_value.replay │ │ │ │ ├── valid_metadata.replay │ │ │ │ ├── valid_metadata_with_content_type.replay │ │ │ │ ├── valid_metadata_with_empty_body.replay │ │ │ │ └── weird_metadata_keys.replay │ │ │ ├── TestNonexistentBucket.replay │ │ │ ├── TestRead/ │ │ │ │ ├── length_0_read.replay │ │ │ │ ├── negative_offset_fails.replay │ │ │ │ ├── read_a_part_in_middle.replay │ │ │ │ ├── read_from_positive_offset_to_end.replay │ │ │ │ ├── read_in_full.replay │ │ │ │ ├── read_in_full_with_negative_length_not_-1.replay │ │ │ │ └── read_of_nonexistent_key_fails.replay │ │ │ ├── TestSignedURL.replay │ │ │ ├── TestUploadDownload.replay │ │ │ └── TestWrite/ │ │ │ ├── ContentType_is_discovered_if_not_provided.replay │ │ │ ├── ContentType_is_left_empty_if_not_provided_and_DisableContentTypeDetection_is_true.replay │ │ │ ├── Content_md5_did_not_match,_blob_existed.replay │ │ │ ├── Content_md5_did_not_match.replay │ │ │ ├── Content_md5_match.replay │ │ │ ├── a_large_jpg_file_gets_a_ContentType.replay │ │ │ ├── a_large_jpg_file_written_in_two_chunks_gets_a_ContentType.replay │ │ │ ├── a_small_text_file_gets_a_ContentType.replay │ │ │ ├── invalid_ContentType_fails.replay │ │ │ ├── no_write_then_close_results_in_empty_blob,_blob_existed.replay │ │ │ ├── no_write_then_close_results_in_empty_blob.replay │ │ │ ├── write_to_empty_key_fails.replay │ │ │ └── write_with_explicit_ContentType_overrides_discovery.replay │ │ └── TestOpenBucket/ │ │ ├── empty_bucket_name_results_in_error.replay │ │ ├── empty_bucket_name_results_in_error_V2.replay │ │ ├── success.replay │ │ └── success_V2.replay │ └── wrapped_bucket_test.go ├── contrib/ │ └── upgrade-dependency.sh ├── doc.go ├── docstore/ │ ├── awsdynamodb/ │ │ └── v2/ │ │ ├── benchmark_test.go │ │ ├── codec.go │ │ ├── codec_test.go │ │ ├── create_tables.sh │ │ ├── dynamo.go │ │ ├── dynamo_test.go │ │ ├── example_test.go │ │ ├── query.go │ │ ├── query_test.go │ │ ├── testdata/ │ │ │ ├── TestConformance/ │ │ │ │ ├── ActionsOnStructNoRev.replay │ │ │ │ ├── ActionsWithCompositeID.replay │ │ │ │ ├── As/ │ │ │ │ │ ├── verify_As.replay │ │ │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ │ │ ├── AtomicWrites.replay │ │ │ │ ├── AtomicWritesFail.replay │ │ │ │ ├── BeforeDo.replay │ │ │ │ ├── BeforeQuery.replay │ │ │ │ ├── Create.replay │ │ │ │ ├── Data.replay │ │ │ │ ├── Delete.replay │ │ │ │ ├── ExampleInDoc.replay │ │ │ │ ├── Get.replay │ │ │ │ ├── GetQuery.replay │ │ │ │ ├── GetQueryKeyField.replay │ │ │ │ ├── MultipleActions.replay │ │ │ │ ├── Proto.replay │ │ │ │ ├── Put.replay │ │ │ │ ├── Replace.replay │ │ │ │ ├── SerializeRevision.replay │ │ │ │ └── Update.replay │ │ │ └── TestQueryErrors.replay │ │ ├── urls.go │ │ └── urls_test.go │ ├── doc.go │ ├── docstore.go │ ├── docstore_test.go │ ├── driver/ │ │ ├── actionkind_string.go │ │ ├── codec.go │ │ ├── codec_test.go │ │ ├── compare.go │ │ ├── compare_test.go │ │ ├── document.go │ │ ├── document_test.go │ │ ├── driver.go │ │ ├── util.go │ │ └── util_test.go │ ├── drivertest/ │ │ ├── driverbenchmark.go │ │ ├── drivertest.go │ │ └── util.go │ ├── example_test.go │ ├── gcpfirestore/ │ │ ├── codec.go │ │ ├── codec_test.go │ │ ├── create_indexes.sh │ │ ├── example_test.go │ │ ├── fs.go │ │ ├── fs_test.go │ │ ├── native_codec_test.go │ │ ├── query.go │ │ ├── query_test.go │ │ ├── testdata/ │ │ │ └── TestConformance/ │ │ │ ├── ActionsOnStructNoRev.replay │ │ │ ├── ActionsWithCompositeID.replay │ │ │ ├── As/ │ │ │ │ ├── verify_As.replay │ │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ │ ├── AtomicWrites.replay │ │ │ ├── AtomicWritesFail.replay │ │ │ ├── BeforeDo.replay │ │ │ ├── BeforeQuery.replay │ │ │ ├── Create.replay │ │ │ ├── Data.replay │ │ │ ├── Delete.replay │ │ │ ├── ExampleInDoc.replay │ │ │ ├── Get.replay │ │ │ ├── GetQuery.replay │ │ │ ├── GetQueryKeyField.replay │ │ │ ├── MultipleActions.replay │ │ │ ├── Proto.replay │ │ │ ├── Put.replay │ │ │ ├── Query.replay │ │ │ ├── Replace.replay │ │ │ ├── SerializeRevision.replay │ │ │ └── Update.replay │ │ ├── urls.go │ │ └── urls_test.go │ ├── internal/ │ │ └── fields/ │ │ ├── README.md │ │ ├── fields.go │ │ ├── fields_test.go │ │ ├── fold.go │ │ └── fold_test.go │ ├── memdocstore/ │ │ ├── codec.go │ │ ├── codec_test.go │ │ ├── example_test.go │ │ ├── mem.go │ │ ├── mem_test.go │ │ ├── query.go │ │ ├── urls.go │ │ └── urls_test.go │ ├── mongodocstore/ │ │ ├── awsdocdb/ │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ ├── codec.go │ │ ├── cosmos_test.go │ │ ├── docdb_test.go │ │ ├── docker-compose.yml │ │ ├── example_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── localmongo.sh │ │ ├── mongo.go │ │ ├── mongo_test.go │ │ ├── query.go │ │ ├── testdata/ │ │ │ └── README │ │ ├── urls.go │ │ └── urls_test.go │ ├── otel_test.go │ ├── query.go │ ├── query_test.go │ ├── urls.go │ └── urls_test.go ├── gcerrors/ │ ├── errors.go │ └── errors_test.go ├── gcp/ │ ├── cloudsql/ │ │ └── cloudsql.go │ ├── gcp.go │ ├── gcp_test.go │ └── gcpcloud/ │ ├── example_test.go │ └── gcpcloud.go ├── go.mod ├── go.sum ├── gocloud.code-workspace ├── internal/ │ ├── docs/ │ │ ├── README.md │ │ ├── design.md │ │ ├── pubsub/ │ │ │ └── design.md │ │ └── release.md │ ├── escape/ │ │ ├── escape.go │ │ └── escape_test.go │ ├── gcerr/ │ │ ├── errorcode_string.go │ │ ├── gcerr.go │ │ └── gcerr_test.go │ ├── openurl/ │ │ ├── openurl.go │ │ └── openurl_test.go │ ├── otel/ │ │ ├── metrics.go │ │ ├── trace.go │ │ └── trace_test.go │ ├── releasehelper/ │ │ ├── releasehelper.go │ │ └── releasehelper_test.go │ ├── retry/ │ │ ├── retry.go │ │ └── retry_test.go │ ├── testing/ │ │ ├── alldeps │ │ ├── check_mod_tidy.sh │ │ ├── deploywebsite.sh │ │ ├── git_tag_modules.sh │ │ ├── gomodcleanup.sh │ │ ├── listdeps.sh │ │ ├── oteltest/ │ │ │ ├── diff.go │ │ │ ├── exporter.go │ │ │ └── init.go │ │ ├── runchecks.sh │ │ ├── setup/ │ │ │ └── setup.go │ │ ├── start_local_deps.sh │ │ ├── terraform/ │ │ │ └── terraform.go │ │ ├── test-summary/ │ │ │ ├── test-summary.go │ │ │ └── test-summary_test.go │ │ └── update_deps.sh │ ├── useragent/ │ │ └── useragent.go │ └── website/ │ ├── README.md │ ├── archetypes/ │ │ ├── default.md │ │ └── howto.md │ ├── config.toml │ ├── content/ │ │ ├── _index.md │ │ ├── aws/ │ │ │ ├── _index.md │ │ │ ├── awscloud/ │ │ │ │ └── _index.md │ │ │ └── rds/ │ │ │ └── _index.md │ │ ├── azure/ │ │ │ ├── azurecloud/ │ │ │ │ └── _index.md │ │ │ └── azuredb/ │ │ │ └── _index.md │ │ ├── blob/ │ │ │ ├── _index.md │ │ │ ├── azureblob/ │ │ │ │ └── _index.md │ │ │ ├── driver/ │ │ │ │ └── _index.md │ │ │ ├── drivertest/ │ │ │ │ └── _index.md │ │ │ ├── fileblob/ │ │ │ │ └── _index.md │ │ │ ├── gcsblob/ │ │ │ │ └── _index.md │ │ │ ├── memblob/ │ │ │ │ └── _index.md │ │ │ └── s3blob/ │ │ │ └── _index.md │ │ ├── concepts/ │ │ │ ├── _index.md │ │ │ ├── as.md │ │ │ ├── structure/ │ │ │ │ └── index.md │ │ │ └── urls.md │ │ ├── docstore/ │ │ │ ├── _index.md │ │ │ ├── awsdynamodb/ │ │ │ │ └── v2/ │ │ │ │ └── _index.md │ │ │ ├── driver/ │ │ │ │ └── _index.md │ │ │ ├── drivertest/ │ │ │ │ └── _index.md │ │ │ ├── dynamodocstore/ │ │ │ │ └── _index.md │ │ │ ├── firedocstore/ │ │ │ │ └── _index.md │ │ │ ├── gcpfirestore/ │ │ │ │ └── _index.md │ │ │ ├── internal/ │ │ │ │ └── fields/ │ │ │ │ └── _index.md │ │ │ ├── memdocstore/ │ │ │ │ └── _index.md │ │ │ └── mongodocstore/ │ │ │ └── _index.md │ │ ├── gcerrors/ │ │ │ └── _index.md │ │ ├── gcp/ │ │ │ ├── _index.md │ │ │ ├── cloudsql/ │ │ │ │ └── _index.md │ │ │ └── gcpcloud/ │ │ │ └── _index.md │ │ ├── health/ │ │ │ ├── _index.md │ │ │ └── sqlhealth/ │ │ │ └── _index.md │ │ ├── howto/ │ │ │ ├── _index.md │ │ │ ├── blob/ │ │ │ │ └── _index.md │ │ │ ├── docstore/ │ │ │ │ └── _index.md │ │ │ ├── pubsub/ │ │ │ │ ├── _index.md │ │ │ │ ├── publish.md │ │ │ │ └── subscribe.md │ │ │ ├── runtimevar/ │ │ │ │ └── _index.md │ │ │ ├── secrets/ │ │ │ │ └── _index.md │ │ │ ├── server/ │ │ │ │ └── _index.md │ │ │ └── sql/ │ │ │ └── _index.md │ │ ├── internal/ │ │ │ ├── batcher/ │ │ │ │ └── _index.md │ │ │ ├── escape/ │ │ │ │ └── _index.md │ │ │ ├── gcerr/ │ │ │ │ └── _index.md │ │ │ ├── oc/ │ │ │ │ └── _index.md │ │ │ ├── openurl/ │ │ │ │ └── _index.md │ │ │ ├── otel/ │ │ │ │ └── _index.md │ │ │ ├── releasehelper/ │ │ │ │ └── _index.md │ │ │ ├── retry/ │ │ │ │ └── _index.md │ │ │ ├── testing/ │ │ │ │ ├── _index.md │ │ │ │ ├── cmdtest/ │ │ │ │ │ └── _index.md │ │ │ │ ├── octest/ │ │ │ │ │ └── _index.md │ │ │ │ ├── oteltest/ │ │ │ │ │ └── _index.md │ │ │ │ ├── setup/ │ │ │ │ │ └── _index.md │ │ │ │ ├── terraform/ │ │ │ │ │ └── _index.md │ │ │ │ └── test-summary/ │ │ │ │ └── _index.md │ │ │ ├── trace/ │ │ │ │ └── _index.md │ │ │ ├── useragent/ │ │ │ │ └── _index.md │ │ │ └── website/ │ │ │ └── gatherexamples/ │ │ │ └── _index.md │ │ ├── mysql/ │ │ │ ├── _index.md │ │ │ ├── awsmysql/ │ │ │ │ └── _index.md │ │ │ ├── azuremysql/ │ │ │ │ └── _index.md │ │ │ ├── cloudmysql/ │ │ │ │ └── _index.md │ │ │ ├── gcpmysql/ │ │ │ │ └── _index.md │ │ │ └── rdsmysql/ │ │ │ └── _index.md │ │ ├── postgres/ │ │ │ ├── _index.md │ │ │ ├── awspostgres/ │ │ │ │ └── _index.md │ │ │ ├── cloudpostgres/ │ │ │ │ └── _index.md │ │ │ ├── gcppostgres/ │ │ │ │ └── _index.md │ │ │ └── rdspostgres/ │ │ │ └── _index.md │ │ ├── pubsub/ │ │ │ ├── _index.md │ │ │ ├── awssnssqs/ │ │ │ │ └── _index.md │ │ │ ├── azurepubsub/ │ │ │ │ └── _index.md │ │ │ ├── azuresb/ │ │ │ │ └── _index.md │ │ │ ├── batcher/ │ │ │ │ └── _index.md │ │ │ ├── driver/ │ │ │ │ └── _index.md │ │ │ ├── drivertest/ │ │ │ │ └── _index.md │ │ │ ├── gcppubsub/ │ │ │ │ └── _index.md │ │ │ ├── gcppubsubv2/ │ │ │ │ └── _index.md │ │ │ ├── kafkapubsub/ │ │ │ │ └── _index.md │ │ │ ├── mempubsub/ │ │ │ │ └── _index.md │ │ │ ├── natspubsub/ │ │ │ │ └── _index.md │ │ │ └── rabbitpubsub/ │ │ │ └── _index.md │ │ ├── requestlog/ │ │ │ └── _index.md │ │ ├── runtimevar/ │ │ │ ├── _index.md │ │ │ ├── awsparamstore/ │ │ │ │ └── _index.md │ │ │ ├── awssecretsmanager/ │ │ │ │ └── _index.md │ │ │ ├── blobvar/ │ │ │ │ └── _index.md │ │ │ ├── constantvar/ │ │ │ │ └── _index.md │ │ │ ├── driver/ │ │ │ │ └── _index.md │ │ │ ├── drivertest/ │ │ │ │ └── _index.md │ │ │ ├── etcdvar/ │ │ │ │ └── _index.md │ │ │ ├── filevar/ │ │ │ │ ├── _demo/ │ │ │ │ │ └── _index.md │ │ │ │ └── _index.md │ │ │ ├── gcpruntimeconfig/ │ │ │ │ └── _index.md │ │ │ ├── gcpsecretmanager/ │ │ │ │ └── _index.md │ │ │ ├── hashivault/ │ │ │ │ └── _index.md │ │ │ └── httpvar/ │ │ │ └── _index.md │ │ ├── samples/ │ │ │ ├── appengine/ │ │ │ │ └── _index.md │ │ │ ├── gocdk-blob/ │ │ │ │ └── _index.md │ │ │ ├── gocdk-docstore/ │ │ │ │ └── _index.md │ │ │ ├── gocdk-pubsub/ │ │ │ │ └── _index.md │ │ │ ├── gocdk-runtimevar/ │ │ │ │ └── _index.md │ │ │ ├── gocdk-secrets/ │ │ │ │ └── _index.md │ │ │ ├── guestbook/ │ │ │ │ ├── _index.md │ │ │ │ ├── aws/ │ │ │ │ │ └── provision_db/ │ │ │ │ │ └── _index.md │ │ │ │ ├── gcp/ │ │ │ │ │ ├── deploy/ │ │ │ │ │ │ └── _index.md │ │ │ │ │ └── provision_db/ │ │ │ │ │ └── _index.md │ │ │ │ └── localdb/ │ │ │ │ └── _index.md │ │ │ ├── order/ │ │ │ │ └── _index.md │ │ │ ├── server/ │ │ │ │ └── _index.md │ │ │ └── tutorial/ │ │ │ └── _index.md │ │ ├── secrets/ │ │ │ ├── _index.md │ │ │ ├── awskms/ │ │ │ │ └── _index.md │ │ │ ├── azurekeyvault/ │ │ │ │ └── _index.md │ │ │ ├── driver/ │ │ │ │ └── _index.md │ │ │ ├── drivertest/ │ │ │ │ └── _index.md │ │ │ ├── gcpkms/ │ │ │ │ └── _index.md │ │ │ ├── hashivault/ │ │ │ │ └── _index.md │ │ │ ├── localsecrets/ │ │ │ │ └── _index.md │ │ │ └── vault/ │ │ │ └── _index.md │ │ ├── server/ │ │ │ ├── _index.md │ │ │ ├── driver/ │ │ │ │ └── _index.md │ │ │ ├── health/ │ │ │ │ ├── _index.md │ │ │ │ └── sqlhealth/ │ │ │ │ └── _index.md │ │ │ ├── requestlog/ │ │ │ │ └── _index.md │ │ │ ├── sdserver/ │ │ │ │ └── _index.md │ │ │ └── xrayserver/ │ │ │ └── _index.md │ │ ├── tests/ │ │ │ ├── aws/ │ │ │ │ └── app/ │ │ │ │ └── _index.md │ │ │ ├── gcp/ │ │ │ │ └── app/ │ │ │ │ └── _index.md │ │ │ └── internal/ │ │ │ └── testutil/ │ │ │ └── _index.md │ │ └── tutorials/ │ │ ├── _index.md │ │ ├── cli-uploader.md │ │ ├── guestbook.md │ │ └── order.md │ ├── data/ │ │ └── examples.json │ ├── gatherexamples/ │ │ ├── gatherexamples.go │ │ ├── gatherexamples_test.go │ │ └── run.sh │ ├── go.mod │ ├── go.sum │ ├── layouts/ │ │ ├── 404.html │ │ ├── _default/ │ │ │ ├── baseof.html │ │ │ ├── li.html │ │ │ ├── list.html │ │ │ ├── single.html │ │ │ └── sitemap.xml │ │ ├── howto/ │ │ │ ├── li.html │ │ │ └── list.html │ │ ├── index.html │ │ ├── partials/ │ │ │ ├── header-link.html │ │ │ ├── hook_head_end.html │ │ │ └── page-toc.html │ │ ├── pkg/ │ │ │ ├── list.html │ │ │ └── single.html │ │ └── shortcodes/ │ │ ├── goexample.html │ │ └── snippet.html │ ├── listnewpkgs.sh │ ├── makeimports.sh │ └── static/ │ └── css/ │ ├── style.css │ └── syntax.css ├── mysql/ │ ├── awsmysql/ │ │ ├── awsmysql.go │ │ ├── awsmysql_test.go │ │ ├── example_test.go │ │ ├── main.tf │ │ └── otel_test.go │ ├── azuremysql/ │ │ ├── azuremysql.go │ │ ├── azuremysql_test.go │ │ ├── example_test.go │ │ └── main.tf │ ├── example_test.go │ ├── gcpmysql/ │ │ ├── example_test.go │ │ ├── gcpmysql.go │ │ ├── gcpmysql_test.go │ │ └── main.tf │ ├── main.tf │ ├── mysql.go │ └── mysql_test.go ├── postgres/ │ ├── awspostgres/ │ │ ├── awspostgres.go │ │ ├── awspostgres_test.go │ │ ├── example_test.go │ │ └── main.tf │ ├── example_test.go │ ├── gcppostgres/ │ │ ├── example_test.go │ │ ├── gcppostgres.go │ │ ├── gcppostgres_test.go │ │ └── main.tf │ ├── postgres.go │ └── postgres_test.go ├── pubsub/ │ ├── acks_test.go │ ├── awssnssqs/ │ │ ├── awssnssqs.go │ │ ├── awssnssqs_test.go │ │ ├── example_test.go │ │ └── testdata/ │ │ ├── TestConformanceSNSTopic/ │ │ │ ├── TestAs/ │ │ │ │ ├── aws_test.replay │ │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ │ ├── TestBatching.replay │ │ │ ├── TestCancelSendReceive.replay │ │ │ ├── TestDoubleAck.replay │ │ │ ├── TestErrorOnReceiveFromClosedSubscription.replay │ │ │ ├── TestErrorOnSendToClosedTopic.replay │ │ │ ├── TestMetadata.replay │ │ │ ├── TestNack.replay │ │ │ ├── TestNonExistentSubscriptionSucceedsOnOpenButFailsOnReceive.replay │ │ │ ├── TestNonExistentTopicSucceedsOnOpenButFailsOnSend.replay │ │ │ ├── TestNonUTF8MessageBody.replay │ │ │ ├── TestSendReceive.replay │ │ │ ├── TestSendReceiveJSON.replay │ │ │ └── TestSendReceiveTwo.replay │ │ ├── TestConformanceSNSTopicRaw/ │ │ │ ├── TestAs/ │ │ │ │ ├── aws_test.replay │ │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ │ ├── TestBatching.replay │ │ │ ├── TestCancelSendReceive.replay │ │ │ ├── TestDoubleAck.replay │ │ │ ├── TestErrorOnReceiveFromClosedSubscription.replay │ │ │ ├── TestErrorOnSendToClosedTopic.replay │ │ │ ├── TestMetadata.replay │ │ │ ├── TestNack.replay │ │ │ ├── TestNonExistentSubscriptionSucceedsOnOpenButFailsOnReceive.replay │ │ │ ├── TestNonExistentTopicSucceedsOnOpenButFailsOnSend.replay │ │ │ ├── TestNonUTF8MessageBody.replay │ │ │ ├── TestSendReceive.replay │ │ │ ├── TestSendReceiveJSON.replay │ │ │ └── TestSendReceiveTwo.replay │ │ ├── TestConformanceSQSTopic/ │ │ │ ├── TestAs/ │ │ │ │ ├── aws_test.replay │ │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ │ ├── TestBatching.replay │ │ │ ├── TestCancelSendReceive.replay │ │ │ ├── TestDoubleAck.replay │ │ │ ├── TestErrorOnReceiveFromClosedSubscription.replay │ │ │ ├── TestErrorOnSendToClosedTopic.replay │ │ │ ├── TestMetadata.replay │ │ │ ├── TestNack.replay │ │ │ ├── TestNonExistentSubscriptionSucceedsOnOpenButFailsOnReceive.replay │ │ │ ├── TestNonExistentTopicSucceedsOnOpenButFailsOnSend.replay │ │ │ ├── TestNonUTF8MessageBody.replay │ │ │ ├── TestSendReceive.replay │ │ │ ├── TestSendReceiveJSON.replay │ │ │ └── TestSendReceiveTwo.replay │ │ └── TestFIFO/ │ │ ├── TestSNSTopic/ │ │ │ ├── TestSendReceiveInvalidNoDeduplicationID.replay │ │ │ ├── TestSendReceiveInvalidNoMessageGroupID.replay │ │ │ └── TestSendReceiveValid.replay │ │ └── TestSQSTopic/ │ │ ├── TestSendReceiveInvalidNoDeduplicationID.replay │ │ ├── TestSendReceiveInvalidNoMessageGroupID.replay │ │ └── TestSendReceiveValid.replay │ ├── azuresb/ │ │ ├── azuresb.go │ │ ├── azuresb_test.go │ │ ├── example_test.go │ │ └── testdata/ │ │ └── README │ ├── batcher/ │ │ ├── batcher.go │ │ └── batcher_test.go │ ├── benchmark_test.go │ ├── driver/ │ │ └── driver.go │ ├── drivertest/ │ │ └── drivertest.go │ ├── example_test.go │ ├── gcppubsub/ │ │ ├── example_test.go │ │ ├── gcppubsub.go │ │ ├── gcppubsub_test.go │ │ └── testdata/ │ │ └── TestConformance/ │ │ ├── TestAs/ │ │ │ ├── gcp_test.replay │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ ├── TestBatching.replay │ │ ├── TestCancelSendReceive.replay │ │ ├── TestDoubleAck.replay │ │ ├── TestErrorOnReceiveFromClosedSubscription.replay │ │ ├── TestErrorOnSendToClosedTopic.replay │ │ ├── TestMetadata.replay │ │ ├── TestNack.replay │ │ ├── TestNonExistentSubscriptionSucceedsOnOpenButFailsOnReceive.replay │ │ ├── TestNonExistentTopicSucceedsOnOpenButFailsOnSend.replay │ │ ├── TestNonUTF8MessageBody.replay │ │ ├── TestSendReceive.replay │ │ ├── TestSendReceiveJSON.replay │ │ └── TestSendReceiveTwo.replay │ ├── gcppubsubv2/ │ │ ├── example_test.go │ │ ├── gcppubsub.go │ │ └── gcppubsub_test.go │ ├── kafkapubsub/ │ │ ├── example_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── kafka.go │ │ ├── kafka_test.go │ │ └── localkafka.sh │ ├── mempubsub/ │ │ ├── conformance_test.go │ │ ├── example_test.go │ │ ├── mem.go │ │ └── mem_test.go │ ├── natspubsub/ │ │ ├── example_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── nats.go │ │ └── nats_test.go │ ├── pub_test.go │ ├── pubsub.go │ ├── pubsub_test.go │ ├── rabbitpubsub/ │ │ ├── amqp.go │ │ ├── doc.go │ │ ├── example_test.go │ │ ├── fake_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── localrabbit.sh │ │ ├── rabbit.go │ │ └── rabbit_test.go │ └── sub_test.go ├── runtimevar/ │ ├── awsparamstore/ │ │ ├── awsparamstore.go │ │ ├── awsparamstore_test.go │ │ ├── example_test.go │ │ └── testdata/ │ │ └── TestConformance/ │ │ ├── TestAs/ │ │ │ ├── verify_As.replay │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ ├── TestDelete.replay │ │ ├── TestInvalidJSON.replay │ │ ├── TestJSON.replay │ │ ├── TestNonExistentVariable.replay │ │ ├── TestString.replay │ │ ├── TestUpdate.replay │ │ └── TestUpdateWithErrors.replay │ ├── awssecretsmanager/ │ │ ├── awssecretsmanager.go │ │ ├── awssecretsmanager_test.go │ │ ├── example_test.go │ │ └── testdata/ │ │ └── TestConformance/ │ │ ├── TestAs/ │ │ │ ├── verify_As.replay │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ ├── TestConformanceV2/ │ │ │ ├── TestAs/ │ │ │ │ ├── verify_As.replay │ │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ │ ├── TestDelete.replay │ │ │ ├── TestInvalidJSON.replay │ │ │ ├── TestJSON.replay │ │ │ ├── TestNonExistentVariable.replay │ │ │ ├── TestString.replay │ │ │ ├── TestUpdate.replay │ │ │ └── TestUpdateWithErrors.replay │ │ ├── TestDelete.replay │ │ ├── TestInvalidJSON.replay │ │ ├── TestJSON.replay │ │ ├── TestNonExistentVariable.replay │ │ ├── TestString.replay │ │ ├── TestUpdate.replay │ │ └── TestUpdateWithErrors.replay │ ├── blobvar/ │ │ ├── blobvar.go │ │ ├── blobvar_test.go │ │ └── example_test.go │ ├── constantvar/ │ │ ├── constantvar.go │ │ ├── constantvar_test.go │ │ └── example_test.go │ ├── driver/ │ │ └── driver.go │ ├── drivertest/ │ │ └── drivertest.go │ ├── etcdvar/ │ │ ├── etcdvar.go │ │ ├── etcdvar_test.go │ │ ├── example_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ └── localetcd.sh │ ├── example_openvariable_test.go │ ├── example_test.go │ ├── filevar/ │ │ ├── example_test.go │ │ ├── filevar.go │ │ └── filevar_test.go │ ├── gcpruntimeconfig/ │ │ ├── example_test.go │ │ ├── gcpruntimeconfig.go │ │ ├── gcpruntimeconfig_test.go │ │ └── testdata/ │ │ └── TestConformance/ │ │ ├── TestAs/ │ │ │ ├── verify_As.replay │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ ├── TestDelete.replay │ │ ├── TestInvalidJSON.replay │ │ ├── TestJSON.replay │ │ ├── TestNonExistentVariable.replay │ │ ├── TestString.replay │ │ ├── TestUpdate.replay │ │ └── TestUpdateWithErrors.replay │ ├── gcpsecretmanager/ │ │ ├── example_test.go │ │ ├── gcpsecretmanager.go │ │ ├── gcpsecretmanager_test.go │ │ └── testdata/ │ │ └── TestConformance/ │ │ ├── TestAs/ │ │ │ ├── verify_As.replay │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ ├── TestDelete.replay │ │ ├── TestInvalidJSON.replay │ │ ├── TestJSON.replay │ │ ├── TestNonExistentVariable.replay │ │ ├── TestString.replay │ │ ├── TestUpdate.replay │ │ └── TestUpdateWithErrors.replay │ ├── hashivault/ │ │ ├── example_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── hashivault.go │ │ ├── hashivault_test.go │ │ └── localvault.sh │ ├── httpvar/ │ │ ├── example_test.go │ │ ├── httpvar.go │ │ └── httpvar_test.go │ ├── otel_test.go │ ├── runtimevar.go │ └── runtimevar_test.go ├── samples/ │ ├── appengine/ │ │ ├── .gcloudignore │ │ ├── README.md │ │ ├── app.yaml │ │ └── helloworld.go │ ├── go.mod │ ├── go.sum │ ├── gocdk-blob/ │ │ ├── blob.ct │ │ ├── main.go │ │ └── main_test.go │ ├── gocdk-docstore/ │ │ ├── docstore.ct │ │ ├── main.go │ │ └── main_test.go │ ├── gocdk-pubsub/ │ │ ├── main.go │ │ ├── main_test.go │ │ └── pubsub.ct │ ├── gocdk-runtimevar/ │ │ ├── main.go │ │ ├── main_test.go │ │ └── runtimevar.ct │ ├── gocdk-secrets/ │ │ ├── main.go │ │ ├── main_test.go │ │ └── secrets.ct │ ├── guestbook/ │ │ ├── README.md │ │ ├── aws/ │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── provision_db/ │ │ │ │ └── main.go │ │ │ └── variables.tf │ │ ├── azure/ │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ ├── blobs/ │ │ │ └── motd.txt │ │ ├── gcp/ │ │ │ ├── .gcloudignore │ │ │ ├── Dockerfile │ │ │ ├── deploy/ │ │ │ │ └── main.go │ │ │ ├── guestbook.yaml.in │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── provision_db/ │ │ │ │ └── main.go │ │ │ └── variables.tf │ │ ├── inject_aws.go │ │ ├── inject_azure.go │ │ ├── inject_gcp.go │ │ ├── inject_local.go │ │ ├── localdb/ │ │ │ └── main.go │ │ ├── main.go │ │ ├── roles.sql │ │ ├── schema.sql │ │ ├── telemetry.go │ │ └── wire_gen.go │ ├── order/ │ │ ├── common.go │ │ ├── frontend.go │ │ ├── frontend_test.go │ │ ├── index.html │ │ ├── list.htmlt │ │ ├── order-form.htmlt │ │ ├── order.go │ │ ├── processor.go │ │ ├── processor_test.go │ │ ├── style.css │ │ └── testdata/ │ │ ├── bad-image │ │ └── cat1 │ ├── server/ │ │ └── main.go │ ├── tutorial/ │ │ ├── README.md │ │ └── main.go │ └── wire/ │ └── README.md ├── secrets/ │ ├── awskms/ │ │ ├── example_test.go │ │ ├── kms.go │ │ ├── kms_test.go │ │ └── testdata/ │ │ └── TestConformance/ │ │ ├── TestAs/ │ │ │ ├── verify_As_function.replay │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ ├── TestDecryptMalformedError.replay │ │ ├── TestEncryptDecrypt.replay │ │ ├── TestMultipleEncryptionsNotEqual.replay │ │ └── TestMultipleKeys.replay │ ├── azurekeyvault/ │ │ ├── akv.go │ │ ├── akv_test.go │ │ ├── example_test.go │ │ └── testdata/ │ │ └── TestConformance/ │ │ ├── TestAs/ │ │ │ ├── verify_As_function.replay │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ ├── TestDecryptMalformedError.replay │ │ ├── TestEncryptDecrypt.replay │ │ ├── TestMultipleEncryptionsNotEqual.replay │ │ └── TestMultipleKeys.replay │ ├── driver/ │ │ └── driver.go │ ├── drivertest/ │ │ └── drivertest.go │ ├── example_openkeeper_test.go │ ├── example_test.go │ ├── gcpkms/ │ │ ├── example_test.go │ │ ├── kms.go │ │ ├── kms_test.go │ │ └── testdata/ │ │ ├── TestAdditionalAuthenticatedData.replay │ │ └── TestConformance/ │ │ ├── TestAs/ │ │ │ ├── verify_As_function.replay │ │ │ └── verify_As_returns_false_when_passed_nil.replay │ │ ├── TestDecryptMalformedError.replay │ │ ├── TestEncryptDecrypt.replay │ │ ├── TestMultipleEncryptionsNotEqual.replay │ │ └── TestMultipleKeys.replay │ ├── hashivault/ │ │ ├── example_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── localvault.sh │ │ ├── vault.go │ │ └── vault_test.go │ ├── localsecrets/ │ │ ├── example_test.go │ │ ├── localsecrets.go │ │ └── localsecrets_test.go │ ├── secrets.go │ └── secrets_test.go ├── server/ │ ├── driver/ │ │ └── driver.go │ ├── example_test.go │ ├── health/ │ │ ├── health.go │ │ ├── health_test.go │ │ └── sqlhealth/ │ │ ├── sqlhealth.go │ │ └── sqlhealth_test.go │ ├── requestlog/ │ │ ├── ncsa.go │ │ ├── ncsa_test.go │ │ ├── requestlog.go │ │ ├── requestlog_test.go │ │ ├── stackdriver.go │ │ └── stackdriver_test.go │ ├── sdserver/ │ │ └── server.go │ ├── server.go │ ├── server_test.go │ └── xrayserver/ │ └── server.go └── wire/ └── README.md