summaryrefslogtreecommitdiff
path: root/module/ri-base/src/main/resources/io/trygvis/rules/dba/dba.drl
diff options
context:
space:
mode:
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.drl69
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