Adding a start to control-plane infra
parent
79418a5fb7
commit
23c3df43ad
|
@ -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
|
|
@ -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"
|
||||||
|
# }
|
||||||
|
# }
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,3 +14,9 @@ variable "prefix" {
|
||||||
description = "The prefix to add the name"
|
description = "The prefix to add the name"
|
||||||
default = "jibakurei"
|
default = "jibakurei"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "etcd_member_count" {
|
||||||
|
type = string
|
||||||
|
description = "The number of etcd instances in the cluster"
|
||||||
|
default = "1"
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue