Skip to content

Commit b3b11f7

Browse files
aparajonsvc-squareup-copybara
authored andcommitted
Deduplicate "is running in docker" usages
GitOrigin-RevId: a82d19464eb36c85ac96cfa221f379a827916a82
1 parent cd5a9ea commit b3b11f7

File tree

6 files changed

+10
-19
lines changed

6 files changed

+10
-19
lines changed

Diff for: misk-aws/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ dependencies {
2929
implementation(libs.slf4jApi)
3030
implementation(libs.tracingDatadog)
3131
implementation(project(":misk-api"))
32+
implementation(project(":wisp:wisp-containers-testing"))
3233
implementation(project(":wisp:wisp-deployment"))
3334
implementation(project(":wisp:wisp-logging"))
3435
implementation(project(":wisp:wisp-tracing"))

Diff for: misk-aws/src/main/kotlin/misk/jobqueue/sqs/QueueResolver.kt

+2-6
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import java.util.concurrent.ConcurrentHashMap
1515
import jakarta.inject.Inject
1616
import jakarta.inject.Singleton
1717
import misk.moshi.adapter
18+
import wisp.containers.ContainerUtil
1819

1920
@Singleton
2021
internal class QueueResolver @Inject internal constructor(
@@ -97,13 +98,8 @@ internal class QueueResolver @Inject internal constructor(
9798
}
9899
}
99100

100-
private fun isRunningInDocker() = File("/proc/1/cgroup")
101-
.takeIf { it.exists() }?.useLines { lines ->
102-
lines.any { it.contains("/docker") }
103-
} ?: false
104-
105101
private fun ensureUrlWithProperTarget(url: String): String {
106-
if (isRunningInDocker())
102+
if (ContainerUtil.isRunningInDocker)
107103
return url.replace("localhost", hostInternalTarget).replace("127.0.0.1", hostInternalTarget)
108104
else
109105
return url

Diff for: misk-jdbc/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ dependencies {
3131
implementation(project(":misk-backoff"))
3232
implementation(project(":misk-docker"))
3333
implementation(project(":misk-service"))
34+
implementation(project(":wisp:wisp-containers-testing"))
3435
implementation(project(":wisp:wisp-logging"))
3536
implementation(project(":wisp:wisp-moshi"))
3637
implementation(libs.jsqlparser)

Diff for: misk-jdbc/src/main/kotlin/misk/jdbc/DataSourceConfig.kt

+3-10
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package misk.jdbc
22

33
import misk.config.Redact
44
import wisp.config.Config
5+
import wisp.containers.ContainerUtil
56
import wisp.deployment.Deployment
6-
import java.io.File
77
import java.time.Duration
88

99
/** Defines a type of datasource */
@@ -142,19 +142,12 @@ data class DataSourceConfig @JvmOverloads constructor(
142142
}
143143
}
144144
fun withDefaults(): DataSourceConfig {
145-
val isRunningInDocker = File("/proc/1/cgroup")
146-
.takeIf { it.exists() }?.useLines { lines ->
147-
lines.any { it.contains("/docker") }
148-
} ?: false
149-
val server_hostname = if (isRunningInDocker)
150-
"host.docker.internal"
151-
else
152-
"127.0.0.1"
145+
val server_hostname = ContainerUtil.dockerTargetOrLocalIp()
153146
return when (type) {
154147
DataSourceType.MYSQL -> {
155148
copy(
156149
port = port ?: 3306,
157-
host = host ?: System.getenv("MYSQL_HOST") ?: "127.0.0.1",
150+
host = host ?: System.getenv("MYSQL_HOST") ?: server_hostname,
158151
database = database ?: ""
159152
)
160153
}

Diff for: misk-redis/src/testFixtures/kotlin/misk/redis/testing/DockerRedis.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import misk.testing.ExternalDependency
1111
import redis.clients.jedis.JedisPooled
1212
import wisp.containers.Composer
1313
import wisp.containers.Container
14-
import wisp.containers.ContainerUtil.isRunningInDocker
14+
import wisp.containers.ContainerUtil
1515
import wisp.logging.getLogger
1616
import java.lang.Thread.sleep
1717
import java.time.Duration
@@ -28,7 +28,7 @@ import java.time.Duration
2828
*/
2929
object DockerRedis : ExternalDependency {
3030
private const val port = 6379
31-
private val hostname = if (isRunningInDocker) "host.docker.internal" else "localhost"
31+
private val hostname = ContainerUtil.dockerTargetOrLocalHost()
3232
private val logger = getLogger<DockerRedis>()
3333
private const val redisVersion = "6.2"
3434

Diff for: misk-redis/src/testFixtures/kotlin/misk/redis/testing/DockerRedisCluster.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import java.time.Duration
3030
object DockerRedisCluster : ExternalDependency {
3131
private val REDIS_CLUSTER_PORTS = listOf(7000, 7001, 7002, 7003, 7004, 7005)
3232
private const val initialPort = 7000
33-
private val hostname = if (ContainerUtil.isRunningInDocker) "host.docker.internal" else "localhost"
33+
private val hostname = ContainerUtil.dockerTargetOrLocalHost()
3434
private val logger = getLogger<DockerRedisCluster>()
3535
private const val redisVersion = "7.0.10"
3636

0 commit comments

Comments
 (0)