diff --git a/data/data/aws/main.tf b/data/data/aws/main.tf index 2dccc59bac7..1fa579d0fa5 100644 --- a/data/data/aws/main.tf +++ b/data/data/aws/main.tf @@ -117,6 +117,14 @@ resource "aws_route53_record" "etcd_a_nodes" { records = ["${module.masters.ip_addresses[count.index]}"] } +resource "aws_route53_record" "etcd_cluster" { + type = "SRV" + ttl = "60" + zone_id = "${local.private_zone_id}" + name = "_etcd-server-ssl._tcp" + records = ["${formatlist("0 10 2380 %s", aws_route53_record.etcd_a_nodes.*.fqdn)}"] +} + resource "aws_route53_zone" "tectonic_int" { count = "${local.private_endpoints ? "${var.tectonic_aws_external_private_zone == "" ? 1 : 0 }" : 0}" vpc_id = "${module.vpc.vpc_id}" diff --git a/data/data/libvirt/main.tf b/data/data/libvirt/main.tf index df475cf29cc..a3493e986e3 100644 --- a/data/data/libvirt/main.tf +++ b/data/data/libvirt/main.tf @@ -50,6 +50,10 @@ resource "libvirt_network" "tectonic_net" { dns = [{ local_only = true + srvs = ["${flatten(list( + data.libvirt_network_dns_srv_template.etcd_cluster.*.rendered, + ))}"] + hosts = ["${flatten(list( data.libvirt_network_dns_host_template.bootstrap.*.rendered, data.libvirt_network_dns_host_template.masters.*.rendered, @@ -116,3 +120,13 @@ data "libvirt_network_dns_host_template" "workers" { ip = "${var.tectonic_libvirt_worker_ips[count.index]}" hostname = "${var.tectonic_cluster_name}" } + +data "libvirt_network_dns_srv_template" "etcd_cluster" { + count = "${var.tectonic_master_count}" + service = "etcd-server-ssl" + protocol = "tcp" + domain = "${var.tectonic_base_domain}" + port = 2380 + weight = 10 + target = "${var.tectonic_cluster_name}-etcd-${count.index}.${var.tectonic_base_domain}" +} diff --git a/docs/dev/libvirt-howto.md b/docs/dev/libvirt-howto.md index 9faac36aba2..312b56a9563 100644 --- a/docs/dev/libvirt-howto.md +++ b/docs/dev/libvirt-howto.md @@ -195,7 +195,7 @@ This step is optional, but useful for being able to resolve cluster-internal hos 1. Make sure you have the `virsh` binary installed: `sudo dnf install libvirt-client libvirt-devel` 2. Install the libvirt terraform provider: ```sh -GOBIN=~/.terraform.d/plugins go get -u github.com/dmacvicar/terraform-provider-libvirt +GOBIN=~/.terraform.d/plugins go get -u github.com/abhinavdahiya/terraform-provider-libvirt ``` ### Cache Terrafrom plugins (optional, but makes subsequent runs a bit faster)