summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorandreer <andreer@verizonmedia.com>2019-06-24 12:45:50 +0200
committerandreer <andreer@verizonmedia.com>2019-06-24 12:45:50 +0200
commit19b4eb75857224e48ff48e1d602b17518bbba2be (patch)
tree19b32333f7ef3a5395017c89146c93798e7f4347 /config-model
parente11f35d832c1beef87092114aa5ad3a81f1479a1 (diff)
retry deployment on missing certificate
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/TlsSecretsValidator.java16
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java1
2 files changed, 17 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/TlsSecretsValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/TlsSecretsValidator.java
new file mode 100644
index 00000000000..c8154bf2bc2
--- /dev/null
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/TlsSecretsValidator.java
@@ -0,0 +1,16 @@
+package com.yahoo.vespa.model.application.validation;
+
+import com.yahoo.config.model.api.TlsSecrets;
+import com.yahoo.config.model.deploy.DeployState;
+import com.yahoo.vespa.model.VespaModel;
+
+public class TlsSecretsValidator extends Validator {
+
+ /** This check is delayed until validation to allow node provisioning to complete while we are waiting for cert */
+ @Override
+ public void validate(VespaModel model, DeployState deployState) {
+ if (deployState.tlsSecrets().isPresent() && deployState.tlsSecrets().get() == TlsSecrets.MISSING) {
+ throw new IllegalArgumentException("TLS enabled, but could not retrieve certificate yet");
+ }
+ }
+}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java
index e44acf61466..042c7cc867c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java
@@ -56,6 +56,7 @@ public class Validation {
new DeploymentFileValidator().validate(model, deployState);
new RankingConstantsValidator().validate(model, deployState);
new SecretStoreValidator().validate(model, deployState);
+ new TlsSecretsValidator().validate(model, deployState);
List<ConfigChangeAction> result = Collections.emptyList();
if (deployState.getProperties().isFirstTimeDeployment()) {