summaryrefslogtreecommitdiff
path: root/module/acme
diff options
context:
space:
mode:
Diffstat (limited to 'module/acme')
-rw-r--r--module/acme/classpath.txt29
-rw-r--r--module/acme/pom.xml29
-rw-r--r--module/acme/src/main/java/io/trygvis/acme/AcmeAppsMain.java14
-rw-r--r--module/acme/src/main/java/io/trygvis/acme/VpnMain.java21
-rw-r--r--module/acme/src/main/java/io/trygvis/acme/apps/AcmeMyApp.java6
-rw-r--r--module/acme/src/main/java/io/trygvis/acme/apps/AcmeOps.java4
-rw-r--r--module/acme/src/main/resources/META-INF/kmodule.xml17
-rw-r--r--module/acme/src/main/resources/io/trygvis/acme/acme.drl81
-rw-r--r--module/acme/src/main/resources/io/trygvis/acme/apps/apps.drl44
9 files changed, 0 insertions, 245 deletions
diff --git a/module/acme/classpath.txt b/module/acme/classpath.txt
deleted file mode 100644
index e544c09..0000000
--- a/module/acme/classpath.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-io.trygvis.rules-sandbox.module:acme:1.0-SNAPSHOT:jar
-com.fasterxml.jackson.core:jackson-annotations:2.12.0:jar
-com.fasterxml.jackson.core:jackson-core:2.12.0:jar
-com.fasterxml.jackson.core:jackson-databind:2.12.0:jar
-com.github.javaparser:javaparser-core:3.13.10:jar
-com.thoughtworks.xstream:xstream:1.4.14:jar
-commons-codec:commons-codec:1.14:jar
-commons-io:commons-io:2.8.0:jar
-io.trygvis.rules-sandbox.module:ri-base:1.0-SNAPSHOT:jar
-io.trygvis.rules-sandbox.module:ri-module-api:1.0-SNAPSHOT:jar
-io.trygvis.rules-sandbox.module:ri-wireguard:1.0-SNAPSHOT:jar
-org.antlr:antlr-runtime:3.5.2:jar
-org.drools:drools-canonical-model:7.48.0.Final:jar
-org.drools:drools-compiler:7.48.0.Final:jar
-org.drools:drools-core:7.48.0.Final:jar
-org.drools:drools-core-dynamic:7.48.0.Final:jar
-org.drools:drools-core-reflective:7.48.0.Final:jar
-org.drools:drools-ecj:7.48.0.Final:jar
-org.drools:drools-model-compiler:7.48.0.Final:jar
-org.drools:drools-mvel-compiler:7.48.0.Final:jar
-org.drools:drools-mvel-parser:7.48.0.Final:jar
-org.kie:kie-api:7.48.0.Final:jar
-org.kie:kie-internal:7.48.0.Final:jar
-org.kie:kie-memory-compiler:7.48.0.Final:jar
-org.kie.soup:kie-soup-maven-support:7.48.0.Final:jar
-org.kie.soup:kie-soup-xstream:7.48.0.Final:jar
-org.slf4j:slf4j-api:1.7.30:jar
-xmlpull:xmlpull:1.1.3.1:jar
-xpp3:xpp3_min:1.1.4c:jar
diff --git a/module/acme/pom.xml b/module/acme/pom.xml
deleted file mode 100644
index 3081602..0000000
--- a/module/acme/pom.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>io.trygvis.rules-sandbox.module</groupId>
- <artifactId>ri-module-parent</artifactId>
- <version>1.0-SNAPSHOT</version>
- <relativePath>../ri-module-parent/pom.xml</relativePath>
- </parent>
-
- <artifactId>acme</artifactId>
-
- <dependencies>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>ri-base</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>ri-wireguard</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-
-</project>
diff --git a/module/acme/src/main/java/io/trygvis/acme/AcmeAppsMain.java b/module/acme/src/main/java/io/trygvis/acme/AcmeAppsMain.java
deleted file mode 100644
index c65a3b2..0000000
--- a/module/acme/src/main/java/io/trygvis/acme/AcmeAppsMain.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package io.trygvis.acme;
-
-public class AcmeAppsMain {
-// public static void main(String[] args) throws IOException {
-// try (var engine = new Engine(
-// "acme-apps",
-// new File("acme.yaml"),
-// new File("acme-apps"),
-// new String[]{"init", "generate"},
-// new File[0])) {
-// engine.io.dump(new File("out", "acme/apps.yaml"), engine.session.getFactHandles());
-// }
-// }
-}
diff --git a/module/acme/src/main/java/io/trygvis/acme/VpnMain.java b/module/acme/src/main/java/io/trygvis/acme/VpnMain.java
deleted file mode 100644
index cbf962c..0000000
--- a/module/acme/src/main/java/io/trygvis/acme/VpnMain.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.trygvis.acme;
-
-public class VpnMain {
-// public static void main(String[] args) throws IOException {
-// try (var engine = new Engine(
-// "acme-wireguard",
-// new File("acme.yaml"),
-// new File("acme-wireguard"),
-// new String[]{"init", "generate"},
-// new File[0])) {
-// var outputFile = new File("out", "acme/wireguard.yaml");
-// engine.io.dump(outputFile, engine.session.getFactHandles(), (Object o) ->
-// o.getClass().getName().contains("Wg")
-// || o instanceof Machine
-// || o instanceof DnsEntry
-// || o instanceof Ipv4Cidr
-// || o instanceof Ipv4Address
-// );
-// }
-// }
-}
diff --git a/module/acme/src/main/java/io/trygvis/acme/apps/AcmeMyApp.java b/module/acme/src/main/java/io/trygvis/acme/apps/AcmeMyApp.java
deleted file mode 100644
index 9371af2..0000000
--- a/module/acme/src/main/java/io/trygvis/acme/apps/AcmeMyApp.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package io.trygvis.acme.apps;
-
-public class AcmeMyApp {
- public String environment;
- public String dockerTag;
-}
diff --git a/module/acme/src/main/java/io/trygvis/acme/apps/AcmeOps.java b/module/acme/src/main/java/io/trygvis/acme/apps/AcmeOps.java
deleted file mode 100644
index be9d82b..0000000
--- a/module/acme/src/main/java/io/trygvis/acme/apps/AcmeOps.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package io.trygvis.acme.apps;
-
-public class AcmeOps {
-}
diff --git a/module/acme/src/main/resources/META-INF/kmodule.xml b/module/acme/src/main/resources/META-INF/kmodule.xml
deleted file mode 100644
index da435d6..0000000
--- a/module/acme/src/main/resources/META-INF/kmodule.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<kmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://www.drools.org/xsd/kmodule"
- xsi:schemaLocation="http://www.drools.org/xsd/kmodule https://www.drools.org/xsd/kmodule_7_1.xsd">
-
- <kbase name="acme-apps" packages="io.trygvis.acme.apps" includes="dba,engine,machine,terraform, acme-shared">
- <ksession name="acme-apps" default="true"/>
- </kbase>
-
- <kbase name="acme-wireguard" packages="io.trygvis.acme.wireguard" includes="engine,wireguard, acme-shared">
- <ksession name="acme-wireguard" default="true"/>
- </kbase>
-
- <kbase name="acme-shared" packages="io.trygvis.acme">
- <ksession name="acme-shared" default="true"/>
- </kbase>
-</kmodule>
diff --git a/module/acme/src/main/resources/io/trygvis/acme/acme.drl b/module/acme/src/main/resources/io/trygvis/acme/acme.drl
deleted file mode 100644
index 6a2f33b..0000000
--- a/module/acme/src/main/resources/io/trygvis/acme/acme.drl
+++ /dev/null
@@ -1,81 +0,0 @@
-package io.trygvis.acme;
-
-import io.trygvis.rules.machine.Machine;
-import io.trygvis.rules.dba.Cluster;
-import io.trygvis.rules.dba.Container
-import io.trygvis.rules.terraform.TerraformResource;
-import io.trygvis.rules.terraform.TerraformMain
-import io.trygvis.rules.terraform.TerraformProvider;
-
-dialect "mvel"
-
-declare AcmeServer
- name : String
- machine : Machine
-end
-
-rule "Create Acme servers"
-when
- $m : Machine(name.startsWith("acme-"))
- not(AcmeServer(name == $m.name))
-then
- var s = new AcmeServer();
- s.name = $m.name;
- s.machine = $m;
- insert(s);
-end
-
-rule "Set public domain for ACME servers"
-when
- $m : Machine(fqdn == null)
- $s : AcmeServer(machine == $m)
-then
- var fqdn = "%s.machine.acme.com".formatted($m.name);
- modify ($m) {
- fqdn = fqdn
- }
-end
-
-rule "Make Terraform module for machines"
-when
- not TerraformMain(module == "terraform")
-then
- var module = new TerraformMain("terraform");
-
- var scaleway = new TerraformProvider("scaleway", "2.0.0-rc1");
- module.getProviders().put("scaleway", scaleway);
-
- insert(module)
-end
-
-rule "Make Scaleway Terraform resources for Machine"
-when
- $m : Machine()
- $s : AcmeServer(machine == $m)
-then
- var ip = new TerraformResource("terraform/" + $m.name + "-ip.tf", "scaleway_instance_ip", $m.name);
- var instance = new TerraformResource("terraform/" + $m.name + "-instance.tf", "scaleway_server_instance", $m.name)
- .set("name", "acme-1")
- .set("type", "DEV1-S")
- .set("image", "b3042271-d2b1-4f87-b407-aedd3bbd1663")
- .setExpression("ip_id", ip.name + ".ip")
- .set("enable_dynamic_ip", false)
- .set("enable_ipv6", true);
-
-
- var rev = new TerraformResource("terraform/" + $m.name + "-ip.tf", "scaleway_instance_reverse_dns", $m.name)
- .set("reverse", $m.fqdn + ".")
- .setExpression("ip_id", ip.name + ".id");
- var dns = new TerraformResource("terraform/" + $m.name + "-dns.tf", "google_dns_record_set", $m.name)
- .set("name", $m.fqdn)
- .setExpression("managed_zone", "var.dns_zone")
- .set("type", "A")
- .set("ttl", 300)
- .array("rrdatas")
- .addExpression(ip.name + ".id");
-
- insert(instance)
- insert(ip)
- insert(rev)
- insert(dns)
-end
diff --git a/module/acme/src/main/resources/io/trygvis/acme/apps/apps.drl b/module/acme/src/main/resources/io/trygvis/acme/apps/apps.drl
deleted file mode 100644
index 670079f..0000000
--- a/module/acme/src/main/resources/io/trygvis/acme/apps/apps.drl
+++ /dev/null
@@ -1,44 +0,0 @@
-package io.trygvis.acme.apps
-
-import io.trygvis.rules.machine.Machine;
-import io.trygvis.rules.dba.Cluster;
-import io.trygvis.rules.dba.Container
-import io.trygvis.rules.dns.DnsZone;
-import io.trygvis.rules.machine.Machine
-import io.trygvis.rules.machine.MachineSpecification
-import io.trygvis.rules.dba.Cluster
-import io.trygvis.rules.dba.Container
-
-dialect "mvel"
-
-rule "Ops"
-when
- $ops: AcmeOps()
-then
- var cluster = new Cluster("acme-ops");
- insert(cluster);
- insert(new Container(cluster, "pdb", "ops", "postgresql", "11", null));
- insert(new Container(cluster, "n8n", "ops", "n8n", "0.84.1", null));
-end
-
-rule "MyApp"
-when
- $app: AcmeMyApp()
-then
- var zone = new DnsZone($app.environment + ".acme.com");
- insert(zone)
-
- var cluster = new Cluster("acme-myapp-" + $app.environment);
- insert(cluster);
-
- var app = $app.environment + "-app";
- var db = $app.environment + "-db";
-
- var tag = $app.dockerTag;
- insert(new Container(cluster, "statera", app, "statera", tag, new MachineSpecification(200, 1000)));
- insert(new Container(cluster, "statera-console", app, "statera-console", tag, new MachineSpecification(100, 50)));
- insert(new Container(cluster, "4tune-web", app, "4tune-web", tag, new MachineSpecification(100, 50)));
- insert(new Container(cluster, "4tune-api", app, "4tune-api", tag, new MachineSpecification(200, 200)));
- insert(new Container(cluster, "pdb", db, "postgresql", "13", new MachineSpecification(500, 500)));
- insert(new Container(cluster, "mdb", db, "mongodb", "3.2", new MachineSpecification(500, 200)));
-end