This is an automated email from the ASF dual-hosted git repository.
btellier pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git.
from 2648753 JAMES-3368 add integration test for email get/ keywords
new e107a3b JAMES-3028 add retry for reactor with async callback
new 77edc84 JAMES-3028 promote DataChunker as a general-purpose util
new e60349c JAMES-3028 S3 DumbBlobStore Implementation
new c097fd1 JAMES-3028 replace jcloud with S3-only implementation
new 268d7af JAMES-3028 remove jcloud BlobStore implementation
new 9f73a00 JAMES-3028 ADR about using S3-over-Swift
new 8a18ca7 JAMES-3028 add URI typing to AWS S3 endpoint
new ae7beae JAMES-3028 move S3BlobConfiguration to blob-s3 and rename
beans
new bf92250 JAMES-3028 use file backend for cloudserver
new 89e2edb JAMES-3028 try to align netty libraries to solve a
concurrency issue
new 866dec2 JAMES-3028 Drop Swift from configuration and documentation
new fc44fcf JAMES-3028 Document OpenStack's Swift dropping
new 5757d7f JAMES-3028 Significantly fasten S3 test
new d5e9315 JAMES-3028 Expose DeDuplication/PassThrough choice for S3
DumbBlobStore
new 16fb0f7 JAMES-3028 Docker configuration change for S3 usage
new 10d20fd JAMES-3028 Bump up s3-sdk to latest version and align netty
libs with it
new 416d0ce JAMES-3028 Use a pool for AWS S3 Client
new 48fa333 JAMES-3352 Rename DumbBlobStore to BlobStoreDAO
new 65049c3 JAMES-3373 EmailBodyPart.size must reflect the body size
new 3d4d1f0 JAMES-3373 Session object: update download endpoint
new 3019c6d JAMES-3373 Implement Email and EmailBodyPart download
new 3a3d0b1 JAMES-3373 Tests for delegation & download
new 993c77d JAMES-3373 Ensure downloads requires auth
new fe72dfe JAMES-3373 Tiny indent fixes
new 7662ea0 JAMES-3373 Use a sealed trait to represent BlobResolution
results
The 25 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
CHANGELOG.md | 7 +-
JenkinsfileStressTests.groovy | 24 +-
README.adoc | 14 +-
benchmarks/s3.properties | 23 +-
benchmarks/swift.properties | 96 -----
.../etc/james/templates/blobstore.properties | 17 +-
dockerfiles/run/docker-compose.yml | 22 +-
.../destination/conf/blob.properties | 96 +----
.../destination/conf/blob.properties | 96 +----
.../servers/pages/distributed/architecture.adoc | 4 +-
.../pages/distributed/configure/blobstore.adoc | 40 +-
.../servers/pages/distributed/run-docker.adoc | 6 +-
docs/modules/servers/pages/distributed/run.adoc | 39 +-
.../mail/CassandraMailboxMapperAclTest.java | 4 +-
.../vault/blob/BlobStoreDeletedMessageVault.java | 10 +-
.../james/vault/DeletedMessageVaultHookTest.java | 8 +-
.../blob/BlobStoreDeletedMessageVaultTest.java | 8 +-
.../smtp/cassandra-rabbitmq-object-storage/pom.xml | 18 +-
.../CassandraRabbitMQAwsS3SmtpTestRuleFactory.java | 9 +-
pom.xml | 16 +-
.../api/{DumbBlobStore.java => BlobStoreDAO.java} | 2 +-
...toreContract.java => BlobStoreDAOContract.java} | 2 +-
...bStoreFixture.java => BlobStoreDAOFixture.java} | 2 +-
...ntract.java => BucketBlobStoreDAOContract.java} | 42 +-
...ntract.java => DeleteBlobStoreDAOContract.java} | 44 +-
...ract.java => ReadSaveBlobStoreDAOContract.java} | 64 +--
...mbBlobStore.java => CassandraBlobStoreDAO.java} | 20 +-
.../blob/cassandra/CassandraBlobStoreFactory.java | 5 +-
...oreTest.java => CassandraBlobStoreDAOTest.java} | 12 +-
.../blob/cassandra/CassandraBlobStoreTest.java | 2 +-
.../CassandraPassTroughBlobStoreTest.java | 2 +-
...yDumbBlobStore.java => MemoryBlobStoreDAO.java} | 6 +-
.../james/blob/memory/MemoryBlobStoreFactory.java | 2 +-
...bStoreTest.java => MemoryBlobStoreDAOTest.java} | 12 +-
.../james/blob/objectstorage/AESPayloadCodec.java | 102 -----
.../james/blob/objectstorage/BlobPutter.java | 46 --
.../blob/objectstorage/DefaultPayloadCodec.java | 49 ---
.../blob/objectstorage/ObjectStorageBlobStore.java | 223 ----------
.../ObjectStorageBlobStoreBuilder.java | 124 ------
.../objectstorage/ObjectStorageBucketName.java | 73 ----
.../ObjectStorageBucketNameResolver.java | 104 -----
.../apache/james/blob/objectstorage/Payload.java | 41 --
.../james/blob/objectstorage/PayloadCodec.java | 33 --
.../objectstorage/SpecificAuthConfiguration.java | 24 --
.../objectstorage/StreamCompatibleBlobPutter.java | 120 ------
.../blob/objectstorage/aws/AwsS3ObjectStorage.java | 263 ------------
.../blob/objectstorage/crypto/CryptoConfig.java | 45 --
.../objectstorage/crypto/CryptoConfigBuilder.java | 48 ---
.../crypto/PBKDF2StreamingAeadFactory.java | 59 ---
.../blob/objectstorage/swift/Credentials.java | 64 ---
.../james/blob/objectstorage/swift/DomainId.java | 68 ---
.../james/blob/objectstorage/swift/DomainName.java | 64 ---
.../james/blob/objectstorage/swift/Identity.java | 79 ----
.../james/blob/objectstorage/swift/IdentityV3.java | 79 ----
.../blob/objectstorage/swift/PassHeaderName.java | 30 --
.../james/blob/objectstorage/swift/Project.java | 88 ----
.../blob/objectstorage/swift/ProjectName.java | 69 ---
.../swift/SwiftKeystone2ObjectStorage.java | 198 ---------
.../swift/SwiftKeystone3ObjectStorage.java | 248 -----------
.../swift/SwiftTempAuthObjectStorage.java | 244 -----------
.../james/blob/objectstorage/swift/TenantName.java | 64 ---
.../blob/objectstorage/swift/UserHeaderName.java | 30 --
.../james/blob/objectstorage/swift/UserName.java | 64 ---
.../blob/objectstorage/AESPayloadCodecTest.java | 87 ----
.../objectstorage/DefaultPayloadCodecTest.java | 52 ---
.../blob/objectstorage/DockerSwiftContainer.java | 135 ------
.../james/blob/objectstorage/DockerSwiftRule.java | 49 ---
.../blob/objectstorage/DockerSwiftSingleton.java | 31 --
.../ObjectStorageBlobStoreAWSCryptoTest.java | 89 ----
.../ObjectStorageBlobStoreAWSNamespaceTest.java | 83 ----
...tStorageBlobStoreAWSPrefixAndNamespaceTest.java | 84 ----
.../ObjectStorageBlobStoreContract.java | 49 ---
.../objectstorage/ObjectStorageBlobStoreTest.java | 210 ---------
.../ObjectStorageBucketNameResolverTest.java | 124 ------
.../objectstorage/ObjectStorageBucketNameTest.java | 55 ---
.../blob/objectstorage/PayloadCodecContract.java | 46 --
.../AwsS3ObjectStorageBlobStoreBuilderTest.java | 82 ----
.../objectstorage/aws/DockerAwsS3Extension.java | 53 ---
.../crypto/CryptoConfigBuilderTest.java | 82 ----
.../blob/objectstorage/swift/CredentialsTest.java | 53 ---
.../blob/objectstorage/swift/DomainIdTest.java | 59 ---
.../blob/objectstorage/swift/DomainNameTest.java | 53 ---
.../blob/objectstorage/swift/HeaderNameTest.java | 68 ---
.../blob/objectstorage/swift/IdentityTest.java | 53 ---
.../blob/objectstorage/swift/IdentityV3Test.java | 55 ---
.../blob/objectstorage/swift/ProjectNameTest.java | 58 ---
.../blob/objectstorage/swift/ProjectTest.java | 69 ---
.../james/blob/objectstorage/swift/RegionTest.java | 53 ---
...Keystone2ObjectStorageBlobStoreBuilderTest.java | 83 ----
...iftKeystone2ObjectStorageConfigurationTest.java | 120 ------
...Keystone3ObjectStorageBlobStoreBuilderTest.java | 119 -----
...iftKeystone3ObjectStorageConfigurationTest.java | 161 -------
...tTempAuthObjectStorageBlobStoreBuilderTest.java | 85 ----
...wiftTempAuthObjectStorageConfigurationTest.java | 121 ------
.../blob/objectstorage/swift/TenantNameTest.java | 53 ---
.../blob/objectstorage/swift/UserNameTest.java | 52 ---
.../blob/{blob-objectstorage => blob-s3}/pom.xml | 99 ++---
.../objectstorage/aws/AwsS3AuthConfiguration.java | 53 ++-
.../james/blob/objectstorage/aws}/Region.java | 30 +-
.../aws/S3BlobStoreConfiguration.java | 149 +++++++
.../blob/objectstorage/aws/S3BlobStoreDAO.java | 293 +++++++++++++
.../aws/AwsS3AuthConfigurationTest.java | 89 ++--
.../james/blob/objectstorage/aws}/DockerAwsS3.java | 10 +-
.../objectstorage/aws/DockerAwsS3Container.java | 48 ++-
.../objectstorage/aws/DockerAwsS3Extension.java} | 31 +-
.../objectstorage/aws}/DockerAwsS3Singleton.java | 5 +-
.../james/blob/objectstorage/aws/RegionTest.java} | 26 +-
.../objectstorage/aws/S3BlobStoreDAOTest.java} | 63 ++-
.../aws/S3DeDuplicationBlobStoreTest.java} | 56 ++-
.../aws/S3PassThroughBlobStoreTest.java} | 59 ++-
.../blob/deduplication/BlobStoreFactory.java | 14 +-
.../deduplication/DeDuplicationBlobStore.scala | 14 +-
.../blob/deduplication/PassThroughBlobStore.scala | 16 +-
server/blob/pom.xml | 2 +-
.../org/apache/james/modules/BlobMemoryModule.java | 8 +-
.../ObjectStorageBlobConfiguration.java | 279 ------------
.../ObjectStorageDependenciesModule.java | 97 -----
.../objectstorage/ObjectStorageProvider.java | 42 --
.../modules/objectstorage/PayloadCodecFactory.java | 43 --
.../aws/s3/AwsS3ConfigurationReader.java | 40 --
.../swift/SwiftAuthConfiguration.java | 128 ------
.../objectstorage/swift/SwiftConfiguration.java | 26 --
.../swift/SwiftKeystone2ConfigurationReader.java | 74 ----
.../swift/SwiftKeystone3ConfigurationReader.java | 131 ------
.../objectstorage/swift/SwiftObjectStorage.java | 66 ---
.../swift/SwiftTmpAuthConfigurationReader.java | 90 ----
.../objectstorage/MapConfigurationBuilder.java | 41 --
.../ObjectStorageBlobConfigurationTest.java | 207 ---------
.../objectstorage/ObjectStorageProviderTest.java | 48 ---
.../SwiftKeystone2ConfigurationReaderTest.java | 151 -------
.../SwiftKeystone3ConfigurationReaderTest.java | 255 -----------
.../SwiftTmpAuthConfigurationReaderTest.java | 184 --------
.../objectstorage/aws/s3/DockerAwsS3TestRule.java | 118 -----
.../objectstorage/swift/DockerSwiftTestRule.java | 117 -----
.../swift/ObjectStorageBlobConfigurationTest.java | 178 --------
.../swift/ObjectStorageBlobStoreModuleTest.java | 144 -------
.../swift/SwiftObjectStorageTest.java | 127 ------
.../pom.xml | 18 +-
.../S3BlobStoreConfigurationReader.java | 52 +++
.../modules/objectstorage/S3BlobStoreModule.java | 79 ++++
.../aws/s3/AwsS3ConfigurationReader.java} | 37 +-
.../aws/s3/AwsS3ConfigurationReaderTest.java | 40 +-
.../objectstorage/aws/s3/DockerAwsS3TestRule.java | 93 ++++
.../CassandraBlobStoreDependenciesModule.java | 4 +-
.../modules/mailbox/CassandraBlobStoreModule.java | 8 +-
.../guice/cassandra-rabbitmq-guice/pom.xml | 27 +-
.../modules/blobstore/BlobStoreChoosingModule.java | 2 -
.../modules/blobstore/BlobStoreConfiguration.java | 10 +-
.../modules/blobstore/BlobStoreModulesChooser.java | 45 +-
.../james/modules/blobstore/NoopDumbBlobStore.java | 83 ----
.../james/CassandraRabbitMQAwsS3JmapTestRule.java | 5 +-
.../james/CassandraRabbitMQJamesServerFixture.java | 2 +-
.../org/apache/james/WithCacheImmutableTest.java | 2 +-
.../james/WithDefaultAwsS3ImmutableTest.java | 15 -
.../apache/james/WithDefaultSwiftMutableTest.java | 31 --
.../james/WithEncryptedAwsS3ImmutableTest.java | 48 ---
.../james/WithEncryptedAwsS3MutableTest.java | 32 --
.../james/WithEncryptedSwiftImmutableTest.java | 49 ---
.../james/WithEncryptedSwiftMutableTest.java | 32 --
.../james/WithScanningSearchImmutableTest.java | 2 +-
.../james/modules/AwsS3BlobStoreExtension.java | 8 +-
.../james/modules/SwiftBlobStoreExtension.java | 55 ---
.../BlobStoreCacheModulesChooserTest.java | 4 +-
.../blobstore/BlobStoreConfigurationTest.java | 39 +-
.../blobstore/BlobStoreModulesChooserTest.java | 6 +-
...eStrategyValidationEventSourcingSystemTest.java | 17 +-
.../guice/cassandra-rabbitmq-ldap-guice/pom.xml | 18 +-
.../CassandraRabbitMQLdapJmapJamesServerTest.java | 23 +-
server/container/guice/pom.xml | 2 +-
.../james/jmap/rfc8621/RFC8621MethodsModule.java | 5 +-
server/container/util/pom.xml | 9 +
.../java/org/apache/james/util}/DataChunker.java | 8 +-
.../java/reactor/retry/RetryWithAsyncCallback.java | 270 ++++++++++++
.../org/apache/james/util}/DataChunkerTest.java | 2 +-
.../test/java/reactor/retry/RetryTestUtils.java | 122 ++++++
.../reactor/retry/RetryWithAsyncCallbackTest.java | 391 +++++++++++++++++
.../pom.xml | 22 +-
.../pom.xml | 18 +-
.../rabbitmq/RabbitMQAwsS3SendMDNMethodTest.java | 2 +-
.../RabbitMQAwsS3SpamAssassinContractTest.java | 2 +-
.../cucumber/awss3/CucumberAwsS3Singleton.java | 2 -
.../cucumber/awss3/RabbitMQAwsS3Stepdefs.java | 8 +-
.../pom.xml | 4 +-
.../distributed/DistributedAuthenticationTest.java | 2 +-
...ethodTest.java => DistributedDownloadTest.java} | 6 +-
.../distributed/DistributedEchoMethodTest.java | 2 +-
.../distributed/DistributedEmailGetMethodTest.java | 2 +-
.../DistributedEmailQueryMethodTest.java | 2 +-
.../DistributedMailboxGetMethodTest.java | 2 +-
.../DistributedMailboxSetMethodTest.java | 2 +-
.../distributed/DistributedProvisioningTest.java | 2 +-
.../distributed/DistributedSessionRouteTest.java | 4 +-
.../DistributedVacationResponseGetMethodTest.java | 2 +-
.../DistributedVacationResponseSetMethodTest.java | 2 +-
.../jmap/rfc8621/contract/DownloadContract.scala | 478 +++++++++++++++++++++
.../rfc8621/contract/EmailGetMethodContract.scala | 38 +-
.../rfc8621/contract/SessionRoutesContract.scala | 2 +-
.../jmap/rfc8621/memory/MemoryDownloadTest.java} | 38 +-
.../org/apache/james/jmap/mail/EmailBodyPart.scala | 26 +-
.../jmap/model/JmapRfc8621Configuration.scala | 3 +-
.../apache/james/jmap/routes/DownloadRoutes.scala | 249 +++++++++++
.../apache/james/jmap/http/SessionRoutesTest.scala | 3 +-
.../jmap/model/JmapRfc8621ConfigurationTest.scala | 4 +-
.../distributed-webadmin-integration-test/pom.xml | 4 +-
.../rabbitmq/ConsistencyTasksIntegrationTest.java | 4 +-
.../rabbitmq/FixingGhostMailboxTest.java | 2 +-
.../rabbitmq/RabbitMQAuthorizedEndpointsTest.java | 4 +-
.../RabbitMQEventDeadLettersIntegrationTest.java | 2 +-
...stViewProjectionHealthCheckIntegrationTest.java | 2 +-
.../rabbitmq/RabbitMQForwardIntegrationTest.java | 2 +-
.../rabbitmq/RabbitMQJwtFilterIntegrationTest.java | 2 +-
...RabbitMQReindexingWithEventDeadLettersTest.java | 5 +-
.../RabbitMQUnauthorizedEndpointsTest.java | 2 +-
.../RabbitMQWebAdminServerIntegrationTest.java | 4 +-
...dminServerTaskSerializationIntegrationTest.java | 2 +-
...RabbitMQDeletedMessageVaultIntegrationTest.java | 2 +-
...LinshareBlobExportMechanismIntegrationTest.java | 2 +-
.../routes/DeletedMessagesVaultRoutesTest.java | 8 +-
src/adr/0041-replace-jcloud-with-s3.md | 43 ++
src/homepage/howTo/deleted-messages-vault.html | 17 +-
.../install/guice-cassandra-rabbitmq-swift.md | 29 +-
src/site/xdoc/server/config-blobstore.xml | 109 +----
upgrade-instructions.md | 12 +
223 files changed, 3021 insertions(+), 9652 deletions(-)
delete mode 100644 benchmarks/swift.properties
rename
server/blob/blob-api/src/main/java/org/apache/james/blob/api/{DumbBlobStore.java
=> BlobStoreDAO.java} (99%)
rename
server/blob/blob-api/src/test/java/org/apache/james/blob/api/{DumbBlobStoreContract.java
=> BlobStoreDAOContract.java} (89%)
rename
server/blob/blob-api/src/test/java/org/apache/james/blob/api/{DumbBlobStoreFixture.java
=> BlobStoreDAOFixture.java} (98%)
rename
server/blob/blob-api/src/test/java/org/apache/james/blob/api/{BucketDumbBlobStoreContract.java
=> BucketBlobStoreDAOContract.java} (85%)
rename
server/blob/blob-api/src/test/java/org/apache/james/blob/api/{DeleteDumbBlobStoreContract.java
=> DeleteBlobStoreDAOContract.java} (87%)
rename
server/blob/blob-api/src/test/java/org/apache/james/blob/api/{ReadSaveDumbBlobStoreContract.java
=> ReadSaveBlobStoreDAOContract.java} (90%)
rename
server/blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/{CassandraDumbBlobStore.java
=> CassandraBlobStoreDAO.java} (92%)
rename
server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/{CassandraDumbBlobStoreTest.java
=> CassandraBlobStoreDAOTest.java} (89%)
rename
server/blob/blob-memory/src/main/java/org/apache/james/blob/memory/{MemoryDumbBlobStore.java
=> MemoryBlobStoreDAO.java} (96%)
rename
server/blob/blob-memory/src/test/java/org/apache/james/blob/memory/{MemoryDumbBlobStoreTest.java
=> MemoryBlobStoreDAOTest.java} (82%)
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/AESPayloadCodec.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/BlobPutter.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/DefaultPayloadCodec.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobStore.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobStoreBuilder.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBucketName.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBucketNameResolver.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/Payload.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/PayloadCodec.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/SpecificAuthConfiguration.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/StreamCompatibleBlobPutter.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorage.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/crypto/CryptoConfig.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/crypto/CryptoConfigBuilder.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/crypto/PBKDF2StreamingAeadFactory.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/Credentials.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/DomainId.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/DomainName.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/Identity.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/IdentityV3.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/PassHeaderName.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/Project.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/ProjectName.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone2ObjectStorage.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone3ObjectStorage.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/SwiftTempAuthObjectStorage.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/TenantName.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/UserHeaderName.java
delete mode 100644
server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/UserName.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/AESPayloadCodecTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/DefaultPayloadCodecTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/DockerSwiftContainer.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/DockerSwiftRule.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/DockerSwiftSingleton.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobStoreAWSCryptoTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobStoreAWSNamespaceTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobStoreAWSPrefixAndNamespaceTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobStoreContract.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobStoreTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBucketNameResolverTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBucketNameTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/PayloadCodecContract.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorageBlobStoreBuilderTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/DockerAwsS3Extension.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/crypto/CryptoConfigBuilderTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/CredentialsTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/DomainIdTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/DomainNameTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/HeaderNameTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/IdentityTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/IdentityV3Test.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/ProjectNameTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/ProjectTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/RegionTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone2ObjectStorageBlobStoreBuilderTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone2ObjectStorageConfigurationTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone3ObjectStorageBlobStoreBuilderTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone3ObjectStorageConfigurationTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftTempAuthObjectStorageBlobStoreBuilderTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftTempAuthObjectStorageConfigurationTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/TenantNameTest.java
delete mode 100644
server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/UserNameTest.java
rename server/blob/{blob-objectstorage => blob-s3}/pom.xml (57%)
rename server/blob/{blob-objectstorage =>
blob-s3}/src/main/java/org/apache/james/blob/objectstorage/aws/AwsS3AuthConfiguration.java
(65%)
rename
server/blob/{blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift
=> blob-s3/src/main/java/org/apache/james/blob/objectstorage/aws}/Region.java
(75%)
create mode 100644
server/blob/blob-s3/src/main/java/org/apache/james/blob/objectstorage/aws/S3BlobStoreConfiguration.java
create mode 100644
server/blob/blob-s3/src/main/java/org/apache/james/blob/objectstorage/aws/S3BlobStoreDAO.java
rename server/blob/{blob-objectstorage =>
blob-s3}/src/test/java/org/apache/james/blob/objectstorage/aws/AwsS3AuthConfigurationTest.java
(53%)
rename
server/blob/{blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage
=>
blob-s3/src/test/java/org/apache/james/blob/objectstorage/aws}/DockerAwsS3.java
(85%)
rename server/blob/{blob-objectstorage =>
blob-s3}/src/test/java/org/apache/james/blob/objectstorage/aws/DockerAwsS3Container.java
(52%)
rename
server/blob/{blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/DockerSwiftExtension.java
=>
blob-s3/src/test/java/org/apache/james/blob/objectstorage/aws/DockerAwsS3Extension.java}
(70%)
rename
server/blob/{blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage
=>
blob-s3/src/test/java/org/apache/james/blob/objectstorage/aws}/DockerAwsS3Singleton.java
(92%)
rename
server/blob/{blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/crypto/CryptoException.java
=>
blob-s3/src/test/java/org/apache/james/blob/objectstorage/aws/RegionTest.java}
(72%)
rename
server/blob/{blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/swift/HeaderName.java
=>
blob-s3/src/test/java/org/apache/james/blob/objectstorage/aws/S3BlobStoreDAOTest.java}
(52%)
rename
server/blob/{blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobStoreAWSPrefixTest.java
=>
blob-s3/src/test/java/org/apache/james/blob/objectstorage/aws/S3DeDuplicationBlobStoreTest.java}
(54%)
rename
server/blob/{blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobStoreAWSTest.java
=>
blob-s3/src/test/java/org/apache/james/blob/objectstorage/aws/S3PassThroughBlobStoreTest.java}
(53%)
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageProvider.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/PayloadCodecFactory.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReader.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftAuthConfiguration.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftConfiguration.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone2ConfigurationReader.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone3ConfigurationReader.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftObjectStorage.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftTmpAuthConfigurationReader.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/MapConfigurationBuilder.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfigurationTest.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageProviderTest.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone2ConfigurationReaderTest.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone3ConfigurationReaderTest.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftTmpAuthConfigurationReaderTest.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/aws/s3/DockerAwsS3TestRule.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/DockerSwiftTestRule.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/ObjectStorageBlobConfigurationTest.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/ObjectStorageBlobStoreModuleTest.java
delete mode 100644
server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/SwiftObjectStorageTest.java
rename server/container/guice/{blob-objectstorage-guice =>
blob-s3-guice}/pom.xml (88%)
create mode 100644
server/container/guice/blob-s3-guice/src/main/java/org/apache/james/modules/objectstorage/S3BlobStoreConfigurationReader.java
create mode 100644
server/container/guice/blob-s3-guice/src/main/java/org/apache/james/modules/objectstorage/S3BlobStoreModule.java
rename
server/{blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/DockerSwift.java
=>
container/guice/blob-s3-guice/src/main/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReader.java}
(53%)
rename server/container/guice/{blob-objectstorage-guice =>
blob-s3-guice}/src/test/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReaderTest.java
(66%)
create mode 100644
server/container/guice/blob-s3-guice/src/test/java/org/apache/james/modules/objectstorage/aws/s3/DockerAwsS3TestRule.java
delete mode 100644
server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/NoopDumbBlobStore.java
delete mode 100644
server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithDefaultSwiftMutableTest.java
delete mode 100644
server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithEncryptedAwsS3ImmutableTest.java
delete mode 100644
server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithEncryptedAwsS3MutableTest.java
delete mode 100644
server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithEncryptedSwiftImmutableTest.java
delete mode 100644
server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithEncryptedSwiftMutableTest.java
delete mode 100644
server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/SwiftBlobStoreExtension.java
rename
server/{blob/blob-cassandra/src/main/java/org/apache/james/blob/cassandra/utils
=> container/util/src/main/java/org/apache/james/util}/DataChunker.java (91%)
create mode 100644
server/container/util/src/main/java/reactor/retry/RetryWithAsyncCallback.java
rename
server/{blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/utils
=> container/util/src/test/java/org/apache/james/util}/DataChunkerTest.java
(99%)
create mode 100644
server/container/util/src/test/java/reactor/retry/RetryTestUtils.java
create mode 100644
server/container/util/src/test/java/reactor/retry/RetryWithAsyncCallbackTest.java
copy
server/protocols/jmap-rfc-8621-integration-tests/distributed-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/distributed/{DistributedEmailGetMethodTest.java
=> DistributedDownloadTest.java} (94%)
create mode 100644
server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/DownloadContract.scala
rename
server/{container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithDefaultSwiftImmutableTest.java
=>
protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/memory/MemoryDownloadTest.java}
(54%)
create mode 100644
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/DownloadRoutes.scala
create mode 100644 src/adr/0041-replace-jcloud-with-s3.md
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]