-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path20_servers.tf
More file actions
54 lines (50 loc) · 2.1 KB
/
20_servers.tf
File metadata and controls
54 lines (50 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
resource "aws_lightsail_key_pair" "devternity_dashboard_key" {
name = "devternity-dashboard-key"
public_key = file("dashboard.pub")
}
variable "provision_commands" {
type = list(string)
default = [
"sudo bash -c 'apt-get -y -qq update -o=Dpkg::Use-Pty=0'",
"sudo bash -c 'apt-get -y -qq install -o=Dpkg::Use-Pty=0 linux-image-extra-$(uname -r) linux-image-extra-virtual'",
"sudo bash -c 'curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -'",
"sudo bash -c 'add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\"'",
"sudo bash -c 'apt-get -y -qq update -o=Dpkg::Use-Pty=0'",
"sudo bash -c 'apt-get -y -qq install -o=Dpkg::Use-Pty=0 docker-ce'",
"sudo bash -c 'apt-get -y -qq install -o=Dpkg::Use-Pty=0 sqlite3 libsqlite3-dev ruby ruby-dev nodejs g++ bundler'",
"sudo bash -c 'gem install smashing unf_ext'",
"sudo bash -c 'apt-get -y -qq install -o=Dpkg::Use-Pty=0 nginx'",
]
}
resource "aws_lightsail_instance" "devternity_internal_dashboard" {
name = "devternity_internal_dashboard"
availability_zone = "eu-west-1a"
blueprint_id = "ubuntu_16_04"
bundle_id = "nano_1_0"
key_pair_name = aws_lightsail_key_pair.devternity_dashboard_key.name
connection {
host = aws_lightsail_instance.devternity_internal_dashboard.public_ip_address
type = "ssh"
user = "ubuntu"
private_key = file("dashboard.key")
}
provisioner "remote-exec" {
inline = var.provision_commands
}
}
resource "aws_lightsail_instance" "devternity_public_dashboard" {
name = "devternity_public_dashboard"
availability_zone = "eu-west-1a"
blueprint_id = "ubuntu_16_04"
bundle_id = "micro_1_0"
key_pair_name = aws_lightsail_key_pair.devternity_dashboard_key.name
connection {
host = aws_lightsail_instance.devternity_public_dashboard.public_ip_address
type = "ssh"
user = "ubuntu"
private_key = file("dashboard.key")
}
provisioner "remote-exec" {
inline = var.provision_commands
}
}