summaryrefslogtreecommitdiff
path: root/module/acme/src/main/resources/io/trygvis/acme/acme.drl
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2021-02-03 16:35:48 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2021-02-03 16:35:48 +0100
commitbafe762ac01d16904c18404283027e426e19bc73 (patch)
treec22688ad186f5ce635f525704c5035f91b983b68 /module/acme/src/main/resources/io/trygvis/acme/acme.drl
parent91abd0b04320a9c9d932df195aca38c1cacfcc5a (diff)
downloadrules-sandbox-bafe762ac01d16904c18404283027e426e19bc73.tar.gz
rules-sandbox-bafe762ac01d16904c18404283027e426e19bc73.tar.bz2
rules-sandbox-bafe762ac01d16904c18404283027e426e19bc73.tar.xz
rules-sandbox-bafe762ac01d16904c18404283027e426e19bc73.zip
Code reorganization.
Moving main code to src, keeping modules in modules/
Diffstat (limited to 'module/acme/src/main/resources/io/trygvis/acme/acme.drl')
-rw-r--r--module/acme/src/main/resources/io/trygvis/acme/acme.drl81
1 files changed, 0 insertions, 81 deletions
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