diff options
Diffstat (limited to 'module/ri-base/src/main/resources/io/trygvis/rules/dba/dba.drl')
-rw-r--r-- | module/ri-base/src/main/resources/io/trygvis/rules/dba/dba.drl | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/module/ri-base/src/main/resources/io/trygvis/rules/dba/dba.drl b/module/ri-base/src/main/resources/io/trygvis/rules/dba/dba.drl deleted file mode 100644 index c31bc57..0000000 --- a/module/ri-base/src/main/resources/io/trygvis/rules/dba/dba.drl +++ /dev/null @@ -1,69 +0,0 @@ -package io.trygvis.rules.dba - -import io.trygvis.rules.core.Problem -import io.trygvis.rules.machine.Machine -import java.util.ArrayList -import java.util.Map -import java.util.HashMap -import java.util.List -import java.util.stream.Collectors -import java.util.Collections - -global io.trygvis.rules.engine.TemplateEngine te; - -dialect "mvel" - -declare DbaMachineRole - machine : String - roles : String[] -end - -rule "Assign containers to machine" -when - $machine : Machine() - $machineRole : DbaMachineRole(machine == $machine.name) - $container : Container(machine == null, $machineRole.roles contains machineRole) -then - System.out.println("Assigning container to machine: " + $machine.name); - modify ($container) { - machine = $machine - } -end - -rule "Containers without hosts" - agenda-group "generate" -when - $container : Container(machine == null) -then - insert(new Problem("No machine for container", $container)) -end - -rule "Generate docker-compose.yaml" - agenda-group "generate" -when - $cluster : Cluster() - $containers : ArrayList(size > 0) from collect(Container(cluster == $cluster)) -then - System.out.println("Docker compose for cluster: " + $cluster.name + " with " + $containers.size() + " containers"); - - Map containersByMachine = new HashMap(); - for (Object o : $containers) { - Container c = (Container) o; - - List list = (List) containersByMachine.get(c.getMachine()); - if (list == null) { - list = new ArrayList(); - containersByMachine.put(c.getMachine(), list); - } - list.add(c); - } - - System.out.println("containersByMachine = " + containersByMachine); - - String path = "ansible/dba/" + $cluster.name + ".yml"; - te.template("dba/cluster", path, Map.of( - "cluster", $cluster, - "containers", $containers, - "containersByMachine", containersByMachine - )); -end |