Untitled
unknown
plain_text
3 years ago
1.7 kB
7
Indexable
resource "digitalocean_droplet" "web" {
image = "ubuntu-18-04-x64"
name = "tf-02"
size = "s-1vcpu-1gb"
password = random_password.password[count.index].result
ssh_keys = [digitalocean_ssh_key.default.fingerprint, data.digitalocean_ssh_key.rebrain_key.fingerprint]
tags = [digitalocean_tag.task_tag.id, digitalocean_tag.email_tag.id]
count = var.vps_count
connection {
type = "ssh"
user = "root"
host = self.ipv4_address
private_key = file(var.my_private_key)
}
provisioner "remote-exec" {
inline = [
" echo 'root:${local.password}' | chpasswd ",
" sed -i -E 's/^PasswordAuthentication .*/PasswordAuthentication yes/g' /etc/ssh/sshd_config &&",
" systemctl restart ssh.service"
]
}
}
resource "aws_route53_record" "do_record" {
zone_id = data.aws_route53_zone.rebrain.zone_id
name = "${var.email_tag}-${count.index}"
type = "A"
ttl = 300
records = [element (local.vps_ip, count.index)]
count = var.vps_count
}
resource "digitalocean_ssh_key" "default" {
name = "do_key"
public_key = var.my_key
}
resource "digitalocean_tag" "task_tag" {
name = var.task_tag
}
resource "digitalocean_tag" "email_tag" {
name = var.email_tag
}
resource "random_password" "password" {
count = var.vps_count
length = 16
special = true
override_special = "!#$%&*()-_=+[]{}<>:?"
}
data "digitalocean_ssh_key" "rebrain_key" {
name = "REBRAIN.SSH.PUB.KEY"
}
data "aws_route53_zone" "rebrain" {
name = "devops.rebrain.srwx.net"
}
locals {
vps_ip = digitalocean_droplet.web[*].ipv4_address
password = digitalocean_droplet.web[*].password
}
Editor is loading...