diff --git a/admin-app/src/main/kotlin/com/epam/drill/admin/config/DatabaseConfig.kt b/admin-app/src/main/kotlin/com/epam/drill/admin/config/DatabaseConfig.kt index 3a9d2154e..61c52950e 100644 --- a/admin-app/src/main/kotlin/com/epam/drill/admin/config/DatabaseConfig.kt +++ b/admin-app/src/main/kotlin/com/epam/drill/admin/config/DatabaseConfig.kt @@ -43,6 +43,9 @@ class DatabaseConfig(private val config: ApplicationConfig) { val maxPoolSize: Int get() = config.propertyOrNull("maximumPoolSize")?.getString()?.toInt() ?: 50 + + val ssl: Boolean + get() = config.propertyOrNull("ssl")?.getString()?.toBooleanStrictOrNull() ?: false } val dataSourceDIModule = DI.Module("dataSource") { @@ -69,6 +72,10 @@ val dataSourceDIModule = DI.Module("dataSource") { this.transactionIsolation = "TRANSACTION_READ_UNCOMMITTED" this.addDataSourceProperty("rewriteBatchedInserts", true) this.addDataSourceProperty("rewriteBatchedStatements", true) + if (databaseConfig.ssl) { + this.addDataSourceProperty("ssl", true) + this.addDataSourceProperty("sslmode", "require") + } this.validate() } } diff --git a/admin-app/src/main/resources/application.conf b/admin-app/src/main/resources/application.conf index dd7146f5e..f1252b4ee 100644 --- a/admin-app/src/main/resources/application.conf +++ b/admin-app/src/main/resources/application.conf @@ -24,6 +24,8 @@ drill { userName = ${?DRILL_DB_USER_NAME} password = ${?DRILL_DB_PASSWORD} maximumPoolSize = ${?DRILL_DB_MAX_POOL_SIZE} + ssl = false + ssl = ${?DRILL_DB_SSL} } auth { jwt {