Skip to content

Commit

Permalink
Merge pull request #41 from zacanger/chore/terraform
Browse files Browse the repository at this point in the history
Update AWS and DO for TF 0.12
  • Loading branch information
chrisurwin authored Jun 26, 2019
2 parents 06277ea + c2e2b5c commit 9e57431
Show file tree
Hide file tree
Showing 4 changed files with 114 additions and 105 deletions.
130 changes: 65 additions & 65 deletions aws/main.tf
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Configure the Amazon AWS Provider
provider "aws" {
access_key = "${var.aws_access_key}"
secret_key = "${var.aws_secret_key}"
region = "${var.region}"
access_key = var.aws_access_key
secret_key = var.aws_secret_key
region = var.region
}

variable "aws_access_key" {
Expand Down Expand Up @@ -121,24 +121,24 @@ data "template_cloudinit_config" "rancherserver-cloudinit" {

part {
content_type = "text/x-shellscript"
content = "${data.template_file.userdata_server.rendered}"
content = data.template_file.userdata_server.rendered
}
}

resource "aws_instance" "rancherserver" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "${var.type}"
key_name = "${var.ssh_key_name}"
security_groups = ["${aws_security_group.rancher_sg_allowall.name}"]
user_data = "${data.template_cloudinit_config.rancherserver-cloudinit.rendered}"
ami = data.aws_ami.ubuntu.id
instance_type = var.type
key_name = var.ssh_key_name
security_groups = [aws_security_group.rancher_sg_allowall.name]
user_data = data.template_cloudinit_config.rancherserver-cloudinit.rendered

tags {
tags = {
Name = "${var.prefix}-rancherserver"
}
}

data "template_cloudinit_config" "rancheragent-all-cloudinit" {
count = "${var.count_agent_all_nodes}"
count = var.count_agent_all_nodes

part {
content_type = "text/cloud-config"
Expand All @@ -147,25 +147,25 @@ data "template_cloudinit_config" "rancheragent-all-cloudinit" {

part {
content_type = "text/x-shellscript"
content = "${data.template_file.userdata_agent.rendered}"
content = data.template_file.userdata_agent.rendered
}
}

resource "aws_instance" "rancheragent-all" {
count = "${var.count_agent_all_nodes}"
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "${var.type}"
key_name = "${var.ssh_key_name}"
security_groups = ["${aws_security_group.rancher_sg_allowall.name}"]
user_data = "${data.template_cloudinit_config.rancheragent-all-cloudinit.*.rendered[count.index]}"

tags {
count = var.count_agent_all_nodes
ami = data.aws_ami.ubuntu.id
instance_type = var.type
key_name = var.ssh_key_name
security_groups = [aws_security_group.rancher_sg_allowall.name]
user_data = data.template_cloudinit_config.rancheragent-all-cloudinit[count.index].rendered

tags = {
Name = "${var.prefix}-rancheragent-${count.index}-all"
}
}

data "template_cloudinit_config" "rancheragent-etcd-cloudinit" {
count = "${var.count_agent_etcd_nodes}"
count = var.count_agent_etcd_nodes

part {
content_type = "text/cloud-config"
Expand All @@ -174,25 +174,25 @@ data "template_cloudinit_config" "rancheragent-etcd-cloudinit" {

part {
content_type = "text/x-shellscript"
content = "${data.template_file.userdata_agent.rendered}"
content = data.template_file.userdata_agent.rendered
}
}

resource "aws_instance" "rancheragent-etcd" {
count = "${var.count_agent_etcd_nodes}"
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "${var.type}"
key_name = "${var.ssh_key_name}"
security_groups = ["${aws_security_group.rancher_sg_allowall.name}"]
user_data = "${data.template_cloudinit_config.rancheragent-etcd-cloudinit.*.rendered[count.index]}"

tags {
count = var.count_agent_etcd_nodes
ami = data.aws_ami.ubuntu.id
instance_type = var.type
key_name = var.ssh_key_name
security_groups = [aws_security_group.rancher_sg_allowall.name]
user_data = data.template_cloudinit_config.rancheragent-etcd-cloudinit[count.index].rendered

tags = {
Name = "${var.prefix}-rancheragent-${count.index}-etcd"
}
}

data "template_cloudinit_config" "rancheragent-controlplane-cloudinit" {
count = "${var.count_agent_controlplane_nodes}"
count = var.count_agent_controlplane_nodes

part {
content_type = "text/cloud-config"
Expand All @@ -201,25 +201,25 @@ data "template_cloudinit_config" "rancheragent-controlplane-cloudinit" {

part {
content_type = "text/x-shellscript"
content = "${data.template_file.userdata_agent.rendered}"
content = data.template_file.userdata_agent.rendered
}
}

resource "aws_instance" "rancheragent-controlplane" {
count = "${var.count_agent_controlplane_nodes}"
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "${var.type}"
key_name = "${var.ssh_key_name}"
security_groups = ["${aws_security_group.rancher_sg_allowall.name}"]
user_data = "${data.template_cloudinit_config.rancheragent-controlplane-cloudinit.*.rendered[count.index]}"

tags {
count = var.count_agent_controlplane_nodes
ami = data.aws_ami.ubuntu.id
instance_type = var.type
key_name = var.ssh_key_name
security_groups = [aws_security_group.rancher_sg_allowall.name]
user_data = data.template_cloudinit_config.rancheragent-controlplane-cloudinit[count.index].rendered

tags = {
Name = "${var.prefix}-rancheragent-${count.index}-controlplane"
}
}

data "template_cloudinit_config" "rancheragent-worker-cloudinit" {
count = "${var.count_agent_worker_nodes}"
count = var.count_agent_worker_nodes

part {
content_type = "text/cloud-config"
Expand All @@ -228,47 +228,47 @@ data "template_cloudinit_config" "rancheragent-worker-cloudinit" {

part {
content_type = "text/x-shellscript"
content = "${data.template_file.userdata_agent.rendered}"
content = data.template_file.userdata_agent.rendered
}
}

resource "aws_instance" "rancheragent-worker" {
count = "${var.count_agent_worker_nodes}"
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "${var.type}"
key_name = "${var.ssh_key_name}"
security_groups = ["${aws_security_group.rancher_sg_allowall.name}"]
user_data = "${data.template_cloudinit_config.rancheragent-worker-cloudinit.*.rendered[count.index]}"

tags {
count = var.count_agent_worker_nodes
ami = data.aws_ami.ubuntu.id
instance_type = var.type
key_name = var.ssh_key_name
security_groups = [aws_security_group.rancher_sg_allowall.name]
user_data = data.template_cloudinit_config.rancheragent-worker-cloudinit[count.index].rendered

tags = {
Name = "${var.prefix}-rancheragent-${count.index}-worker"
}
}

data "template_file" "userdata_server" {
template = "${file("files/userdata_server")}"
template = file("files/userdata_server")

vars {
admin_password = "${var.admin_password}"
cluster_name = "${var.cluster_name}"
docker_version_server = "${var.docker_version_server}"
rancher_version = "${var.rancher_version}"
vars = {
admin_password = var.admin_password
cluster_name = var.cluster_name
docker_version_server = var.docker_version_server
rancher_version = var.rancher_version
}
}


data "template_file" "userdata_agent" {
template = "${file("files/userdata_agent")}"

vars {
admin_password = "${var.admin_password}"
cluster_name = "${var.cluster_name}"
docker_version_agent = "${var.docker_version_agent}"
rancher_version = "${var.rancher_version}"
server_address = "${aws_instance.rancherserver.public_ip}"
template = file("files/userdata_agent")

vars = {
admin_password = var.admin_password
cluster_name = var.cluster_name
docker_version_agent = var.docker_version_agent
rancher_version = var.rancher_version
server_address = aws_instance.rancherserver.public_ip
}
}

output "rancher-url" {
value = ["https://${aws_instance.rancherserver.public_ip}"]
}

4 changes: 4 additions & 0 deletions aws/versions.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

terraform {
required_version = ">= 0.12"
}
81 changes: 41 additions & 40 deletions do/main.tf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Configure the DigitalOcean Provider
provider "digitalocean" {
token = "${var.do_token}"
token = var.do_token
}

variable "do_token" {
Expand Down Expand Up @@ -63,75 +63,76 @@ resource "digitalocean_droplet" "rancherserver" {
count = "1"
image = "ubuntu-18-04-x64"
name = "${var.prefix}-rancherserver"
region = "${var.region}"
size = "${var.size}"
user_data = "${data.template_file.userdata_server.rendered}"
ssh_keys = "${var.ssh_keys}"
region = var.region
size = var.size
user_data = data.template_file.userdata_server.rendered
ssh_keys = var.ssh_keys
}

resource "digitalocean_droplet" "rancheragent-all" {
count = "${var.count_agent_all_nodes}"
count = var.count_agent_all_nodes
image = "ubuntu-18-04-x64"
name = "${var.prefix}-rancheragent-${count.index}-all"
region = "${var.region}"
size = "${var.size}"
user_data = "${data.template_file.userdata_agent.rendered}"
ssh_keys = "${var.ssh_keys}"
region = var.region
size = var.size
user_data = data.template_file.userdata_agent.rendered
ssh_keys = var.ssh_keys
}

resource "digitalocean_droplet" "rancheragent-etcd" {
count = "${var.count_agent_etcd_nodes}"
count = var.count_agent_etcd_nodes
image = "ubuntu-18-04-x64"
name = "${var.prefix}-rancheragent-${count.index}-etcd"
region = "${var.region}"
size = "${var.size}"
user_data = "${data.template_file.userdata_agent.rendered}"
ssh_keys = "${var.ssh_keys}"
region = var.region
size = var.size
user_data = data.template_file.userdata_agent.rendered
ssh_keys = var.ssh_keys
}

resource "digitalocean_droplet" "rancheragent-controlplane" {
count = "${var.count_agent_controlplane_nodes}"
count = var.count_agent_controlplane_nodes
image = "ubuntu-18-04-x64"
name = "${var.prefix}-rancheragent-${count.index}-controlplane"
region = "${var.region}"
size = "${var.size}"
user_data = "${data.template_file.userdata_agent.rendered}"
ssh_keys = "${var.ssh_keys}"
region = var.region
size = var.size
user_data = data.template_file.userdata_agent.rendered
ssh_keys = var.ssh_keys
}

resource "digitalocean_droplet" "rancheragent-worker" {
count = "${var.count_agent_worker_nodes}"
count = var.count_agent_worker_nodes
image = "ubuntu-18-04-x64"
name = "${var.prefix}-rancheragent-${count.index}-worker"
region = "${var.region}"
size = "${var.size}"
user_data = "${data.template_file.userdata_agent.rendered}"
ssh_keys = "${var.ssh_keys}"
region = var.region
size = var.size
user_data = data.template_file.userdata_agent.rendered
ssh_keys = var.ssh_keys
}

data "template_file" "userdata_server" {
template = "${file("files/userdata_server")}"
template = file("files/userdata_server")

vars {
admin_password = "${var.admin_password}"
cluster_name = "${var.cluster_name}"
docker_version_server = "${var.docker_version_server}"
rancher_version = "${var.rancher_version}"
vars = {
admin_password = var.admin_password
cluster_name = var.cluster_name
docker_version_server = var.docker_version_server
rancher_version = var.rancher_version
}
}

data "template_file" "userdata_agent" {
template = "${file("files/userdata_agent")}"

vars {
admin_password = "${var.admin_password}"
cluster_name = "${var.cluster_name}"
docker_version_agent = "${var.docker_version_agent}"
rancher_version = "${var.rancher_version}"
server_address = "${digitalocean_droplet.rancherserver.ipv4_address}"
template = file("files/userdata_agent")

vars = {
admin_password = var.admin_password
cluster_name = var.cluster_name
docker_version_agent = var.docker_version_agent
rancher_version = var.rancher_version
server_address = digitalocean_droplet.rancherserver[0].ipv4_address
}
}

output "rancher-url" {
value = ["https://${digitalocean_droplet.rancherserver.ipv4_address}"]
value = ["https://${digitalocean_droplet.rancherserver[0].ipv4_address}"]
}

4 changes: 4 additions & 0 deletions do/versions.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

terraform {
required_version = ">= 0.12"
}

0 comments on commit 9e57431

Please sign in to comment.