From 70faa4228ac76cbffe057257c0f403c140e40c5c Mon Sep 17 00:00:00 2001 From: Grenville Wilson Date: Tue, 12 Feb 2019 17:08:26 -0500 Subject: [PATCH] Adding expiry threshold and min renewal as properties. We now allow configuration of expiry threshold and min renewal durations for lease renewal. Original pull request: gh-278. --- .../VaultBootstrapPropertySourceConfiguration.java | 11 +++++++++++ .../cloud/vault/config/VaultProperties.java | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultBootstrapPropertySourceConfiguration.java b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultBootstrapPropertySourceConfiguration.java index 047ddd9d..586bcc7e 100644 --- a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultBootstrapPropertySourceConfiguration.java +++ b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultBootstrapPropertySourceConfiguration.java @@ -95,6 +95,17 @@ public class VaultBootstrapPropertySourceConfiguration implements InitializingBe SecretLeaseContainer secretLeaseContainer = secretLeaseContainerObjectFactory .getObject(); + + if (vaultProperties.getConfig().getLifecycle().getMinRenewal() != null) { + secretLeaseContainer.setMinRenewal( + vaultProperties.getConfig().getLifecycle().getMinRenewal()); + } + + if (vaultProperties.getConfig().getLifecycle().getExpiryThreshold() != null) { + secretLeaseContainer.setMinRenewal( + vaultProperties.getConfig().getLifecycle().getExpiryThreshold()); + } + secretLeaseContainer.start(); return new LeasingVaultPropertySourceLocator(vaultProperties, configuration, diff --git a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultProperties.java b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultProperties.java index 42f3275c..a3e72743 100644 --- a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultProperties.java +++ b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultProperties.java @@ -483,6 +483,16 @@ public class VaultProperties implements EnvironmentAware { */ private boolean enabled = true; + /** + * The amount of seconds that is at least required before renewing a lease. + */ + private Duration minRenewal; + + /** + * The expiry threshold. {@link Lease} is renewed the given seconds before it expires. + */ + private Duration expiryThreshold; + } }