diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-01-08 10:40:05 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-01-08 10:40:05 +0100 |
commit | 5ba8358701cf9e9ab8234d462f4e52da6cc6588e (patch) | |
tree | e37528c12f6dd81670e8f231dfa2879f18abfc08 /standalone-container | |
parent | 505753a6fd032c025197dcedb229721960a89eeb (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.java | 22 |
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) |