Skip to content

Commit 0ebb682

Browse files
[ACC-2066] Use explicit wait for http ready instead of a log message
When the traefik pod is up, it doesn't mean that it is already properly running and listening to http
1 parent d6ffab2 commit 0ebb682

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

contentgrid-testcontainers-k3s-cilium/src/main/java/com/contentgrid/testcontainers/k3s/customizer/ingress/TraefikIngressK3sContainerCustomizer.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,13 @@
66
import com.contentgrid.testcontainers.k3s.customizer.WaitStrategyCustomizer;
77
import com.github.dockerjava.api.model.ExposedPort;
88
import com.github.dockerjava.api.model.Ports.Binding;
9+
import java.time.Duration;
10+
import java.time.temporal.ChronoUnit;
911
import java.util.ArrayList;
1012
import java.util.Arrays;
1113
import org.testcontainers.containers.wait.strategy.Wait;
14+
import org.testcontainers.containers.wait.strategy.WaitStrategy;
15+
import org.testcontainers.containers.wait.strategy.WaitStrategyTarget;
1216
import org.testcontainers.k3s.K3sContainer;
1317

1418
/**
@@ -21,8 +25,11 @@ public class TraefikIngressK3sContainerCustomizer implements K3sContainerCustomi
2125
public void onRegister(K3sContainerCustomizers customizers) {
2226
customizers.configure(WaitStrategyCustomizer.class, wait -> wait.withAdditionalWaitStrategy(
2327
getClass(),
24-
Wait.forLogMessage(".*\"Observed pod startup duration\" pod=\"kube-system/traefik-.*", 1))
25-
);
28+
Wait.forHttp("/")
29+
.forPort(32080)
30+
.forStatusCodeMatching((code) -> true)
31+
.withStartupTimeout(Duration.ofMinutes(2))
32+
));
2633
}
2734

2835
@Override

0 commit comments

Comments
 (0)