Adding a start to control-plane infra

pull/516/head
Jonathan Simon 2019-11-24 20:47:39 -08:00
parent 79418a5fb7
commit 23c3df43ad
5 changed files with 152 additions and 0 deletions

31
terraform/aws/.gitignore vendored Normal file
View File

@ -0,0 +1,31 @@
# Local .terraform directories
**/.terraform/*
# .tfstate files
*.tfstate
*.tfstate.*
# Crash log files
crash.log
# Ignore any .tfvars files that are generated automatically for each Terraform run. Most
# .tfvars files are managed as part of configuration and so should be included in
# version control.
#
# example.tfvars
# Ignore override files as they are usually used to override resources locally and so
# are not checked in
override.tf
override.tf.json
*_override.tf
*_override.tf.json
# Include override files you do wish to add to version control using negated pattern
#
# !example_override.tf
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
# example: *tfplan*
*.tfvars

View File

View File

@ -0,0 +1,63 @@
data "aws_vpc" "main" {
filter {
name = "tag:Name"
values = ["${var.prefix}-${var.name}"]
}
}
data "aws_ami" "base" {
owners = ["self"]
most_recent = true
filter {
name = "tag:Name"
values = ["jibakurei-amzn2-base"]
}
}
# module "asg" {
# source = "terraform-aws-modules/autoscaling/aws"
# version = "~> 3.0"
# name = "cp-leader"
# # Launch configuration
# lc_name = "example-lc"
# image_id = "ami-ebd02392"
# instance_type = "t2.micro"
# security_groups = ["sg-12345678"]
# root_block_device = [
# {
# volume_size = "8"
# volume_type = "gp2"
# },
# ]
# # Auto scaling group
# asg_name = "example-asg"
# vpc_zone_identifier = ["subnet-1235678", "subnet-87654321"]
# health_check_type = "EC2"
# min_size = 1
# max_size = 1
# desired_capacity = 1
# wait_for_capacity_timeout = 0
# tags = [
# {
# key = "Environment"
# value = "dev"
# propagate_at_launch = true
# },
# {
# key = "Project"
# value = "megasecret"
# propagate_at_launch = true
# },
# ]
# tags_as_map = {
# extra_tag1 = "extra_value1"
# extra_tag2 = "extra_value2"
# }
# }

52
terraform/aws/etcd.tf Normal file
View File

@ -0,0 +1,52 @@
locals {
service = "${var.prefix}-${var.name}-etcd"
}
module "asg" {
count = "${var.etcd_member_count}"
source = "terraform-aws-modules/autoscaling/aws"
version = "~> 3.0"
name = "${local.service}-asg"
# Launch configuration
lc_name = "${local.service}-lc"
image_id = "ami-ebd02392" ## need to set a up data source for this.
instance_type = "t3.micro"
security_groups = ["sg-12345678"] ## need to create this
root_block_device = [
{
volume_size = "20"
volume_type = "gp2"
},
]
# Auto scaling group
asg_name = "${local.service}-asg"
vpc_zone_identifier = ["subnet-1235678", "subnet-87654321"]
health_check_type = "EC2"
min_size = 1
max_size = 1
desired_capacity = 1
wait_for_capacity_timeout = 0
tags = [
{
key = "Environment"
value = "dev"
propagate_at_launch = true
},
{
key = "Project"
value = "megasecret"
propagate_at_launch = true
},
]
tags_as_map = {
extra_tag1 = "extra_value1"
extra_tag2 = "extra_value2"
}
}

View File

@ -14,3 +14,9 @@ variable "prefix" {
description = "The prefix to add the name"
default = "jibakurei"
}
variable "etcd_member_count" {
type = string
description = "The number of etcd instances in the cluster"
default = "1"
}