Service Discovery einführen Consul als Service-Registry implementieren Services für automatische Registrierung konfigurieren Dynamisches Service-Routing im API-Gateway einrichten Health-Checks für jeden Service implementieren
129 lines
5.9 KiB
TOML
129 lines
5.9 KiB
TOML
[versions]
|
|
# Kotlin and related libraries
|
|
kotlin = "2.1.20"
|
|
kotlinxCoroutines = "1.10.1"
|
|
kotlinxSerialization = "1.8.1"
|
|
kotlinxDatetime = "0.6.1"
|
|
|
|
# Kotlin Wrappers for JS
|
|
kotlinWrappers = "1.0.0-pre.710"
|
|
|
|
# Compose
|
|
composeMultiplatform = "1.8.0" #"1.7.3"
|
|
|
|
# Ktor
|
|
ktor = "3.1.2"
|
|
|
|
# Monitoring
|
|
micrometer = "1.12.2"
|
|
|
|
# Database
|
|
exposed = "0.52.0"
|
|
postgresql = "42.7.3"
|
|
hikari = "5.1.0"
|
|
h2 = "2.2.224"
|
|
|
|
# Caching
|
|
redisson = "3.27.1"
|
|
caffeine = "3.1.8"
|
|
|
|
# Service Discovery
|
|
consul = "2.2.10"
|
|
orbitz-consul = "1.5.3"
|
|
|
|
# Logging
|
|
logback = "1.5.18"
|
|
logbackJsonEncoder = "8.0"
|
|
|
|
# Testing
|
|
junit = "4.13.2"
|
|
junitJupiter = "5.12.0"
|
|
|
|
# Utilities
|
|
uuid = "0.8.4"
|
|
bignum = "0.3.10"
|
|
|
|
[libraries]
|
|
# Kotlin and related libraries
|
|
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
|
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" }
|
|
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinxCoroutines" }
|
|
kotlinx-coroutines-swing = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-swing", version.ref = "kotlinxCoroutines" }
|
|
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
|
|
kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinxDatetime" }
|
|
|
|
# Ktor
|
|
ktor-server-core = { module = "io.ktor:ktor-server-core-jvm", version.ref = "ktor" }
|
|
ktor-server-netty = { module = "io.ktor:ktor-server-netty-jvm", version.ref = "ktor" }
|
|
ktor-server-html-builder = { module = "io.ktor:ktor-server-html-builder", version.ref = "ktor" }
|
|
ktor-server-config-yaml = { module = "io.ktor:ktor-server-config-yaml", version.ref = "ktor" }
|
|
ktor-server-tests = { module = "io.ktor:ktor-server-test-host-jvm", version.ref = "ktor" }
|
|
ktor-server-contentNegotiation = { module = "io.ktor:ktor-server-content-negotiation", version.ref = "ktor" }
|
|
ktor-server-serializationKotlinxJson = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
|
ktor-server-cors = { module = "io.ktor:ktor-server-cors", version.ref = "ktor" }
|
|
ktor-server-callLogging = { module = "io.ktor:ktor-server-call-logging", version.ref = "ktor" }
|
|
ktor-server-defaultHeaders = { module = "io.ktor:ktor-server-default-headers", version.ref = "ktor" }
|
|
ktor-server-statusPages = { module = "io.ktor:ktor-server-status-pages", version.ref = "ktor" }
|
|
ktor-server-auth = { module = "io.ktor:ktor-server-auth", version.ref = "ktor" }
|
|
ktor-server-authJwt = { module = "io.ktor:ktor-server-auth-jwt", version.ref = "ktor" }
|
|
ktor-server-openapi = { module = "io.ktor:ktor-server-openapi", version.ref = "ktor" }
|
|
ktor-server-swagger = { module = "io.ktor:ktor-server-swagger", version.ref = "ktor" }
|
|
ktor-server-rateLimit = { module = "io.ktor:ktor-server-rate-limit", version.ref = "ktor" }
|
|
|
|
# Ktor Client
|
|
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
|
|
ktor-client-js = { module = "io.ktor:ktor-client-js", version.ref = "ktor" }
|
|
ktor-client-contentNegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
|
|
ktor-client-serializationKotlinxJson = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
|
|
|
|
|
# Database
|
|
exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" }
|
|
exposed-dao = { module = "org.jetbrains.exposed:exposed-dao", version.ref = "exposed" }
|
|
exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" }
|
|
exposed-kotlinDatetime = { module = "org.jetbrains.exposed:exposed-kotlin-datetime", version.ref = "exposed" }
|
|
postgresql-driver = { module = "org.postgresql:postgresql", version.ref = "postgresql" }
|
|
hikari-cp = { module = "com.zaxxer:HikariCP", version.ref = "hikari" }
|
|
h2-driver = { module = "com.h2database:h2", version.ref = "h2" }
|
|
|
|
|
|
# Logging
|
|
logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
|
logback-json-encoder = { module = "net.logstash.logback:logstash-logback-encoder", version.ref = "logbackJsonEncoder" }
|
|
|
|
# Monitoring
|
|
micrometer-prometheus = { group = "io.micrometer", name = "micrometer-registry-prometheus", version.ref = "micrometer" }
|
|
ktor-server-metrics-micrometer = { group = "io.ktor", name = "ktor-server-metrics-micrometer", version.ref = "ktor" }
|
|
|
|
# Testing
|
|
junitJupiter = { group = "org.junit.jupiter", name = "junit-jupiter", version.ref = "junitJupiter" }
|
|
|
|
# Utilities
|
|
uuid = { group = "com.benasher44", name = "uuid", version.ref = "uuid" }
|
|
bignum = { group = "com.ionspin.kotlin", name = "bignum", version.ref = "bignum" }
|
|
|
|
# Caching
|
|
redisson = { group = "org.redisson", name = "redisson", version.ref = "redisson" }
|
|
caffeine = { group = "com.github.ben-manes.caffeine", name = "caffeine", version.ref = "caffeine" }
|
|
|
|
# Service Discovery
|
|
consul-client = { module = "com.orbitz.consul:consul-client", version.ref = "orbitz-consul" }
|
|
consul-api = { module = "com.ecwid.consul:consul-api", version.ref = "consul" }
|
|
ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" }
|
|
|
|
# Kotlin Wrappers for JS/React
|
|
kotlin-wrappers-bom = { group = "org.jetbrains.kotlin-wrappers", name = "kotlin-wrappers-bom", version.ref = "kotlinWrappers" }
|
|
kotlin-react = { group = "org.jetbrains.kotlin-wrappers", name = "kotlin-react" }
|
|
kotlin-emotion = { group = "org.jetbrains.kotlin-wrappers", name = "kotlin-emotion" }
|
|
|
|
|
|
|
|
|
|
[plugins]
|
|
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
|
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
|
compose-multiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" }
|
|
ktor = { id = "io.ktor.plugin", version.ref = "ktor" }
|
|
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
|
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|