From bdc52ed55735891dcd4641dfba3f1b70e049fe50 Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Wed, 6 May 2026 20:48:51 +0800 Subject: [PATCH 1/2] Add AIKIDO_INSTANCE_NAME enviornment variable --- .../agent_api/helpers/env/InstanceName.java | 13 +++++++++ .../java/helpers/env/InstanceNameTest.java | 27 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 agent_api/src/main/java/dev/aikido/agent_api/helpers/env/InstanceName.java create mode 100644 agent_api/src/test/java/helpers/env/InstanceNameTest.java diff --git a/agent_api/src/main/java/dev/aikido/agent_api/helpers/env/InstanceName.java b/agent_api/src/main/java/dev/aikido/agent_api/helpers/env/InstanceName.java new file mode 100644 index 000000000..724ed6db2 --- /dev/null +++ b/agent_api/src/main/java/dev/aikido/agent_api/helpers/env/InstanceName.java @@ -0,0 +1,13 @@ +package dev.aikido.agent_api.helpers.env; + +public final class InstanceName { + private InstanceName() {} + + public static String fromEnv() { + String name = System.getenv("AIKIDO_INSTANCE_NAME"); + if (name == null || name.isEmpty()) { + return null; + } + return name; + } +} diff --git a/agent_api/src/test/java/helpers/env/InstanceNameTest.java b/agent_api/src/test/java/helpers/env/InstanceNameTest.java new file mode 100644 index 000000000..c412dc1f9 --- /dev/null +++ b/agent_api/src/test/java/helpers/env/InstanceNameTest.java @@ -0,0 +1,27 @@ +package helpers.env; + +import dev.aikido.agent_api.helpers.env.InstanceName; +import org.junit.jupiter.api.Test; +import org.junitpioneer.jupiter.SetEnvironmentVariable; + +import static org.junit.jupiter.api.Assertions.*; + +public class InstanceNameTest { + + @Test + @SetEnvironmentVariable(key = "AIKIDO_INSTANCE_NAME", value = "my-service") + public void testFromEnv_WithValue() { + assertEquals("my-service", InstanceName.fromEnv()); + } + + @Test + @SetEnvironmentVariable(key = "AIKIDO_INSTANCE_NAME", value = "") + public void testFromEnv_WithEmptyString() { + assertNull(InstanceName.fromEnv()); + } + + @Test + public void testFromEnv_WithNullEnvironmentVariable() { + assertNull(InstanceName.fromEnv()); + } +} From 04a470312f5f292b65f827a713f8e248683ee8ce Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Wed, 6 May 2026 21:12:48 +0800 Subject: [PATCH 2/2] GetManagerInfo: use instanceName if defined --- .../dev/aikido/agent_api/background/cloud/GetManagerInfo.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/agent_api/src/main/java/dev/aikido/agent_api/background/cloud/GetManagerInfo.java b/agent_api/src/main/java/dev/aikido/agent_api/background/cloud/GetManagerInfo.java index faa7d4b4e..c85c11081 100644 --- a/agent_api/src/main/java/dev/aikido/agent_api/background/cloud/GetManagerInfo.java +++ b/agent_api/src/main/java/dev/aikido/agent_api/background/cloud/GetManagerInfo.java @@ -1,6 +1,7 @@ package dev.aikido.agent_api.background.cloud; import dev.aikido.agent_api.Config; +import dev.aikido.agent_api.helpers.env.InstanceName; import dev.aikido.agent_api.helpers.net.Hostname; import dev.aikido.agent_api.helpers.net.IPAddress; import dev.aikido.agent_api.storage.ServiceConfigStore; @@ -49,9 +50,10 @@ public record Platform(String name, String version) {} public static ManagerInfo getManagerInfo() { ServiceConfiguration serviceConfig = ServiceConfigStore.getConfig(); + String instanceName = InstanceName.fromEnv(); return new ManagerInfo( !serviceConfig.isBlockingEnabled(), // dryMode - Hostname.get(), // hostname + instanceName != null ? instanceName : Hostname.get(), // hostname Config.pkgVersion, // version "firewall-java", // library IPAddress.get(), // ipAddress