data "aws_route53_zone" "dns_zone" {
  name = "theorchard.io."
}

module "opensearch" {
  source = "git@github.com:theorchard/terraform-elasticsearch.git//?ref=5.0.1"

  providers = {
    aws.dns = aws.networking
  }

  application_family       = var.application_family
  use_opensearch_engine    = true
  env                      = var.environment
  aws_es_domain_name       = var.domain_name
  aws_es_version           = "OpenSearch_3.1"
  aws_es_instance_type     = var.os_instance_type
  aws_es_instance_count    = 3
  aws_es_disk_size         = 200
  aws_es_disk_type         = "gp3"

  vpc_id     = module.vpc_info.vpc_id
  subnet_ids = module.vpc_info.default_private_subnet_ids
  route53_record_creation_enabled = true
  use_service_specific_kms_key = false

  dedicated_master_enabled = true
  dedicated_master_count   = 3
  dedicated_master_type    = var.dedicated_master_type

  override_main_response_version = null

  advanced_security_options_enabled = true
  advanced_security_options_iam_master_user_arn = aws_iam_role.os_manager_role.arn
}

module "os_datadog_integration" {
  source = "git@github.com:theorchard/terraform-datadog.git//modules/open_search?ref=6.17.1"

  environment        = var.environment
  service_name       = var.domain_name
  application_family = var.application_family

  notification_endpoints            = var.notification_endpoints
  escalation_notification_endpoints = var.escalation_notification_endpoints

  monitor_enabled                 = true
  critical_number_5XX             = 5
  disk_space_monitor_enabled      = true
  disk_space_monitor_gib_critical = 20
}
