summaryrefslogtreecommitdiff
path: root/module/ri-base/src/main/resources
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/ri-base/src/main/resources
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/ri-base/src/main/resources')
-rw-r--r--module/ri-base/src/main/resources/META-INF/kmodule.xml12
-rw-r--r--module/ri-base/src/main/resources/io/trygvis/rules/dba/dba.drl69
-rw-r--r--module/ri-base/src/main/resources/io/trygvis/rules/engine/init.drl17
-rw-r--r--module/ri-base/src/main/resources/io/trygvis/rules/machine/machine.drl1
-rw-r--r--module/ri-base/src/main/resources/io/trygvis/rules/scaleway/terraform.drl81
-rw-r--r--module/ri-base/src/main/resources/io/trygvis/rules/terraform/terraform-resources.drl28
-rw-r--r--module/ri-base/src/main/resources/templates/dba/cluster.j219
-rw-r--r--module/ri-base/src/main/resources/templates/platform-ansible.j26
-rw-r--r--module/ri-base/src/main/resources/templates/terraform/machine-outputs.j27
-rw-r--r--module/ri-base/src/main/resources/templates/terraform/machine.j219
-rw-r--r--module/ri-base/src/main/resources/templates/terraform/main-scaleway-machine.j219
-rw-r--r--module/ri-base/src/main/resources/templates/terraform/main.j210
-rw-r--r--module/ri-base/src/main/resources/templates/terraform/record-set.j28
-rw-r--r--module/ri-base/src/main/resources/templates/terraform/resource.j21
-rw-r--r--module/ri-base/src/main/resources/templates/terraform/variables.j210
15 files changed, 0 insertions, 307 deletions
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 @@
-<?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="all" packages="io.trygvis.rules.*"/>
- <kbase name="engine" packages="io.trygvis.rules.engine"/>
- <kbase name="dba" packages="io.trygvis.rules.dba"/>
- <kbase name="machine" packages="io.trygvis.rules.machine"/>
- <kbase name="terraform" packages="io.trygvis.rules.terraform"/>
- <kbase name="scaleway" packages="io.trygvis.rules.scaleway"/>
-</kmodule>
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 %}