From bafe762ac01d16904c18404283027e426e19bc73 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Wed, 3 Feb 2021 16:35:48 +0100 Subject: Code reorganization. Moving main code to src, keeping modules in modules/ --- .../src/main/resources/META-INF/kmodule.xml | 12 ---- .../main/resources/io/trygvis/rules/dba/dba.drl | 69 ------------------ .../resources/io/trygvis/rules/engine/init.drl | 17 ----- .../resources/io/trygvis/rules/machine/machine.drl | 1 - .../io/trygvis/rules/scaleway/terraform.drl | 81 ---------------------- .../rules/terraform/terraform-resources.drl | 28 -------- .../src/main/resources/templates/dba/cluster.j2 | 19 ----- .../main/resources/templates/platform-ansible.j2 | 6 -- .../templates/terraform/machine-outputs.j2 | 7 -- .../main/resources/templates/terraform/machine.j2 | 19 ----- .../templates/terraform/main-scaleway-machine.j2 | 19 ----- .../src/main/resources/templates/terraform/main.j2 | 10 --- .../resources/templates/terraform/record-set.j2 | 8 --- .../main/resources/templates/terraform/resource.j2 | 1 - .../resources/templates/terraform/variables.j2 | 10 --- 15 files changed, 307 deletions(-) delete mode 100644 module/ri-base/src/main/resources/META-INF/kmodule.xml delete mode 100644 module/ri-base/src/main/resources/io/trygvis/rules/dba/dba.drl delete mode 100644 module/ri-base/src/main/resources/io/trygvis/rules/engine/init.drl delete mode 100644 module/ri-base/src/main/resources/io/trygvis/rules/machine/machine.drl delete mode 100644 module/ri-base/src/main/resources/io/trygvis/rules/scaleway/terraform.drl delete mode 100644 module/ri-base/src/main/resources/io/trygvis/rules/terraform/terraform-resources.drl delete mode 100644 module/ri-base/src/main/resources/templates/dba/cluster.j2 delete mode 100644 module/ri-base/src/main/resources/templates/platform-ansible.j2 delete mode 100644 module/ri-base/src/main/resources/templates/terraform/machine-outputs.j2 delete mode 100644 module/ri-base/src/main/resources/templates/terraform/machine.j2 delete mode 100644 module/ri-base/src/main/resources/templates/terraform/main-scaleway-machine.j2 delete mode 100644 module/ri-base/src/main/resources/templates/terraform/main.j2 delete mode 100644 module/ri-base/src/main/resources/templates/terraform/record-set.j2 delete mode 100644 module/ri-base/src/main/resources/templates/terraform/resource.j2 delete mode 100644 module/ri-base/src/main/resources/templates/terraform/variables.j2 (limited to 'module/ri-base/src/main/resources') diff --git a/module/ri-base/src/main/resources/META-INF/kmodule.xml b/module/ri-base/src/main/resources/META-INF/kmodule.xml deleted file mode 100644 index 4650977..0000000 --- a/module/ri-base/src/main/resources/META-INF/kmodule.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - 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 diff --git a/module/ri-base/src/main/resources/io/trygvis/rules/engine/init.drl b/module/ri-base/src/main/resources/io/trygvis/rules/engine/init.drl deleted file mode 100644 index 267cc4a..0000000 --- a/module/ri-base/src/main/resources/io/trygvis/rules/engine/init.drl +++ /dev/null @@ -1,17 +0,0 @@ -package io.trygvis.rules.engine; - -import java.util.Map -import org.apache.commons.io.FileSystem -import org.apache.commons.io.FileUtils -import java.io.File - -global io.trygvis.rules.engine.TemplateEngine te; - -rule "Clean directories" - agenda-group "init" -when - not(KeyValue(key == "rm-gen")); -then - te.clean(); - insert(new KeyValue("rm-gen", null)); -end diff --git a/module/ri-base/src/main/resources/io/trygvis/rules/machine/machine.drl b/module/ri-base/src/main/resources/io/trygvis/rules/machine/machine.drl deleted file mode 100644 index 0250cc6..0000000 --- a/module/ri-base/src/main/resources/io/trygvis/rules/machine/machine.drl +++ /dev/null @@ -1 +0,0 @@ -package io.trygvis.rules.machine; diff --git a/module/ri-base/src/main/resources/io/trygvis/rules/scaleway/terraform.drl b/module/ri-base/src/main/resources/io/trygvis/rules/scaleway/terraform.drl deleted file mode 100644 index 7e0ff03..0000000 --- a/module/ri-base/src/main/resources/io/trygvis/rules/scaleway/terraform.drl +++ /dev/null @@ -1,81 +0,0 @@ -package io.trygvis.rules.scaleway - -import io.trygvis.rules.dba.Cluster -import io.trygvis.rules.dba.Container -import io.trygvis.rules.machine.Machine -import io.trygvis.rules.dns.DnsEntry -import io.trygvis.rules.dns.DnsEntryTerraformExpression -import java.util.ArrayList; -import java.util.Map; - -global io.trygvis.rules.engine.TemplateEngine te; - -dialect "mvel" - -declare ScalewayMachine - machine : Machine - key : String -end - -declare GoogleManagedZoneTerraformExpression - name : String -end - -rule "Terraform for Machine" -when - $machine: Machine() -then - ScalewayMachine scw = new ScalewayMachine(); - scw.setKey($machine.name); - scw.setMachine($machine); - - insert(scw); -end - -rule "Create DNS entry for Terraform Machine" -when - $machine : Machine(fqdn != null) - not(DnsEntry(fqdn == $machine.fqdn)) -then - DnsEntry a = DnsEntry.a($machine.fqdn); - insert(a); - - String ipv4 = "scaleway_instance_ip.%s.address".formatted($machine.name); - insert(new DnsEntryTerraformExpression(a, $machine.name, ipv4)); -end - -rule "main-scaleway-machine.tf" - agenda-group "generate" -when - $managedZones : ArrayList() from collect(GoogleManagedZoneTerraformExpression()) -then - String path = "terraform/main-scaleway-machine.tf"; - te.template("terraform/main-scaleway-machine", path, Map.of( - "managedZones", $managedZones - )); -end - -rule "TF for TerraformMachine" - agenda-group "generate" -when - $m: Machine() - $scw: ScalewayMachine(machine == $m) -then - String path = "terraform/scaleway-machine-%s.tf".formatted($scw.getKey()); - te.template("terraform/machine", path, Map.of("m", $m, "scw", $scw)); -end - -rule "Terraform for DNS" - agenda-group "generate" -when - $entry: DnsEntry() - $tf : DnsEntryTerraformExpression(entry == $entry) - $managedZone : GoogleManagedZoneTerraformExpression() -then - String path = "terraform/dns-%s.tf".formatted($tf.key); - te.template("terraform/record-set", path, Map.of( - "entry", $entry, - "managedZone", $managedZone, - "tf", $tf) - ); -end diff --git a/module/ri-base/src/main/resources/io/trygvis/rules/terraform/terraform-resources.drl b/module/ri-base/src/main/resources/io/trygvis/rules/terraform/terraform-resources.drl deleted file mode 100644 index 40a81f0..0000000 --- a/module/ri-base/src/main/resources/io/trygvis/rules/terraform/terraform-resources.drl +++ /dev/null @@ -1,28 +0,0 @@ -package io.trygvis.rules.terraform; - -import java.util.ArrayList -import java.util.HashSet -import java.util.Map -import java.util.Set - -global io.trygvis.rules.engine.TemplateEngine te; - -dialect "mvel" - -rule "terraform-resources" - agenda-group "generate" -when - $r : TerraformResource() -then - te.template("terraform/resource", $r.output, Map.of("resource", $r)); -end - -rule "main.tf" - agenda-group "generate" -when - $main : TerraformMain() - $variables : ArrayList() from collect(TerraformInputVariable(module == $main.module)) -then - te.template("terraform/main", $main.module + "/main.tf", Map.of("main", $main)); - te.template("terraform/variables", $main.module + "/vars.tf", Map.of("variables", $variables)); -end diff --git a/module/ri-base/src/main/resources/templates/dba/cluster.j2 b/module/ri-base/src/main/resources/templates/dba/cluster.j2 deleted file mode 100644 index 045fbcd..0000000 --- a/module/ri-base/src/main/resources/templates/dba/cluster.j2 +++ /dev/null @@ -1,19 +0,0 @@ -# Generated - -# cluster: {{ cluster.name }} -{%- for m, containers in containersByMachine.entrySet() %} ---- -- host: - - {{ m.name }} - tasks: - import_role: - name: docker-service - vars: - template: | - version: "3" - services: -{%- for c in containers %} - {{ c.name }}: - image: {{ c.image }}:{{ c.tag }} -{%- endfor %} -{% endfor %} diff --git a/module/ri-base/src/main/resources/templates/platform-ansible.j2 b/module/ri-base/src/main/resources/templates/platform-ansible.j2 deleted file mode 100644 index 72e3247..0000000 --- a/module/ri-base/src/main/resources/templates/platform-ansible.j2 +++ /dev/null @@ -1,6 +0,0 @@ -# Ansible -- hosts: - - {{ m.key }} - tasks: - - import_role: - name: acme-platform diff --git a/module/ri-base/src/main/resources/templates/terraform/machine-outputs.j2 b/module/ri-base/src/main/resources/templates/terraform/machine-outputs.j2 deleted file mode 100644 index 438fac6..0000000 --- a/module/ri-base/src/main/resources/templates/terraform/machine-outputs.j2 +++ /dev/null @@ -1,7 +0,0 @@ -output "addresses" { - value = { -{%- for m in machines %} - {{ m.key }}: scaleway_instance_ip.{{ m.key }}.address, -{%- endfor %} - } -} diff --git a/module/ri-base/src/main/resources/templates/terraform/machine.j2 b/module/ri-base/src/main/resources/templates/terraform/machine.j2 deleted file mode 100644 index 0ac8b90..0000000 --- a/module/ri-base/src/main/resources/templates/terraform/machine.j2 +++ /dev/null @@ -1,19 +0,0 @@ -resource "scaleway_instance_server" "{{ scw.key }}" { - name = "acme-1" - type = "DEV1-S" - image = "b3042271-d2b1-4f87-b407-aedd3bbd1663" - ip_id = scaleway_instance_ip.{{ scw.key }}.id - enable_dynamic_ip = false - enable_ipv6 = true -} - -resource "scaleway_instance_ip" "{{ scw.key }}" {} - -resource "scaleway_instance_ip_reverse_dns" "{{ scw.key }}" { - ip_id = scaleway_instance_ip.{{ scw.key }}.id - reverse = "{{ m.fqdn }}." -} - -output "{{scw.key}}_public_ip" { - value = scaleway_instance_server.{{ scw.key }}.public_ip -} diff --git a/module/ri-base/src/main/resources/templates/terraform/main-scaleway-machine.j2 b/module/ri-base/src/main/resources/templates/terraform/main-scaleway-machine.j2 deleted file mode 100644 index eab9fac..0000000 --- a/module/ri-base/src/main/resources/templates/terraform/main-scaleway-machine.j2 +++ /dev/null @@ -1,19 +0,0 @@ -# Generated - -terraform { - required_providers { - scaleway = { - source = "scaleway/scaleway" - version = "1.17.2" - } - } -} - -provider "scaleway" { -} - -{% -for z in managedZones %} -variable "{{z.name}}" { - type = string -} -{% endfor -%} diff --git a/module/ri-base/src/main/resources/templates/terraform/main.j2 b/module/ri-base/src/main/resources/templates/terraform/main.j2 deleted file mode 100644 index 009f4ed..0000000 --- a/module/ri-base/src/main/resources/templates/terraform/main.j2 +++ /dev/null @@ -1,10 +0,0 @@ -terraform { - required_providers { -{% for alias, provider in main.providers.entrySet() %} - {{ alias }} = { - version = "{{ provider.version }}" - source = "{{ provider.source }}" - } -{%- endfor %} - } -} diff --git a/module/ri-base/src/main/resources/templates/terraform/record-set.j2 b/module/ri-base/src/main/resources/templates/terraform/record-set.j2 deleted file mode 100644 index b89ee00..0000000 --- a/module/ri-base/src/main/resources/templates/terraform/record-set.j2 +++ /dev/null @@ -1,8 +0,0 @@ -resource "google_dns_record_set" "{{ tf.key }}" { - name = "{{ entry.fqdn }}" - managed_zone = var.{{ managedZone.name }} - type = "{{ entry.type }}" - ttl = 300 - - rrdatas = [{{ tf.expression }}] -} diff --git a/module/ri-base/src/main/resources/templates/terraform/resource.j2 b/module/ri-base/src/main/resources/templates/terraform/resource.j2 deleted file mode 100644 index 91af481..0000000 --- a/module/ri-base/src/main/resources/templates/terraform/resource.j2 +++ /dev/null @@ -1 +0,0 @@ -{{ resource.asString() -}} diff --git a/module/ri-base/src/main/resources/templates/terraform/variables.j2 b/module/ri-base/src/main/resources/templates/terraform/variables.j2 deleted file mode 100644 index 6c37d99..0000000 --- a/module/ri-base/src/main/resources/templates/terraform/variables.j2 +++ /dev/null @@ -1,10 +0,0 @@ -{%- for var in variables %} -variable "{{ var.name }}" { -{%- if var.type %} - type = {{ var.type }} -{% endif %} -{%- if var.default %} - default = {{ var.default }} -{% endif %} -} -{% endfor %} -- cgit v1.2.3