Skip to content

Commit 2c579b1

Browse files
committed
Add more misconfiguration warnings
1 parent c08f66a commit 2c579b1

3 files changed

Lines changed: 10 additions & 13 deletions

File tree

src/main/java/eu/openanalytics/containerproxy/ContainerProxyApplication.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
import java.util.Properties;
7777
import java.util.concurrent.Executor;
7878

79+
import static eu.openanalytics.containerproxy.api.ApiSecurityService.PROP_API_SECURITY_HIDE_SPEC_DETAILS;
7980
import static eu.openanalytics.containerproxy.service.ProxyService.PROPERTY_STOP_PROXIES_ON_SHUTDOWN;
8081

8182
@EnableScheduling
@@ -163,6 +164,13 @@ public void init() {
163164
}
164165
}
165166

167+
boolean hideSpecDetails = environment.getProperty(PROP_API_SECURITY_HIDE_SPEC_DETAILS, Boolean.class, true);
168+
if (!hideSpecDetails) {
169+
log.warn("WARNING: Insecure configuration detected: The API is configured to return the full spec of proxies, " +
170+
"this may contain sensitive values such as the container image, secret environment variables etc. " +
171+
"Remove the proxy.api-security.hide-spec-details property to enable API security.");
172+
}
173+
166174
}
167175

168176
@Autowired(required = false)

src/main/java/eu/openanalytics/containerproxy/api/ApiSecurityService.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,30 +21,19 @@
2121
package eu.openanalytics.containerproxy.api;
2222

2323
import eu.openanalytics.containerproxy.model.Views;
24-
import org.slf4j.Logger;
25-
import org.slf4j.LoggerFactory;
2624
import org.springframework.core.env.Environment;
2725
import org.springframework.http.converter.json.MappingJacksonValue;
2826
import org.springframework.stereotype.Service;
2927

3028
@Service
3129
public class ApiSecurityService {
3230

33-
private static final String PROP_API_SECURITY_HIDE_SPEC_DETAILS = "proxy.api-security.hide-spec-details";
31+
public static final String PROP_API_SECURITY_HIDE_SPEC_DETAILS = "proxy.api-security.hide-spec-details";
3432

3533
private final boolean hideSpecDetails;
3634

37-
private final Logger logger = LoggerFactory.getLogger(getClass());
38-
3935
public ApiSecurityService(Environment environment) {
4036
hideSpecDetails = environment.getProperty(PROP_API_SECURITY_HIDE_SPEC_DETAILS, Boolean.class, true);
41-
if (!hideSpecDetails) {
42-
logger.warn("WARNING!");
43-
logger.warn("WARNING! The API is configured to return the full spec of proxies, " +
44-
"this may contain sensitive values such as the container image, secret environment variables etc. " +
45-
"Remove the proxy.api-security.hide-spec-details property to enable API security.");
46-
logger.warn("WARNING!");
47-
}
4837
}
4938

5039
public MappingJacksonValue protectSpecs(Object specs) {

src/main/java/eu/openanalytics/containerproxy/service/ProxyService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public class ProxyService {
115115

116116
private boolean stopAppsOnShutdown;
117117

118-
private static final String PROPERTY_STOP_PROXIES_ON_SHUTDOWN = "proxy.stop-proxies-on-shutdown";
118+
public static final String PROPERTY_STOP_PROXIES_ON_SHUTDOWN = "proxy.stop-proxies-on-shutdown";
119119

120120
private final Set<String> actionsInProgress = new HashSet<>();
121121
private Pair<String, Instant> lastStop = null;

0 commit comments

Comments
 (0)