From bf8ea27bc0c472c8ec78dddc8c82fd03d6c6ea6e Mon Sep 17 00:00:00 2001 From: Khue Doan Date: Wed, 9 Jun 2021 00:48:22 +0700 Subject: [PATCH] Get node config from Ansible inventory --- infra/main.tf | 22 ++++++++++++++-------- infra/terraform.tf | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/infra/main.tf b/infra/main.tf index a555a20a..17bc2cfa 100644 --- a/infra/main.tf +++ b/infra/main.tf @@ -1,35 +1,41 @@ +locals { + hosts = yamldecode(file("../metal/hosts.yml")) + user = local.hosts.metal.vars.ansible_user + ssh_key = file(local.hosts.metal.vars.ansible_ssh_private_key_file) +} + resource "rke_cluster" "cluster" { dynamic "nodes" { for_each = [ - "192.168.1.110", - "192.168.1.111", - "192.168.1.112" + local.hosts.metal.hosts.metal0.ansible_host, + local.hosts.metal.hosts.metal1.ansible_host, + local.hosts.metal.hosts.metal2.ansible_host ] content { address = nodes.value - user = "root" + user = local.user role = [ "controlplane", "etcd", "worker" ] - ssh_key = file("~/.ssh/id_ed25519") + ssh_key = local.ssh_key } } dynamic "nodes" { for_each = [ - "192.168.1.113" + local.hosts.metal.hosts.metal3.ansible_host ] content { address = nodes.value - user = "root" + user = local.user role = [ "worker" ] - ssh_key = file("~/.ssh/id_ed25519") + ssh_key = local.ssh_key } } diff --git a/infra/terraform.tf b/infra/terraform.tf index 623d67b9..84c69413 100644 --- a/infra/terraform.tf +++ b/infra/terraform.tf @@ -4,7 +4,7 @@ terraform { endpoints = [ "192.168.1.110:23799" ] - lock = true + lock = true } required_providers {