Skip to content

Commit 9770c69

Browse files
authored
GH-2366 Add "reposilite.s3.use-s3-v4-signer" property to use the S3V4 signer
1 parent 94782c4 commit 9770c69

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

reposilite-backend/src/main/kotlin/com/reposilite/storage/s3/S3StorageProviderFactory.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,17 @@ import com.reposilite.status.FailureFacade
2121
import com.reposilite.storage.StorageProviderFactory
2222
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials
2323
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider
24+
import software.amazon.awssdk.auth.signer.AwsS3V4Signer
25+
import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption
2426
import software.amazon.awssdk.regions.Region
2527
import software.amazon.awssdk.services.s3.S3Client
2628
import software.amazon.awssdk.services.s3.S3Configuration
2729
import java.net.URI
2830
import java.nio.file.Path
2931
import java.time.Duration
3032

33+
private val useS3V4Signer = System.getProperty("reposilite.s3.use-s3-v4-signer", "false") == "true"
34+
3135
class S3StorageProviderFactory : StorageProviderFactory<S3StorageProvider, S3StorageProviderSettings> {
3236

3337
override fun create(
@@ -76,6 +80,10 @@ class S3StorageProviderFactory : StorageProviderFactory<S3StorageProvider, S3Sto
7680
cfg.backoffStrategy(ExponentialBackoffStrategy(Duration.ofSeconds(1), Duration.ofMinutes(1)))
7781
cfg.numRetries(5)
7882
}
83+
84+
if (useS3V4Signer) {
85+
it.putAdvancedOption(SdkAdvancedClientOption.SIGNER, AwsS3V4Signer.create())
86+
}
7987
}
8088

8189
return try {

0 commit comments

Comments
 (0)