From 2c48709e6532ea27ba085e8ad875ad7c0af8c607 Mon Sep 17 00:00:00 2001 From: David Pech Date: Sat, 19 Mar 2022 23:48:52 +0100 Subject: [PATCH 1/2] + update from deprecated template provider --- cluster/multi-ad/compute.tf | 16 ++-- cluster/multi-ad/datasources.tf | 22 +---- cluster/multi-ad/remote.tf | 158 +++++++++++++++++++++++-------- cluster/single-ad/compute.tf | 14 +-- cluster/single-ad/datasources.tf | 22 +---- cluster/single-ad/remote.tf | 131 ++++++++++++++++++------- 6 files changed, 239 insertions(+), 124 deletions(-) diff --git a/cluster/multi-ad/compute.tf b/cluster/multi-ad/compute.tf index ff1f376..fcac402 100644 --- a/cluster/multi-ad/compute.tf +++ b/cluster/multi-ad/compute.tf @@ -22,7 +22,7 @@ resource "oci_core_instance" "BastionHost" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init_bastion.rendered + user_data = data.cloudinit_config.cloud_init_bastion.rendered } source_details { @@ -60,7 +60,7 @@ resource "oci_core_instance" "ESMasterNode1" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -99,7 +99,7 @@ resource "oci_core_instance" "ESMasterNode2" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -138,7 +138,7 @@ resource "oci_core_instance" "ESMasterNode3" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -177,7 +177,7 @@ resource "oci_core_instance" "ESDataNode1" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -216,7 +216,7 @@ resource "oci_core_instance" "ESDataNode2" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -255,7 +255,7 @@ resource "oci_core_instance" "ESDataNode3" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -294,7 +294,7 @@ resource "oci_core_instance" "ESDataNode4" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { diff --git a/cluster/multi-ad/datasources.tf b/cluster/multi-ad/datasources.tf index 5072af1..07800af 100644 --- a/cluster/multi-ad/datasources.tf +++ b/cluster/multi-ad/datasources.tf @@ -163,38 +163,24 @@ data "oci_identity_region_subscriptions" "home_region_subscriptions" { # This Terraform script provisions a compute instance -data "template_file" "key_script" { - template = file("./scripts/sshkey.tpl") - vars = { - ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh - } -} - -data "template_cloudinit_config" "cloud_init" { +data "cloudinit_config" "cloud_init" { gzip = true base64_encode = true part { filename = "ainit.sh" content_type = "text/x-shellscript" - content = data.template_file.key_script.rendered - } -} - -data "template_file" "key_script_bastion" { - template = file("./scripts/BastionBootStrap.sh") - vars = { - ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh + content = templatefile("${path.module}/scripts/sshkey.tpl", { ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh }) } } -data "template_cloudinit_config" "cloud_init_bastion" { +data "cloudinit_config" "cloud_init_bastion" { gzip = true base64_encode = true part { filename = "ainit.sh" content_type = "text/x-shellscript" - content = data.template_file.key_script_bastion.rendered + content = templatefile("${path.module}/scripts/BastionBootStrap.sh", { ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh }) } } \ No newline at end of file diff --git a/cluster/multi-ad/remote.tf b/cluster/multi-ad/remote.tf index 6278e00..f91fc1f 100644 --- a/cluster/multi-ad/remote.tf +++ b/cluster/multi-ad/remote.tf @@ -1,29 +1,6 @@ ## Copyright (c) 2022, Oracle and/or its affiliates. ## All rights reserved. The Universal Permissive License (UPL), Version 1.0 as shown at http://oss.oracle.com/licenses/upl -data "template_file" "setup_esbootstrap" { - depends_on = [oci_core_instance.ESMasterNode1, oci_core_instance.ESMasterNode2, oci_core_instance.ESMasterNode3, oci_core_instance.ESDataNode1, oci_core_instance.ESDataNode2, oci_core_instance.ESDataNode3, oci_core_instance.ESDataNode4] - - template = file(var.ESBootStrap) - - vars = { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address - } -} - resource "null_resource" "ESMasterNode1_BootStrap" { depends_on = [oci_core_instance.BastionHost, oci_core_instance.ESMasterNode1, oci_core_instance.ESMasterNode2, oci_core_instance.ESMasterNode3, oci_core_instance.ESDataNode1, oci_core_instance.ESDataNode2, oci_core_instance.ESDataNode3, oci_core_instance.ESDataNode4] @@ -42,8 +19,23 @@ resource "null_resource" "ESMasterNode1_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -84,8 +76,23 @@ resource "null_resource" "ESMasterNode2_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -126,8 +133,23 @@ resource "null_resource" "ESMasterNode3_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -168,8 +190,23 @@ resource "null_resource" "ESDataNode1_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -210,8 +247,23 @@ resource "null_resource" "ESDataNode2_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -252,8 +304,23 @@ resource "null_resource" "ESDataNode3_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -294,8 +361,23 @@ resource "null_resource" "ESDataNode4_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -316,4 +398,4 @@ resource "null_resource" "ESDataNode4_BootStrap" { "sudo ~/esbootstrap.sh", ] } -} \ No newline at end of file +} diff --git a/cluster/single-ad/compute.tf b/cluster/single-ad/compute.tf index 2b4ed2c..13804e5 100644 --- a/cluster/single-ad/compute.tf +++ b/cluster/single-ad/compute.tf @@ -24,7 +24,7 @@ resource "oci_core_instance" "BastionHost" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init_bastion.rendered + user_data = data.cloudinit_config.cloud_init_bastion.rendered } source_details { @@ -61,7 +61,7 @@ resource "oci_core_instance" "ESMasterNode1" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -99,7 +99,7 @@ resource "oci_core_instance" "ESMasterNode2" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -137,7 +137,7 @@ resource "oci_core_instance" "ESMasterNode3" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -175,7 +175,7 @@ resource "oci_core_instance" "ESDataNode1" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -215,7 +215,7 @@ resource "oci_core_instance" "ESDataNode2" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { @@ -255,7 +255,7 @@ resource "oci_core_instance" "ESDataNode3" { metadata = { ssh_authorized_keys = var.ssh_public_key - user_data = data.template_cloudinit_config.cloud_init.rendered + user_data = data.cloudinit_config.cloud_init.rendered } source_details { diff --git a/cluster/single-ad/datasources.tf b/cluster/single-ad/datasources.tf index d8e4261..0cbe15c 100644 --- a/cluster/single-ad/datasources.tf +++ b/cluster/single-ad/datasources.tf @@ -158,39 +158,25 @@ data "oci_identity_region_subscriptions" "home_region_subscriptions" { # This Terraform script provisions a compute instance -data "template_file" "key_script" { - template = file("./scripts/sshkey.tpl") - vars = { - ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh - } -} - -data "template_cloudinit_config" "cloud_init" { +data "cloudinit_config" "cloud_init" { gzip = true base64_encode = true part { filename = "ainit.sh" content_type = "text/x-shellscript" - content = data.template_file.key_script.rendered + content = templatefile("${path.module}/scripts/sshkey.tpl", { ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh }) } } -data "template_file" "key_script_bastion" { - template = file("./scripts/BastionBootStrap.sh") - vars = { - ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh - } -} - -data "template_cloudinit_config" "cloud_init_bastion" { +data "cloudinit_config" "cloud_init_bastion" { gzip = true base64_encode = true part { filename = "ainit.sh" content_type = "text/x-shellscript" - content = data.template_file.key_script_bastion.rendered + content = templatefile("${path.module}/scripts/BastionBootStrap.sh", { ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh }) } } diff --git a/cluster/single-ad/remote.tf b/cluster/single-ad/remote.tf index 92ed82c..51d6d10 100644 --- a/cluster/single-ad/remote.tf +++ b/cluster/single-ad/remote.tf @@ -1,29 +1,6 @@ ## Copyright (c) 2022, Oracle and/or its affiliates. ## All rights reserved. The Universal Permissive License (UPL), Version 1.0 as shown at http://oss.oracle.com/licenses/upl - -data "template_file" "setup_esbootstrap" { - depends_on = [oci_core_instance.ESMasterNode1, oci_core_instance.ESMasterNode2, oci_core_instance.ESMasterNode3, oci_core_instance.ESDataNode1, oci_core_instance.ESDataNode2, oci_core_instance.ESDataNode3] - - template = file(var.ESBootStrap) - - vars = { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - } -} - resource "null_resource" "ESMasterNode1_BootStrap" { depends_on = [oci_core_instance.BastionHost, oci_core_instance.ESMasterNode1, oci_core_instance.ESMasterNode2, oci_core_instance.ESMasterNode3, oci_core_instance.ESDataNode1, oci_core_instance.ESDataNode2, oci_core_instance.ESDataNode3] @@ -42,8 +19,22 @@ resource "null_resource" "ESMasterNode1_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -84,8 +75,22 @@ resource "null_resource" "ESMasterNode2_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -126,8 +131,22 @@ resource "null_resource" "ESMasterNode3_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -168,8 +187,22 @@ resource "null_resource" "ESDataNode1_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -210,8 +243,22 @@ resource "null_resource" "ESDataNode2_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { @@ -252,8 +299,22 @@ resource "null_resource" "ESDataNode3_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = data.template_file.setup_esbootstrap.rendered - destination = "~/esbootstrap.sh" + content = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + }) + destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { connection { From 588ab2bcdaea671d298b83e9c3e2583feb61422e Mon Sep 17 00:00:00 2001 From: David Pech Date: Sun, 20 Mar 2022 09:28:29 +0100 Subject: [PATCH 2/2] @ locals for template calls + single upgrade to templatefile --- cluster/multi-ad/remote.tf | 138 +++++++----------------------------- cluster/single-ad/remote.tf | 116 +++++++----------------------- simple/compute.tf | 29 +++----- 3 files changed, 62 insertions(+), 221 deletions(-) diff --git a/cluster/multi-ad/remote.tf b/cluster/multi-ad/remote.tf index f91fc1f..ad9aa49 100644 --- a/cluster/multi-ad/remote.tf +++ b/cluster/multi-ad/remote.tf @@ -1,6 +1,25 @@ ## Copyright (c) 2022, Oracle and/or its affiliates. ## All rights reserved. The Universal Permissive License (UPL), Version 1.0 as shown at http://oss.oracle.com/licenses/upl +locals { + esbootstrapShFile = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address + }) +} + resource "null_resource" "ESMasterNode1_BootStrap" { depends_on = [oci_core_instance.BastionHost, oci_core_instance.ESMasterNode1, oci_core_instance.ESMasterNode2, oci_core_instance.ESMasterNode3, oci_core_instance.ESDataNode1, oci_core_instance.ESDataNode2, oci_core_instance.ESDataNode3, oci_core_instance.ESDataNode4] @@ -19,22 +38,7 @@ resource "null_resource" "ESMasterNode1_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -76,22 +80,7 @@ resource "null_resource" "ESMasterNode2_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -133,22 +122,7 @@ resource "null_resource" "ESMasterNode3_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -190,22 +164,7 @@ resource "null_resource" "ESDataNode1_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -247,22 +206,7 @@ resource "null_resource" "ESDataNode2_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -304,22 +248,7 @@ resource "null_resource" "ESDataNode3_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -361,22 +290,7 @@ resource "null_resource" "ESDataNode4_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - esdatanode4_private_ip = data.oci_core_vnic.ESDataNode4Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { diff --git a/cluster/single-ad/remote.tf b/cluster/single-ad/remote.tf index 51d6d10..f9360f4 100644 --- a/cluster/single-ad/remote.tf +++ b/cluster/single-ad/remote.tf @@ -1,8 +1,26 @@ ## Copyright (c) 2022, Oracle and/or its affiliates. ## All rights reserved. The Universal Permissive License (UPL), Version 1.0 as shown at http://oss.oracle.com/licenses/upl +locals { + esbootstrapShFile = templatefile("${path.module}/${var.ESBootStrap}", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + ESDataPort = var.ESDataPort + ESDataPort2 = var.ESDataPort2 + KibanaPort = var.KibanaPort + esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address + esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address + esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address + esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address + esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address + esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address + }) +} + resource "null_resource" "ESMasterNode1_BootStrap" { - depends_on = [oci_core_instance.BastionHost, oci_core_instance.ESMasterNode1, oci_core_instance.ESMasterNode2, oci_core_instance.ESMasterNode3, oci_core_instance.ESDataNode1, oci_core_instance.ESDataNode2, oci_core_instance.ESDataNode3] +depends_on = [oci_core_instance.BastionHost, oci_core_instance.ESMasterNode1, oci_core_instance.ESMasterNode2, oci_core_instance.ESMasterNode3, oci_core_instance.ESDataNode1, oci_core_instance.ESDataNode2, oci_core_instance.ESDataNode3] provisioner "file" { connection { @@ -19,21 +37,7 @@ resource "null_resource" "ESMasterNode1_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -75,21 +79,7 @@ resource "null_resource" "ESMasterNode2_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -131,21 +121,7 @@ resource "null_resource" "ESMasterNode3_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -187,21 +163,7 @@ resource "null_resource" "ESDataNode1_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -243,21 +205,7 @@ resource "null_resource" "ESDataNode2_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { @@ -299,21 +247,7 @@ resource "null_resource" "ESDataNode3_BootStrap" { bastion_private_key = tls_private_key.public_private_key_pair.private_key_pem } - content = templatefile("${path.module}/${var.ESBootStrap}", { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - ESDataPort = var.ESDataPort - ESDataPort2 = var.ESDataPort2 - KibanaPort = var.KibanaPort - esmasternode1_private_ip = data.oci_core_vnic.ESMasterNode1Vnic.private_ip_address - esmasternode2_private_ip = data.oci_core_vnic.ESMasterNode2Vnic.private_ip_address - esmasternode3_private_ip = data.oci_core_vnic.ESMasterNode3Vnic.private_ip_address - esdatanode1_private_ip = data.oci_core_vnic.ESDataNode1Vnic.private_ip_address - esdatanode2_private_ip = data.oci_core_vnic.ESDataNode2Vnic.private_ip_address - esdatanode3_private_ip = data.oci_core_vnic.ESDataNode3Vnic.private_ip_address - }) + content = local.esbootstrapShFile destination = "/home/opc/esbootstrap.sh" } provisioner "remote-exec" { diff --git a/simple/compute.tf b/simple/compute.tf index fc66d43..81a6bb1 100644 --- a/simple/compute.tf +++ b/simple/compute.tf @@ -1,23 +1,6 @@ ## Copyright (c) 2022, Oracle and/or its affiliates. ## All rights reserved. The Universal Permissive License (UPL), Version 1.0 as shown at http://oss.oracle.com/licenses/upl -data "template_file" "ELK" { - template = file("./scripts/elk.sh") - - vars = { - elasticsearch_download_url = var.elasticsearch_download_url - kibana_download_url = var.kibana_download_url - logstash_download_url = var.logstash_download_url - elasticsearch_download_version = var.elasticsearch_download_version - kibana_download_version = var.kibana_download_version - logstash_download_version = var.logstash_download_version - KibanaPort = var.KibanaPort - ESDataPort = var.ESDataPort - ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh - } - -} - resource "oci_core_instance" "ELK" { availability_domain = var.availability_domain_name == "" ? data.oci_identity_availability_domains.ADs.availability_domains[var.availability_domain_number]["name"] : var.availability_domain_name compartment_id = var.compartment_ocid @@ -46,7 +29,17 @@ resource "oci_core_instance" "ELK" { metadata = { ssh_authorized_keys = tls_private_key.public_private_key_pair.public_key_openssh - user_data = base64encode(data.template_file.ELK.rendered) + user_data = base64encode(templatefile("${path.module}/scripts/elk.sh", { + elasticsearch_download_url = var.elasticsearch_download_url + kibana_download_url = var.kibana_download_url + logstash_download_url = var.logstash_download_url + elasticsearch_download_version = var.elasticsearch_download_version + kibana_download_version = var.kibana_download_version + logstash_download_version = var.logstash_download_version + KibanaPort = var.KibanaPort + ESDataPort = var.ESDataPort + ssh_public_key = tls_private_key.public_private_key_pair.public_key_openssh + })) } defined_tags = {"${oci_identity_tag_namespace.ArchitectureCenterTagNamespace.name}.${oci_identity_tag.ArchitectureCenterTag.name}" = var.release }