in newswires/app/conf/Database.scala [76:112]
def configureRemoteDevDb(
ssm: SsmClient
): Unit = {
logger.info("building DB config for connecting to CODE DB from local")
val stack = "editorial-feeds"
val stage = "CODE"
val app = "newswires"
val ssa = s"/$stage/$stack/$app"
def getParamDirectly(name: String): String = {
val request = GetParameterRequest.builder().name(s"$ssa/$name").build()
val respo = ssm.getParameter(request)
respo.parameter().value()
}
val username = getParamDirectly("database/username")
val port = getParamDirectly("database/port")
val address = getParamDirectly("database/endpoint-address")
val databaseName = getParamDirectly("database/database-name")
val ds = new AwsWrapperDataSource()
ds.setJdbcProtocol("jdbc:postgresql:")
ds.setServerName("localhost")
ds.setDatabase(databaseName)
ds.setServerPort(port)
ds.setTargetDataSourceClassName("org.postgresql.ds.PGSimpleDataSource")
ds.setTargetDataSourceProperties(new Properties() {
setProperty("wrapperPlugins", "iam")
setProperty("iamRegion", "eu-west-1")
setProperty("iamHost", address)
setProperty("user", username)
setProperty("awsProfile", "editorial-feeds")
})
ConnectionPool.singleton(new DataSourceConnectionPool(ds))
}