forked from usegalaxy-eu/infrastructure
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstance_core_influxdb.tf
48 lines (42 loc) · 1.41 KB
/
instance_core_influxdb.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
resource "openstack_compute_instance_v2" "influxdb-usegalaxy" {
name = "influxdb.galaxyproject.eu"
image_name = "generic-rockylinux8-v60-j168-5333625af7b2-main"
flavor_name = "m1.xlarge"
key_pair = "cloud2"
security_groups = ["egress", "public-ssh", "public-ping", "public-influxdb", "public-web2"]
lifecycle {
ignore_changes = [power_state]
}
network {
name = "public"
}
user_data = <<-EOF
#cloud-config
bootcmd:
- test -z "$(blkid /dev/vdb)" && mkfs -t ext4 /dev/vdb
- mkdir -p /data
mounts:
- ["/dev/vdb", "/data", auto, "defaults,nofail", "0", "2"]
runcmd:
- [ chown, "centos.centos", -R, /data ]
package_update: true
package_upgrade: true
EOF
}
resource "openstack_blockstorage_volume_v2" "influxdb-data" {
name = "influxdb"
description = "Data volume for InfluxDB"
size = 100
}
resource "openstack_compute_volume_attach_v2" "influxdb-va" {
instance_id = openstack_compute_instance_v2.influxdb-usegalaxy.id
volume_id = openstack_blockstorage_volume_v2.influxdb-data.id
}
resource "aws_route53_record" "influxdb-usegalaxy-internal" {
allow_overwrite = true
zone_id = var.zone_galaxyproject_eu
name = "influxdb.galaxyproject.eu"
type = "A"
ttl = "600"
records = ["${openstack_compute_instance_v2.influxdb-usegalaxy.access_ip_v4}"]
}