diff options
author | Andreas Eriksen <andreer@verizonmedia.com> | 2020-08-11 15:06:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-11 15:06:52 +0200 |
commit | 2489d302d50567e7f145c8aff971bb892c9ce87c (patch) | |
tree | 05e6a374d9f97f39349e0537bfe43c6ff20caa0a /controller-api | |
parent | 8ab14f770869b895fd3fc607c4af00d64a39cac6 (diff) |
record when endpoint certificates have last been requested (#14026)
Diffstat (limited to 'controller-api')
2 files changed, 26 insertions, 5 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMetadata.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMetadata.java index 53366c9b922..e610e5505af 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMetadata.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMetadata.java @@ -16,19 +16,21 @@ public class EndpointCertificateMetadata { private final String keyName; private final String certName; private final int version; + private final long lastRequested; // TODO: make these fields required once all certs have them stored private final Optional<String> request_id; private final Optional<List<String>> requestedDnsSans; private final Optional<String> issuer; - public EndpointCertificateMetadata(String keyName, String certName, int version) { - this(keyName, certName, version, Optional.empty(), Optional.empty(), Optional.empty()); + public EndpointCertificateMetadata(String keyName, String certName, int version, long lastRequested) { + this(keyName, certName, version, lastRequested, Optional.empty(), Optional.empty(), Optional.empty()); } - public EndpointCertificateMetadata(String keyName, String certName, int version, Optional<String> request_id, Optional<List<String>> requestedDnsSans, Optional<String> issuer) { + public EndpointCertificateMetadata(String keyName, String certName, int version, long lastRequested, Optional<String> request_id, Optional<List<String>> requestedDnsSans, Optional<String> issuer) { this.keyName = keyName; this.certName = certName; this.version = version; + this.lastRequested = lastRequested; this.request_id = request_id; this.requestedDnsSans = requestedDnsSans; this.issuer = issuer; @@ -46,6 +48,10 @@ public class EndpointCertificateMetadata { return version; } + public long lastRequested() { + return lastRequested; + } + public Optional<String> request_id() { return request_id; } @@ -63,6 +69,19 @@ public class EndpointCertificateMetadata { this.keyName, this.certName, version, + this.lastRequested, + this.request_id, + this.requestedDnsSans, + this.issuer + ); + } + + public EndpointCertificateMetadata withLastRequested(long lastRequested) { + return new EndpointCertificateMetadata( + this.keyName, + this.certName, + this.version, + lastRequested, this.request_id, this.requestedDnsSans, this.issuer @@ -75,6 +94,7 @@ public class EndpointCertificateMetadata { "keyName='" + keyName + '\'' + ", certName='" + certName + '\'' + ", version=" + version + + ", lastRequested=" + lastRequested + ", request_id=" + request_id + ", requestedDnsSans=" + requestedDnsSans + ", issuer=" + issuer + @@ -87,6 +107,7 @@ public class EndpointCertificateMetadata { if (o == null || getClass() != o.getClass()) return false; EndpointCertificateMetadata that = (EndpointCertificateMetadata) o; return version == that.version && + lastRequested == that.lastRequested && keyName.equals(that.keyName) && certName.equals(that.certName) && request_id.equals(that.request_id) && @@ -96,6 +117,6 @@ public class EndpointCertificateMetadata { @Override public int hashCode() { - return Objects.hash(keyName, certName, version, request_id, requestedDnsSans, issuer); + return Objects.hash(keyName, certName, version, lastRequested, request_id, requestedDnsSans, issuer); } } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMock.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMock.java index b0d45b0d7bb..a484bb329a3 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMock.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMock.java @@ -25,7 +25,7 @@ public class EndpointCertificateMock implements EndpointCertificateProvider { this.dnsNames.put(applicationId, dnsNames); String endpointCertificatePrefix = String.format("vespa.tls.%s.%s.%s", applicationId.tenant(), applicationId.application(), applicationId.instance()); - return new EndpointCertificateMetadata(endpointCertificatePrefix + "-key", endpointCertificatePrefix + "-cert", 0, Optional.of("mock-id-string"), Optional.of(dnsNames), Optional.of("mockCa")); + return new EndpointCertificateMetadata(endpointCertificatePrefix + "-key", endpointCertificatePrefix + "-cert", 0, 0, Optional.of("mock-id-string"), Optional.of(dnsNames), Optional.of("mockCa")); } @Override |