aboutsummaryrefslogtreecommitdiffstats
path: root/standalone-container
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-01-08 10:40:05 +0100
committerMartin Polden <mpolden@mpolden.no>2019-01-08 10:40:05 +0100
commit5ba8358701cf9e9ab8234d462f4e52da6cc6588e (patch)
treee37528c12f6dd81670e8f231dfa2879f18abfc08 /standalone-container
parent505753a6fd032c025197dcedb229721960a89eeb (diff)
Allow preprocessing based on deployment context in config server
Diffstat (limited to 'standalone-container')
-rw-r--r--standalone-container/src/main/java/com/yahoo/container/standalone/StandaloneContainerApplication.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/standalone-container/src/main/java/com/yahoo/container/standalone/StandaloneContainerApplication.java b/standalone-container/src/main/java/com/yahoo/container/standalone/StandaloneContainerApplication.java
index a61e9fc56b8..f9fe4a02aab 100644
--- a/standalone-container/src/main/java/com/yahoo/container/standalone/StandaloneContainerApplication.java
+++ b/standalone-container/src/main/java/com/yahoo/container/standalone/StandaloneContainerApplication.java
@@ -9,7 +9,6 @@ import com.google.inject.Key;
import com.google.inject.ProvisionException;
import com.google.inject.name.Named;
import com.google.inject.name.Names;
-import com.yahoo.cloud.config.SlobroksConfig;
import com.yahoo.collections.Pair;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
@@ -21,10 +20,11 @@ import com.yahoo.config.model.application.provider.FilesApplicationPackage;
import com.yahoo.config.model.application.provider.StaticConfigDefinitionRepo;
import com.yahoo.config.model.builder.xml.ConfigModelId;
import com.yahoo.config.model.builder.xml.XmlHelper;
-import com.yahoo.config.model.deploy.DeployProperties;
import com.yahoo.config.model.deploy.DeployState;
+import com.yahoo.config.provision.Environment;
+import com.yahoo.config.provision.RegionName;
+import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.Zone;
-import com.yahoo.container.QrConfig;
import com.yahoo.container.di.config.SubscriberFactory;
import com.yahoo.container.jdisc.ConfiguredApplication;
import com.yahoo.io.IOUtils;
@@ -236,7 +236,7 @@ public class StandaloneContainerApplication implements Application {
DeployLogger logger = new BaseDeployLogger();
FilesApplicationPackage rawApplicationPackage = new FilesApplicationPackage.Builder(applicationPath.toFile())
.includeSourceFiles(true).preprocessedDir(preprocessedApplicationDir).build();
- ApplicationPackage applicationPackage = rawApplicationPackage.preprocess(Zone.defaultZone(), logger);
+ ApplicationPackage applicationPackage = rawApplicationPackage.preprocess(getZone(), logger);
validateApplication(applicationPackage);
DeployState deployState = createDeployState(applicationPackage, fileRegistry, logger);
@@ -260,6 +260,20 @@ public class StandaloneContainerApplication implements Application {
return new Pair<>(root, container);
}
+ private static Zone getZone() {
+ if (!isConfigServer()) {
+ return Zone.defaultZone();
+ }
+ CloudConfigInstallVariables cloudConfigVariables = new CloudConfigInstallVariables();
+ if (!cloudConfigVariables.hostedVespa().orElse(false)) {
+ return Zone.defaultZone();
+ }
+ RegionName region = cloudConfigVariables.region().map(RegionName::from).orElseGet(RegionName::defaultName);
+ Environment environment = cloudConfigVariables.environment().map(Environment::from).orElseGet(Environment::defaultEnvironment);
+ SystemName system = cloudConfigVariables.system().map(SystemName::from).orElseGet(SystemName::defaultSystem);
+ return new Zone(system, environment, region);
+ }
+
private static DeployState createDeployState(ApplicationPackage applicationPackage, FileRegistry fileRegistry, DeployLogger logger) {
DeployState.Builder builder = new DeployState.Builder()
.applicationPackage(applicationPackage)