provider "aws" {
  region = "us-east-1"
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "dev-orcd-terraform-state"
    key     = "dev/integrations/metamulate/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

data "aws_vpc" "vpc" {
  filter {
    name   = "tag:Name"
    values = ["dev"]
  }
}

data "aws_subnets" "private" {
  filter {
    name   = "vpc-id"
    values = [data.aws_vpc.vpc.id]
  }

  tags = {
    tier = "private"
  }
}

module "internal_spa" {
  source = "git@github.com:theorchard/terraform-internal-spa.git?ref=1.0.0"

  providers = {
    aws.dns = aws
  }

  environment                 = var.environment
  service_name                = var.service_name
  application_family          = var.application_family
  vpc_id                      = data.aws_vpc.vpc.id
  load_balancer_subnet_ids    = [for subnet in slice(data.aws_subnets.private.ids, 0, 2) : subnet]
  fully_qualified_domain_name = "${var.service_name}.${var.domain_name}"
  certificate_domain          = "*.${var.domain_name}"
  ingress_prefix_list_names   = ["vpn-ny-users"]
  route53_record_enabled      = true
  route53_zone_name           = var.domain_name
}