summaryrefslogtreecommitdiff
path: root/src/main/resources/io/trygvis/rules/acme/vpn.drl
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/io/trygvis/rules/acme/vpn.drl')
-rw-r--r--src/main/resources/io/trygvis/rules/acme/vpn.drl30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/main/resources/io/trygvis/rules/acme/vpn.drl b/src/main/resources/io/trygvis/rules/acme/vpn.drl
index 3f62fbd..cfdbef9 100644
--- a/src/main/resources/io/trygvis/rules/acme/vpn.drl
+++ b/src/main/resources/io/trygvis/rules/acme/vpn.drl
@@ -2,6 +2,7 @@ package io.trygvis.rules.acme;
import io.trygvis.rules.machine.Machine;
import io.trygvis.rules.dns.DnsEntry;
+import io.trygvis.rules.acme.AcmeServer;
dialect "mvel"
@@ -12,34 +13,35 @@ end
declare WgHost
name : String
- machine : Machine
+// machine : Machine
net : String
publicName : String
netToNetIp : String
networkIp : String
end
-rule "Set name from machine's name"
- salience 10
-when
- $h : WgHost(name == null, machine != null)
-then
- $h.name = $h.machine.name;
-
- update($h)
-end
-
rule "WgHost VPN machines"
when
- $machine : Machine(name.startsWith("acme-"))
- $wgNet : WgNet(name == "vs0")
+ $machine : Machine()
+ $wgNet : WgNet(name == "vpn0")
+ not(WgHost(name == $machine.name))
then
var wgHost = new WgHost();
- wgHost.machine = $machine;
+ wgHost.name = $machine.name;
wgHost.net = $wgNet.name;
+ wgHost.publicName = $machine.fqdn;
insert(wgHost)
end
+rule "Set public name of WgHost"
+when
+ $host : WgHost(publicName == null)
+ $m : Machine(name == $host.name, fqdn != null)
+then
+ $host.publicName = $m.fqdn;
+ update($host)
+end
+
rule "Make DNS entries for all VPN hosts"
when
$h : WgHost()