diff options
author | gjoranv <gjoranv@gmail.com> | 2023-09-07 13:32:21 +0200 |
---|---|---|
committer | gjoranv <gjoranv@gmail.com> | 2023-09-11 18:25:56 +0200 |
commit | 7276391cd4e42f904473b2f4648c92b1cdc24410 (patch) | |
tree | d1b132a48a4e45f9bcfb15a609848ac33a514a2c /node-repository | |
parent | 1f55e759b1830bc8f2386d7bc5db71e524327620 (diff) |
Add wireguard key timestamp to WireguardPeer
Diffstat (limited to 'node-repository')
2 files changed, 8 insertions, 2 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/WireguardResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/WireguardResponse.java index 76c709da97f..db61540cd0e 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/WireguardResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/WireguardResponse.java @@ -10,7 +10,9 @@ import com.yahoo.vespa.hosted.provision.NodeRepository; import com.yahoo.vespa.hosted.provision.node.IP; import java.net.InetAddress; +import java.time.Instant; import java.util.List; +import java.util.Optional; /** * A response containing the wireguard peer config for each configserver that has a public key. @@ -34,13 +36,16 @@ public class WireguardResponse extends SlimeJsonResponse { .toList(); if (ipAddresses.isEmpty()) return; - addConfigserver(cfgArray.addObject(), cfg.hostname(), cfg.wireguardPubKey().get(), ipAddresses); + addConfigserver(cfgArray.addObject(), cfg.hostname(), cfg.wireguardPubKey().get(), + cfg.wireguardKeyTimestamp(), ipAddresses); } } - private void addConfigserver(Cursor cfgEntry, String hostname, WireguardKey key, List<String> ipAddresses) { + private void addConfigserver(Cursor cfgEntry, String hostname, WireguardKey key, Optional<Instant> keyTimestamp, + List<String> ipAddresses) { cfgEntry.setString("hostname", hostname); cfgEntry.setString("wireguardPubkey", key.value()); + cfgEntry.setLong("wireguardKeyTimestamp", keyTimestamp.orElse(Instant.EPOCH).toEpochMilli()); NodesResponse.ipAddressesToSlime(ipAddresses, cfgEntry.setArray("ipAddresses")); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/wireguard.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/wireguard.json index 5369229bd75..7bee06adc87 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/wireguard.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/wireguard.json @@ -3,6 +3,7 @@ { "hostname": "cfg1.yahoo.com", "wireguardPubkey": "lololololololololololololololololololololoo=", + "wireguardKeyTimestamp":456, "ipAddresses": ["::201:1"] } ] |