Init repo

This commit is contained in:
gregory hendrickson
2023-03-30 03:51:24 -07:00
commit 40acf53cfa
14 changed files with 60 additions and 0 deletions

29
main.tf Normal file
View File

@@ -0,0 +1,29 @@
provider "google" {
credentials = file(var.credentials_file)
project = var.project_id
region = var.region
zone = var.zone
}
module "compute_engine_template" {
source = "./modules/compute_engine_template"
project_id = var.project_id
region = var.region
image_name = var.image_name
instance_type = var.instance_type
startup_script = file("${path.module}/scripts/startup.sh")
}
module "compute_engine_instance_group" {
source = "./modules/compute_engine_instance_group"
project_id = var.project_id
region = var.region
template_self_link = module.compute_engine_template.self_link
}
module "load_balancer" {
source = "./modules/load_balancer"
project_id = var.project_id
region = var.region
backend_instance_group_self_link = module.compute_engine_instance_group.self_link
}

View File

View File

@@ -0,0 +1,3 @@
output "self_link" {
value = google_compute_instance_template.template.self_link
}

View File

View File

@@ -0,0 +1,3 @@
output "ip_address" {
value = google_compute_global_address.lb_address.address
}

View File

@@ -0,0 +1,3 @@
variable "project_id" {}
variable "region" {}
variable "backend_instance_group_self_link" {}

7
outputs.tf Normal file
View File

@@ -0,0 +1,7 @@
output "instance_group_url" {
value = module.compute_engine_instance_group.self_link
}
output "load_balancer_ip" {
value = module.load_balancer.ip_address
}

3
scripts/startup.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
sudo apt-get update
sudo apt-get install -y nginx

6
terraform.tfvars Normal file
View File

@@ -0,0 +1,6 @@
credentials_file = "path/to/credentials.json"
project_id = "terraform-demo-382210"
region = "us-central1"
zone = "us-central1-a"
image_name = "debian-cloud/debian-11"
instance_type = "n1-standard-1"

6
variables.tf Normal file
View File

@@ -0,0 +1,6 @@
variable "credentials_file" {}
variable "project_id" {}
variable "region" {}
variable "zone" {}
variable "image_name" {}
variable "instance_type" {}