Skip to content

Commit ef88b89

Browse files
Merge pull request #293 from AikidoSec/allow-custom-hostnames
Add support for AIKIDO_INSTANCE_NAME
2 parents 0bf452b + 04a4703 commit ef88b89

3 files changed

Lines changed: 43 additions & 1 deletion

File tree

agent_api/src/main/java/dev/aikido/agent_api/background/cloud/GetManagerInfo.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package dev.aikido.agent_api.background.cloud;
22

33
import dev.aikido.agent_api.Config;
4+
import dev.aikido.agent_api.helpers.env.InstanceName;
45
import dev.aikido.agent_api.helpers.net.Hostname;
56
import dev.aikido.agent_api.helpers.net.IPAddress;
67
import dev.aikido.agent_api.storage.ServiceConfigStore;
@@ -49,9 +50,10 @@ public record Platform(String name, String version) {}
4950

5051
public static ManagerInfo getManagerInfo() {
5152
ServiceConfiguration serviceConfig = ServiceConfigStore.getConfig();
53+
String instanceName = InstanceName.fromEnv();
5254
return new ManagerInfo(
5355
!serviceConfig.isBlockingEnabled(), // dryMode
54-
Hostname.get(), // hostname
56+
instanceName != null ? instanceName : Hostname.get(), // hostname
5557
Config.pkgVersion, // version
5658
"firewall-java", // library
5759
IPAddress.get(), // ipAddress
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package dev.aikido.agent_api.helpers.env;
2+
3+
public final class InstanceName {
4+
private InstanceName() {}
5+
6+
public static String fromEnv() {
7+
String name = System.getenv("AIKIDO_INSTANCE_NAME");
8+
if (name == null || name.isEmpty()) {
9+
return null;
10+
}
11+
return name;
12+
}
13+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package helpers.env;
2+
3+
import dev.aikido.agent_api.helpers.env.InstanceName;
4+
import org.junit.jupiter.api.Test;
5+
import org.junitpioneer.jupiter.SetEnvironmentVariable;
6+
7+
import static org.junit.jupiter.api.Assertions.*;
8+
9+
public class InstanceNameTest {
10+
11+
@Test
12+
@SetEnvironmentVariable(key = "AIKIDO_INSTANCE_NAME", value = "my-service")
13+
public void testFromEnv_WithValue() {
14+
assertEquals("my-service", InstanceName.fromEnv());
15+
}
16+
17+
@Test
18+
@SetEnvironmentVariable(key = "AIKIDO_INSTANCE_NAME", value = "")
19+
public void testFromEnv_WithEmptyString() {
20+
assertNull(InstanceName.fromEnv());
21+
}
22+
23+
@Test
24+
public void testFromEnv_WithNullEnvironmentVariable() {
25+
assertNull(InstanceName.fromEnv());
26+
}
27+
}

0 commit comments

Comments
 (0)