github.com/weaveworks/common@v0.0.0-20230728070032-dd9e68f319d5/tools/provisioning/do/main.tf (about)

     1  provider "digitalocean" {
     2    # See README.md for setup instructions.
     3  }
     4  
     5  # Tags to label and organize droplets:
     6  resource "digitalocean_tag" "name" {
     7    name = "${var.name}"
     8  }
     9  
    10  resource "digitalocean_tag" "app" {
    11    name = "${var.app}"
    12  }
    13  
    14  resource "digitalocean_tag" "terraform" {
    15    name = "terraform"
    16  }
    17  
    18  resource "digitalocean_droplet" "tf_test_vm" {
    19    ssh_keys = ["${var.do_public_key_id}"]
    20    image    = "${var.do_os}"
    21    region   = "${var.do_dc}"
    22    size     = "${var.do_size}"
    23    name     = "${var.name}-${count.index}"
    24    count    = "${var.num_hosts}"
    25  
    26    tags = [
    27      "${var.app}",
    28      "${var.name}",
    29      "terraform",
    30    ]
    31  
    32    # Wait for machine to be SSH-able:
    33    provisioner "remote-exec" {
    34      inline = ["exit"]
    35  
    36      connection {
    37        type        = "ssh"
    38        user        = "${var.do_username}"
    39        private_key = "${file("${var.do_private_key_path}")}"
    40      }
    41    }
    42  }