diff --git a/src/main/kotlin/app/revanced/api/command/StartAPICommand.kt b/src/main/kotlin/app/revanced/api/command/StartAPICommand.kt index 370fa76..f25a885 100644 --- a/src/main/kotlin/app/revanced/api/command/StartAPICommand.kt +++ b/src/main/kotlin/app/revanced/api/command/StartAPICommand.kt @@ -1,6 +1,7 @@ package app.revanced.api.command import app.revanced.api.configuration.* +import io.github.cdimascio.dotenv.Dotenv import io.ktor.server.engine.* import io.ktor.server.jetty.* import picocli.CommandLine @@ -33,6 +34,8 @@ internal object StartAPICommand : Runnable { private var configFile = File("configuration.toml") override fun run() { + Dotenv.configure().systemProperties().load() + embeddedServer(Jetty, port, host) { configureDependencies(configFile) configureHTTP() diff --git a/src/main/kotlin/app/revanced/api/configuration/Dependencies.kt b/src/main/kotlin/app/revanced/api/configuration/Dependencies.kt index 429cbde..451ae73 100644 --- a/src/main/kotlin/app/revanced/api/configuration/Dependencies.kt +++ b/src/main/kotlin/app/revanced/api/configuration/Dependencies.kt @@ -12,7 +12,6 @@ import app.revanced.api.configuration.services.OldApiService import app.revanced.api.configuration.services.PatchesService import com.akuleshov7.ktoml.Toml import com.akuleshov7.ktoml.source.decodeFromStream -import io.github.cdimascio.dotenv.Dotenv import io.ktor.client.* import io.ktor.client.engine.okhttp.* import io.ktor.client.plugins.* @@ -38,11 +37,7 @@ import java.io.File fun Application.configureDependencies( configFile: File, ) { - val globalModule = module { - single { - Dotenv.configure().load() - } - + val miscModule = module { factory { params -> val defaultRequestUri: String = params.get() val configBlock = params.getOrNull<(HttpClientConfig.() -> Unit)>() ?: {} @@ -72,7 +67,7 @@ fun Application.configureDependencies( ) } - get()["BACKEND_API_TOKEN"]?.let { + System.getProperty("BACKEND_API_TOKEN")?.let { install(Auth) { bearer { loadTokens { @@ -98,12 +93,10 @@ fun Application.configureDependencies( } single { - val dotenv = get() - TransactionManager.defaultDatabase = Database.connect( - url = dotenv["DB_URL"], - user = dotenv["DB_USER"], - password = dotenv["DB_PASSWORD"], + url = System.getProperty("DB_URL"), + user = System.getProperty("DB_USER"), + password = System.getProperty("DB_PASSWORD"), ) AnnouncementRepository() @@ -112,13 +105,11 @@ fun Application.configureDependencies( val serviceModule = module { single { - val dotenv = get() + val jwtSecret = System.getProperty("JWT_SECRET") + val issuer = System.getProperty("JWT_ISSUER") + val validityInMin = System.getProperty("JWT_VALIDITY_IN_MIN").toLong() - val jwtSecret = dotenv["JWT_SECRET"] - val issuer = dotenv["JWT_ISSUER"] - val validityInMin = dotenv["JWT_VALIDITY_IN_MIN"].toLong() - - val authSHA256DigestString = dotenv["AUTH_SHA256_DIGEST"] + val authSHA256DigestString = System.getProperty("AUTH_SHA256_DIGEST") AuthenticationService(issuer, validityInMin, jwtSecret, authSHA256DigestString) } @@ -140,7 +131,7 @@ fun Application.configureDependencies( install(Koin) { modules( - globalModule, + miscModule, repositoryModule, serviceModule, ) diff --git a/src/main/kotlin/app/revanced/api/configuration/HTTP.kt b/src/main/kotlin/app/revanced/api/configuration/HTTP.kt index 0e79530..b7d86e4 100644 --- a/src/main/kotlin/app/revanced/api/configuration/HTTP.kt +++ b/src/main/kotlin/app/revanced/api/configuration/HTTP.kt @@ -16,7 +16,7 @@ fun Application.configureHTTP() { configurationRepository.corsAllowedHosts.forEach { host -> allowHost( host = host, - schemes = listOf("http", "https") + schemes = listOf("http", "https"), ) } } diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index 6f0c78a..2d304de 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -4,7 +4,7 @@ %d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - +