summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2018-11-07 15:56:43 +0100
committerHåkon Hallingstad <hakon@oath.com>2018-11-07 15:56:43 +0100
commita915fbfb9c3f56b6f47ce29ebcff816166a90858 (patch)
tree0cc33d4d55cd89ad5219a671b28a484e67c02b38 /node-admin
parente996a8a04bcf3d244975eb1b2c91180a25626bff (diff)
Externalize Vespa user
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java
index 3e4e751f611..69947b472f2 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java
@@ -6,7 +6,6 @@ import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.vespa.athenz.api.AthenzService;
-import com.yahoo.vespa.defaults.Defaults;
import com.yahoo.vespa.hosted.dockerapi.ContainerName;
import com.yahoo.vespa.hosted.node.admin.component.ZoneId;
import com.yahoo.vespa.hosted.node.admin.docker.DockerNetworking;
@@ -38,7 +37,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
public NodeAgentContextImpl(String hostname, NodeType nodeType, AthenzService identity,
DockerNetworking dockerNetworking, ZoneId zoneId,
- Path pathToContainerStorage, Path pathToVespaHome) {
+ Path pathToContainerStorage, Path pathToVespaHome, String vespaUser) {
this.hostName = HostName.from(Objects.requireNonNull(hostname));
this.containerName = ContainerName.fromHostname(hostname);
this.nodeType = Objects.requireNonNull(nodeType);
@@ -48,7 +47,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
this.pathToNodeRootOnHost = Objects.requireNonNull(pathToContainerStorage).resolve(containerName.asString());
this.pathToVespaHome = Objects.requireNonNull(pathToVespaHome);
this.logPrefix = containerName.asString() + ": ";
- this.vespaUser = Defaults.getDefaults().vespaUser();
+ this.vespaUser = vespaUser;
}
@Override
@@ -138,6 +137,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
private ZoneId zoneId;
private Path pathToContainerStorage;
private Path pathToVespaHome;
+ private String vespaUser;
public Builder(String hostname) {
this.hostname = hostname;
@@ -173,6 +173,11 @@ public class NodeAgentContextImpl implements NodeAgentContext {
return this;
}
+ public Builder vespaUser(String vespaUser) {
+ this.vespaUser = vespaUser;
+ return this;
+ }
+
public Builder fileSystem(FileSystem fileSystem) {
return pathToContainerStorage(fileSystem.getPath("/home/docker"));
}
@@ -185,8 +190,8 @@ public class NodeAgentContextImpl implements NodeAgentContext {
Optional.ofNullable(dockerNetworking).orElse(DockerNetworking.HOST_NETWORK),
Optional.ofNullable(zoneId).orElseGet(() -> new ZoneId(SystemName.dev, Environment.dev, RegionName.defaultName())),
Optional.ofNullable(pathToContainerStorage).orElseGet(() -> Paths.get("/home/docker")),
- Optional.ofNullable(pathToVespaHome).orElseGet(() -> Paths.get("/opt/vespa"))
- );
+ Optional.ofNullable(pathToVespaHome).orElseGet(() -> Paths.get("/opt/vespa")),
+ Optional.ofNullable(vespaUser).orElseGet(() -> "vespa"));
}
}
}