12345678910111213141516171819202122232425262728293031 |
- // Configuration data for teleport.yaml generation
- data "template_file" "node_user_data" {
- template = file("data.tpl")
- vars = {
- region = var.region
- cluster_name = var.cluster_name
- email = var.email
- domain_name = var.route53_domain
- dynamo_table_name = aws_dynamodb_table.teleport.name
- dynamo_events_table_name = aws_dynamodb_table.teleport_events.name
- locks_table_name = aws_dynamodb_table.teleport_locks.name
- license_path = var.license_path
- s3_bucket = var.s3_bucket_name
- use_acm = var.use_acm
- use_letsencrypt = var.use_letsencrypt
- }
- }
- // Auth, node, proxy (aka Teleport Cluster) on single AWS instance
- resource "aws_instance" "cluster" {
- key_name = var.key_name
- ami = data.aws_ami.base.id
- instance_type = var.cluster_instance_type
- subnet_id = tolist(data.aws_subnet_ids.all.ids)[0]
- vpc_security_group_ids = [aws_security_group.cluster.id]
- associate_public_ip_address = true
- user_data = data.template_file.node_user_data.rendered
- iam_instance_profile = aws_iam_role.cluster.id
- }
|