compute.tf (62 lines of code) (raw):

data "oci_identity_availability_domains" "ads" { compartment_id = var.tenancy_ocid } data "template_file" "setup" { template = file("${path.module}/scripts/setup.sh") } data "template_file" "init-master-node" { template = file("${path.module}/scripts/init-master-node.sh") } resource "oci_core_instance" "master-node" { count = 1 availability_domain = data.oci_identity_availability_domains.ads.availability_domains[0].name compartment_id = var.compartment_ocid display_name = "${var.name}-master-node" shape = "VM.Standard.A1.Flex" shape_config { memory_in_gbs = 12 ocpus = 2 } create_vnic_details { subnet_id = oci_core_subnet.test_subnet.id } source_details { source_id = var.instance_image_ocid_oracle79_arm source_type = "image" } metadata = { ssh_authorized_keys = var.ssh_public_key user_data = base64encode(join("\n", tolist([ "#!/usr/bin/env bash", "set -x", (data.template_file.setup.rendered), (data.template_file.init-master-node.rendered)], ))) } } resource "oci_core_instance" "worker-node-1" { count = 1 availability_domain = data.oci_identity_availability_domains.ads.availability_domains[0].name compartment_id = var.compartment_ocid display_name = "${var.name}-worker-node-1" shape = "VM.Standard.A1.Flex" shape_config { memory_in_gbs = 6 ocpus = 1 } create_vnic_details { subnet_id = oci_core_subnet.test_subnet.id } source_details { source_id = var.instance_image_ocid_oracle79_arm source_type = "image" } metadata = { ssh_authorized_keys = var.ssh_public_key user_data = base64encode(join("\n", tolist([ "#!/usr/bin/env bash", "set -x", (data.template_file.setup.rendered)], ))) } }