Skip to content

Commit b584242

Browse files
committed
automatically detect dynamic-hostports-k8s + bump version
1 parent dbe3f86 commit b584242

File tree

4 files changed

+10
-12
lines changed

4 files changed

+10
-12
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>de.craftmania</groupId>
88
<artifactId>DockerizedCraft</artifactId>
9-
<version>0.2.7</version>
9+
<version>0.2.8</version>
1010

1111
<distributionManagement>
1212
<repository>

src/main/java/de/craftmania/dockerizedcraft/container/inspector/kubernetes/KubernetesContainerInspector.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ public void runContainerInspection() {
2828
public void runContainerListener() {
2929
this.logger.info("[Kubernetes Container Inspector] Running listener.");
3030
String namespace = configuration.getString("kubernetes.namespace");
31-
Boolean hostport = configuration.getBoolean("kubernetes.hostport");
3231
if (namespace == null || namespace.isEmpty()) this.logger.severe("kubernetes.namespace not set.");
33-
this.client.pods().inNamespace(namespace).watch(new PodWatcher(proxyServer, logger, configuration, client, namespace, hostport));
32+
this.client.pods().inNamespace(namespace).watch(new PodWatcher(proxyServer, logger, configuration, client, namespace));
3433
}
3534
}

src/main/java/de/craftmania/dockerizedcraft/container/inspector/kubernetes/PodWatcher.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,15 @@ public class PodWatcher implements Watcher<Pod> {
2525
private Boolean debug;
2626
private KubernetesClient client;
2727
private String namespace;
28-
private Boolean hostport;
2928

3029
PodWatcher(ProxyServer proxyServer, Logger logger, Configuration configuration, KubernetesClient client,
31-
String namespace, Boolean hostport) {
30+
String namespace) {
3231
this.proxyServer = proxyServer;
3332
this.logger = logger;
3433
this.configuration = configuration;
3534
this.debug = configuration.getBoolean("debug");
3635
this.client = client;
3736
this.namespace = namespace;
38-
this.hostport = hostport;
3937
}
4038

4139
@Override
@@ -51,6 +49,7 @@ public void eventReceived(Action action, Pod resource) {
5149
}
5250

5351
Map<String, String> labels = resource.getMetadata().getLabels();
52+
Map<String, String> annotations = resource.getMetadata().getAnnotations();
5453
if (labels != null) {
5554
if (this.debug) {
5655
logger.info("[Kubernetes Container Inspector] labels: " + labels.toString());
@@ -75,8 +74,8 @@ public void eventReceived(Action action, Pod resource) {
7574
Map<String, String> environmentVariables = new HashMap<>();
7675
for (EnvVar i : resource.getSpec().getContainers().get(0).getEnv())
7776
environmentVariables.put(i.getName(), i.getValue());
78-
containerEvent.setEnvironmentVariables(environmentVariables);
79-
if (hostport) {
77+
if (annotations.toString().contains("dynamic-hostports.k8s")) {
78+
environmentVariables.remove("SERVER_PORT");
8079
String nodeName = resource.getSpec().getNodeName();
8180
if (nodeName == null)
8281
return;
@@ -90,7 +89,7 @@ public void eventReceived(Action action, Pod resource) {
9089
ip = nodeExternalAddresses.get(0).getAddress();
9190
else
9291
ip = nodeInternalAddresses.get(0).getAddress();
93-
String port = resource.getMetadata().getAnnotations().get("dynamic-hostports.k8s/25565");
92+
String port = annotations.get("dynamic-hostports.k8s/25565");
9493
if (this.debug) {
9594
logger.info("[Kubernetes Container Inspector] env:" + environmentVariables);
9695
logger.info("[Kubernetes Container Inspector] port: " + port);
@@ -115,6 +114,7 @@ public void eventReceived(Action action, Pod resource) {
115114
containerEvent.setPort(Integer.parseInt(environmentVariables.get("SERVER_PORT")));
116115
containerEvent.setIp(InetAddress.getByName(resource.getStatus().getPodIP()));
117116
}
117+
containerEvent.setEnvironmentVariables(environmentVariables);
118118
if (!dockerAction.equals("nothing"))
119119
this.proxyServer.getPluginManager().callEvent(containerEvent);
120120
} catch (java.net.UnknownHostException ex) {
@@ -128,6 +128,6 @@ public void onClose(KubernetesClientException cause) {
128128
logger.warning("[Kubernetes Container Inspector] Watcher close due to " + cause);
129129
logger.warning("[Kubernetes Container Inspector] Rewatching resources...");
130130
client.pods().inNamespace(namespace)
131-
.watch(new PodWatcher(proxyServer, logger, configuration, client, namespace, hostport));
131+
.watch(new PodWatcher(proxyServer, logger, configuration, client, namespace));
132132
}
133133
}

src/main/resources/container-inspector.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,4 @@ docker:
3939

4040
kubernetes:
4141
# The namespace that bungeecord and all minecraft servers reside in
42-
namespace: minecraft
43-
hostport: true
42+
namespace: minecraft

0 commit comments

Comments
 (0)