diff options
Diffstat (limited to 'agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java')
-rw-r--r-- | agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java | 31 |
1 files changed, 6 insertions, 25 deletions
diff --git a/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java index fee8917..66f48db 100644 --- a/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java +++ b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java @@ -17,10 +17,12 @@ import moe.yuuta.dn42peering.agent.proto.WireGuardConfig; import javax.annotation.Nonnull; import javax.annotation.Nullable; -import java.io.File; import java.io.IOException; import java.net.Inet6Address; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; public class WireGuardProvisioner implements IProvisioner<WireGuardConfig> { @@ -40,22 +42,6 @@ public class WireGuardProvisioner implements IProvisioner<WireGuardConfig> { } @Nonnull - private Future<List<Change>> calculateDeleteChanges(@Nonnull List<WireGuardConfig> allDesired) { - final String[] actualNamesRaw = new File("/etc/wireguard/").list((dir, name) -> name.matches("wg_.*\\.conf")); - final List<String> actualNames = Arrays.stream(actualNamesRaw == null ? new String[]{} : actualNamesRaw) - .sorted() - .collect(Collectors.toList()); - return Future.succeededFuture(actualNames.stream() - .flatMap(string -> { - return Arrays.stream(new Change[]{ - new CommandChange(new String[]{"systemctl", "disable", "--now", "-q", "wg-quick@" + string.replace(".conf", ".service")}), - new FileChange("/etc/wireguard/" + string, null, FileChange.Action.DELETE.toString()) - }); - }) - .collect(Collectors.toList())); - } - - @Nonnull private Future<Buffer> renderConfig(@Nonnull WireGuardConfig config) { final Map<String, Object> params = new HashMap<>(5); params.put("listen_port", config.getListenPort()); @@ -231,13 +217,8 @@ public class WireGuardProvisioner implements IProvisioner<WireGuardConfig> { @Nonnull @Override public Future<List<Change>> calculateChanges(@Nonnull Node node, @Nonnull List<WireGuardConfig> allDesired) { - return calculateDeleteChanges(allDesired).compose(changes -> { - return calculateTotalNetlinkChanges(node, allDesired) - .compose(netlinkChanges -> { - changes.addAll(netlinkChanges); - return Future.succeededFuture(changes); - }); - }).compose(changes -> { + return calculateTotalNetlinkChanges(node, allDesired) + .compose(changes -> { return calculateTotalWireGuardChanges(node, allDesired) .compose(wireguardChanges -> { changes.addAll(wireguardChanges); |