Skip to content

Commit e4a8dda

Browse files
committed
Fix: global privileged setting was ignored
1 parent f862b64 commit e4a8dda

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

src/main/java/eu/openanalytics/containerproxy/backend/AbstractContainerBackend.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public abstract class AbstractContainerBackend implements IContainerBackend {
6161
protected static final String PROPERTY_URL = "url";
6262
protected static final String PROPERTY_CERT_PATH = "cert-path";
6363
protected static final String PROPERTY_CONTAINER_PROTOCOL = "container-protocol";
64+
protected static final String PROPERTY_PRIVILEGED = "privileged";
6465

6566
protected static final String DEFAULT_TARGET_PROTOCOL = "http";
6667

@@ -71,6 +72,7 @@ public abstract class AbstractContainerBackend implements IContainerBackend {
7172
protected final Logger log = LogManager.getLogger(getClass());
7273

7374
private boolean useInternalNetwork;
75+
private boolean privileged;
7476

7577
@Inject
7678
protected IProxyTargetMappingStrategy mappingStrategy;
@@ -96,6 +98,7 @@ public abstract class AbstractContainerBackend implements IContainerBackend {
9698
public void initialize() throws ContainerProxyException {
9799
// If this application runs as a container itself, things like port publishing can be omitted.
98100
useInternalNetwork = Boolean.valueOf(getProperty(PROPERTY_INTERNAL_NETWORKING, "false"));
101+
privileged = Boolean.valueOf(getProperty(PROPERTY_PRIVILEGED, "false"));
99102
}
100103

101104
@Override
@@ -212,4 +215,8 @@ protected List<String> buildEnv(ContainerSpec containerSpec, Proxy proxy) throws
212215
protected boolean isUseInternalNetwork() {
213216
return useInternalNetwork;
214217
}
218+
219+
protected boolean isPrivileged() {
220+
return privileged;
221+
}
215222
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ protected Container startContainer(ContainerSpec spec, Proxy proxy) throws Excep
7171
Optional.ofNullable(spec.getNetwork()).ifPresent(n -> hostConfigBuilder.networkMode(spec.getNetwork()));
7272
Optional.ofNullable(spec.getDns()).ifPresent(dns -> hostConfigBuilder.dns(dns));
7373
Optional.ofNullable(spec.getVolumes()).ifPresent(v -> hostConfigBuilder.binds(v));
74-
hostConfigBuilder.privileged(spec.isPrivileged());
74+
hostConfigBuilder.privileged(isPrivileged() || spec.isPrivileged());
7575

7676
ContainerConfig containerConfig = ContainerConfig.builder()
7777
.hostConfig(hostConfigBuilder.build())

src/main/java/eu/openanalytics/containerproxy/backend/kubernetes/KubernetesBackend.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ protected Container startContainer(ContainerSpec spec, Proxy proxy) throws Excep
165165
}
166166

167167
SecurityContext security = new SecurityContextBuilder()
168-
.withPrivileged(spec.isPrivileged())
168+
.withPrivileged(isPrivileged() || spec.isPrivileged())
169169
.build();
170170

171171
ResourceRequirementsBuilder resourceRequirementsBuilder = new ResourceRequirementsBuilder();

0 commit comments

Comments
 (0)