summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorAndreas Eriksen <andreer@verizonmedia.com>2020-08-11 15:06:52 +0200
committerGitHub <noreply@github.com>2020-08-11 15:06:52 +0200
commit2489d302d50567e7f145c8aff971bb892c9ce87c (patch)
tree05e6a374d9f97f39349e0537bfe43c6ff20caa0a /controller-api
parent8ab14f770869b895fd3fc607c4af00d64a39cac6 (diff)
record when endpoint certificates have last been requested (#14026)
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMetadata.java29
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/certificates/EndpointCertificateMock.java2
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