Skip to content

Commit 459710f

Browse files
committed
Fix #34905: use loki docker driver client to send logs to loki
1 parent 2d5aa06 commit 459710f

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

src/main/java/eu/openanalytics/containerproxy/backend/docker/DockerEngineBackend.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import org.mandas.docker.client.messages.ContainerInfo;
5151
import org.mandas.docker.client.messages.ContainerState;
5252
import org.mandas.docker.client.messages.HostConfig;
53+
import org.mandas.docker.client.messages.LogConfig;
5354
import org.mandas.docker.client.messages.PortBinding;
5455
import org.mandas.docker.client.messages.RegistryAuth;
5556
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -77,17 +78,20 @@ public class DockerEngineBackend extends AbstractDockerBackend {
7778

7879
private static final String PROPERTY_IMG_PULL_POLICY = "image-pull-policy";
7980
private static final String PROPERTY_CONTAINER_NETWORK = "default-container-network";
81+
private static final String PROPERTY_LOKI_URL = "loki-url";
8082

8183
private ImagePullPolicy imagePullPolicy;
8284
private String nonInternalNetworkTargetProtocol;
8385
private URL hostURL;
8486
private String containerNetwork;
87+
private String lokiUrl;
8588

8689
@PostConstruct
8790
public void initialize() {
8891
super.initialize();
8992
imagePullPolicy = environment.getProperty(getPropertyPrefix() + PROPERTY_IMG_PULL_POLICY, ImagePullPolicy.class, ImagePullPolicy.IfNotPresent);
9093
containerNetwork = environment.getProperty(getPropertyPrefix() + PROPERTY_CONTAINER_NETWORK);
94+
lokiUrl = environment.getProperty(getPropertyPrefix() + PROPERTY_LOKI_URL);
9195

9296
try {
9397
hostURL = new URL(getProperty(PROPERTY_URL, DEFAULT_TARGET_URL));
@@ -171,6 +175,17 @@ public Proxy startContainer(Authentication user, Container initialContainer, Con
171175
}
172176
});
173177

178+
if (lokiUrl != null) {
179+
hostConfigBuilder.logConfig(LogConfig.builder()
180+
.logType("loki")
181+
.logOptions(Map.of(
182+
"loki-url", lokiUrl,
183+
"mode", "non-blocking",
184+
"loki-external-labels", String.format("sp_realm_id=%s,namespace=default,sp_proxy_id=%s", identifierService.realmId, proxy.getId())
185+
))
186+
.build());
187+
}
188+
174189
ContainerConfig containerConfig = ContainerConfig.builder()
175190
.hostConfig(hostConfigBuilder.build())
176191
.image(spec.getImage().getValue())

src/main/java/eu/openanalytics/containerproxy/backend/ecs/EcsManagedSecret.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
/**
1+
/*
22
* ContainerProxy
33
*
4-
* Copyright (C) 2016-2024 Open Analytics
4+
* Copyright (C) 2016-2025 Open Analytics
55
*
66
* ===========================================================================
77
*

0 commit comments

Comments
 (0)