in app/components/AppComponents.scala [122:163]
def mandatoryConfig(key: String): String = configuration
.get[Option[String]](key)
.getOrElse(sys.error(s"Missing config key: $key"))
val awsCredsForV1 = new AWSCredentialsProviderChain(
new ProfileCredentialsProvider("deployTools"),
new ProfileCredentialsProvider(),
InstanceProfileCredentialsProvider.getInstance()
)
val awsCredsForV2 = AwsCredentialsProviderChainV2
.builder()
.credentialsProviders(
ProfileCredentialsProviderV2.create("deployTools"),
ProfileCredentialsProviderV2.create(),
InstanceProfileCredentialsProviderV2.create()
)
.build()
val region = Regions.EU_WEST_1
val clientConfiguration = new ClientConfiguration().withRetryPolicy(
new RetryPolicy(
new LoggingRetryCondition(),
PredefinedRetryPolicies.DEFAULT_BACKOFF_STRATEGY,
20,
false
)
)
val secretStateSupplier: SnapshotProvider = {
new SecretSupplier(
TransitionTiming(usageDelay = ofMinutes(3), overlapDuration = ofHours(2)),
s"/$stage/deploy/amigo/play.http.secret.key",
AwsSdkV2(
SsmClient.builder
.credentialsProvider(awsCredsForV2)
.region(Region.of(region.getName))
.build()
)
)
}