summaryrefslogtreecommitdiff
path: root/example/db/apps.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'example/db/apps.yaml')
-rw-r--r--example/db/apps.yaml354
1 files changed, 354 insertions, 0 deletions
diff --git a/example/db/apps.yaml b/example/db/apps.yaml
new file mode 100644
index 0000000..b27231a
--- /dev/null
+++ b/example/db/apps.yaml
@@ -0,0 +1,354 @@
+---
+- type: "io.trygvis.rules.machine.Machine"
+ data:
+ &acme-1 name: "acme-1"
+ fqdn: "acme-1.machine.acme.com"
+- type: "io.trygvis.rules.machine.Machine"
+ data:
+ &acme-2 name: "acme-2"
+ fqdn: "acme-2.machine.acme.com"
+- type: "io.trygvis.rules.machine.Machine"
+ data:
+ &acme-3 name: "acme-3"
+ fqdn: "acme-3.machine.acme.com"
+- type: "io.trygvis.rules.machine.Machine"
+ data:
+ &ws-1 name: "ws-1"
+ fqdn: null
+- type: "io.trygvis.rules.machine.Machine"
+ data:
+ &ws-2 name: "ws-2"
+ fqdn: null
+- type: "io.trygvis.rules.dns.DnsZone"
+ data:
+ name: "ci.acme.com"
+- type: "io.trygvis.rules.dns.DnsZone"
+ data:
+ name: "production.acme.com"
+- type: "io.trygvis.rules.dba.Cluster"
+ data:
+ &acme-myapp-ci name: "acme-myapp-ci"
+- type: "io.trygvis.rules.dba.Cluster"
+ data:
+ &acme-myapp-production name: "acme-myapp-production"
+- type: "io.trygvis.rules.dba.Cluster"
+ data:
+ &acme-ops name: "acme-ops"
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-ci-4tune-api"
+ cluster: *acme-myapp-ci
+ name: "4tune-api"
+ machineRole: "ci-app"
+ image: "4tune-api"
+ tag: "development"
+ machine: *acme-1
+ machineSpecification:
+ cpu: 200
+ memory: 200
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-production-4tune-api"
+ cluster: *acme-myapp-production
+ name: "4tune-api"
+ machineRole: "production-app"
+ image: "4tune-api"
+ tag: "master"
+ machine: *acme-3
+ machineSpecification:
+ cpu: 200
+ memory: 200
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-ci-4tune-web"
+ cluster: *acme-myapp-ci
+ name: "4tune-web"
+ machineRole: "ci-app"
+ image: "4tune-web"
+ tag: "development"
+ machine: *acme-1
+ machineSpecification:
+ cpu: 100
+ memory: 50
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-production-4tune-web"
+ cluster: *acme-myapp-production
+ name: "4tune-web"
+ machineRole: "production-app"
+ image: "4tune-web"
+ tag: "master"
+ machine: *acme-3
+ machineSpecification:
+ cpu: 100
+ memory: 50
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-ci-mdb"
+ cluster: *acme-myapp-ci
+ name: "mdb"
+ machineRole: "ci-db"
+ image: "mongodb"
+ tag: "3.2"
+ machine: *acme-2
+ machineSpecification:
+ cpu: 500
+ memory: 200
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-production-mdb"
+ cluster: *acme-myapp-production
+ name: "mdb"
+ machineRole: "production-db"
+ image: "mongodb"
+ tag: "3.2"
+ machine: *acme-3
+ machineSpecification:
+ cpu: 500
+ memory: 200
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-ops-n8n"
+ cluster: *acme-ops
+ name: "n8n"
+ machineRole: "ops"
+ image: "n8n"
+ tag: "0.84.1"
+ machine: *acme-2
+ machineSpecification: null
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-ci-pdb"
+ cluster: *acme-myapp-ci
+ name: "pdb"
+ machineRole: "ci-db"
+ image: "postgresql"
+ tag: "13"
+ machine: *acme-2
+ machineSpecification:
+ cpu: 500
+ memory: 500
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-production-pdb"
+ cluster: *acme-myapp-production
+ name: "pdb"
+ machineRole: "production-db"
+ image: "postgresql"
+ tag: "13"
+ machine: *acme-3
+ machineSpecification:
+ cpu: 500
+ memory: 500
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-ops-pdb"
+ cluster: *acme-ops
+ name: "pdb"
+ machineRole: "ops"
+ image: "postgresql"
+ tag: "11"
+ machine: *acme-2
+ machineSpecification: null
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-ci-statera"
+ cluster: *acme-myapp-ci
+ name: "statera"
+ machineRole: "ci-app"
+ image: "statera"
+ tag: "development"
+ machine: *acme-1
+ machineSpecification:
+ cpu: 200
+ memory: 1000
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-production-statera"
+ cluster: *acme-myapp-production
+ name: "statera"
+ machineRole: "production-app"
+ image: "statera"
+ tag: "master"
+ machine: *acme-3
+ machineSpecification:
+ cpu: 200
+ memory: 1000
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-ci-statera-console"
+ cluster: *acme-myapp-ci
+ name: "statera-console"
+ machineRole: "ci-app"
+ image: "statera-console"
+ tag: "development"
+ machine: *acme-1
+ machineSpecification:
+ cpu: 100
+ memory: 50
+- type: "io.trygvis.rules.dba.Container"
+ data:
+ id: "acme-myapp-production-statera-console"
+ cluster: *acme-myapp-production
+ name: "statera-console"
+ machineRole: "production-app"
+ image: "statera-console"
+ tag: "master"
+ machine: *acme-3
+ machineSpecification:
+ cpu: 100
+ memory: 50
+- type: "io.trygvis.rules.dba.DbaMachineRole"
+ data:
+ &1 machine: "acme-1"
+ roles:
+ - "ci-app"
+- type: "io.trygvis.rules.dba.DbaMachineRole"
+ data:
+ &2 machine: "acme-2"
+ roles:
+ - "ops"
+ - "ci-db"
+- type: "io.trygvis.rules.dba.DbaMachineRole"
+ data:
+ &3 machine: "acme-3"
+ roles:
+ - "production-app"
+ - "production-db"
+- type: "io.trygvis.rules.wireguard.WgNet"
+ data:
+ &vpn0 name: "vpn0"
+ domain: "vpn.acme.com"
+ port: 53476
+ linkCidr: "192.168.10.0/29"
+ networkCidr: "10.55.0.0/16"
+ networkBits: 24
+- type: "io.trygvis.rules.terraform.TerraformResource$ArrayTerraformValue"
+ data:
+ - "scaleway_instance_ip.acme-1.id"
+- type: "io.trygvis.rules.terraform.TerraformResource$ArrayTerraformValue"
+ data:
+ - "scaleway_instance_ip.acme-3.id"
+- type: "io.trygvis.rules.terraform.TerraformResource$ArrayTerraformValue"
+ data:
+ - "scaleway_instance_ip.acme-2.id"
+- type: "io.trygvis.rules.terraform.TerraformResource"
+ data:
+ output: "terraform/acme-1-instance.tf"
+ kind: "scaleway_server_instance"
+ instance: "acme-1"
+ values:
+ name: "acme-1"
+ type: "DEV1-S"
+ image: "b3042271-d2b1-4f87-b407-aedd3bbd1663"
+ ip_id: "scaleway_instance_ip.acme-1.ip"
+ enable_dynamic_ip: false
+ enable_ipv6: true
+ name: "scaleway_server_instance.acme-1"
+- type: "io.trygvis.rules.terraform.TerraformResource"
+ data:
+ output: "terraform/acme-1-ip.tf"
+ kind: "scaleway_instance_ip"
+ instance: "acme-1"
+ values: {}
+ name: "scaleway_instance_ip.acme-1"
+- type: "io.trygvis.rules.terraform.TerraformResource"
+ data:
+ output: "terraform/acme-1-ip.tf"
+ kind: "scaleway_instance_reverse_dns"
+ instance: "acme-1"
+ values:
+ reverse: "acme-1.machine.acme.com."
+ ip_id: "scaleway_instance_ip.acme-1.id"
+ name: "scaleway_instance_reverse_dns.acme-1"
+- type: "io.trygvis.rules.terraform.TerraformResource"
+ data:
+ output: "terraform/acme-2-instance.tf"
+ kind: "scaleway_server_instance"
+ instance: "acme-2"
+ values:
+ name: "acme-1"
+ type: "DEV1-S"
+ image: "b3042271-d2b1-4f87-b407-aedd3bbd1663"
+ ip_id: "scaleway_instance_ip.acme-2.ip"
+ enable_dynamic_ip: false
+ enable_ipv6: true
+ name: "scaleway_server_instance.acme-2"
+- type: "io.trygvis.rules.terraform.TerraformResource"
+ data:
+ output: "terraform/acme-2-ip.tf"
+ kind: "scaleway_instance_ip"
+ instance: "acme-2"
+ values: {}
+ name: "scaleway_instance_ip.acme-2"
+- type: "io.trygvis.rules.terraform.TerraformResource"
+ data:
+ output: "terraform/acme-2-ip.tf"
+ kind: "scaleway_instance_reverse_dns"
+ instance: "acme-2"
+ values:
+ reverse: "acme-2.machine.acme.com."
+ ip_id: "scaleway_instance_ip.acme-2.id"
+ name: "scaleway_instance_reverse_dns.acme-2"
+- type: "io.trygvis.rules.terraform.TerraformResource"
+ data:
+ output: "terraform/acme-3-instance.tf"
+ kind: "scaleway_server_instance"
+ instance: "acme-3"
+ values:
+ name: "acme-1"
+ type: "DEV1-S"
+ image: "b3042271-d2b1-4f87-b407-aedd3bbd1663"
+ ip_id: "scaleway_instance_ip.acme-3.ip"
+ enable_dynamic_ip: false
+ enable_ipv6: true
+ name: "scaleway_server_instance.acme-3"
+- type: "io.trygvis.rules.terraform.TerraformResource"
+ data:
+ output: "terraform/acme-3-ip.tf"
+ kind: "scaleway_instance_ip"
+ instance: "acme-3"
+ values: {}
+ name: "scaleway_instance_ip.acme-3"
+- type: "io.trygvis.rules.terraform.TerraformResource"
+ data:
+ output: "terraform/acme-3-ip.tf"
+ kind: "scaleway_instance_reverse_dns"
+ instance: "acme-3"
+ values:
+ reverse: "acme-3.machine.acme.com."
+ ip_id: "scaleway_instance_ip.acme-3.id"
+ name: "scaleway_instance_reverse_dns.acme-3"
+- type: "io.trygvis.rules.terraform.TerraformMain"
+ data:
+ module: "terraform"
+ providers:
+ scaleway:
+ source: "scaleway"
+ version: "2.0.0-rc1"
+- type: "io.trygvis.rules.engine.KeyValue"
+ data:
+ key: "rm-gen"
+ value: null
+- type: "io.trygvis.acme.AcmeServer"
+ data:
+ &acme-1 name: "acme-1"
+ machine: *acme-1
+- type: "io.trygvis.acme.AcmeServer"
+ data:
+ &acme-2 name: "acme-2"
+ machine: *acme-2
+- type: "io.trygvis.acme.AcmeServer"
+ data:
+ &acme-3 name: "acme-3"
+ machine: *acme-3
+- type: "io.trygvis.acme.apps.AcmeOps"
+ data: {}
+- type: "io.trygvis.acme.apps.AcmeMyApp"
+ data:
+ environment: "ci"
+ dockerTag: "development"
+- type: "io.trygvis.acme.apps.AcmeMyApp"
+ data:
+ environment: "production"
+ dockerTag: "master"