locals {
  service = "humand-event-handler"
}

module "this" {
  source = "../../worker_server"

  service = local.service

  aws_account   = var.env_config.aws_account
  env           = var.env_config.env
  humand_vpc_id = var.env_config.humand_vpc_id
  cluster_name  = var.env_config.private_cluster_name
  cidr_block    = var.env_config.cidr_block

  docker_image = var.docker_image

  node_type = "event-handler"

  cpu    = var.cpu
  memory = var.memory

  task_policies = {
    RdsPolicy         = aws_iam_policy.rds_policy.arn
    S3Policy          = aws_iam_policy.s3_policy.arn
    SQSPolicy         = aws_iam_policy.sqs_policy.arn
    LearningSQSPolicy = data.terraform_remote_state.learning_service.outputs.learning_scheduler_queue_sqs_messages_policy_arn
    SESPolicy         = aws_iam_policy.ses_policy.arn
  }
  secrets_overrides     = var.secret_overrides
  environment_overrides = var.environment_overrides

  fargate_spot_weight = floor(1000 * var.spot_ratio)
  fargate_weight      = 1000 - floor(1000 * var.spot_ratio)

  # Autoscaling configuration
  enable_autoscaling       = var.enable_autoscaling
  autoscaling_min_capacity = var.autoscaling_min_capacity
  autoscaling_max_capacity = var.autoscaling_max_capacity

  autoscaling_type               = "cpu"
  cpu_target_utilization_percent = var.cpu_target_utilization_percent
  scale_in_cooldown              = var.scale_in_cooldown
  scale_out_cooldown             = var.scale_out_cooldown

  health_check_path = var.health_check_path
  ingress_lb_tg     = var.ingress_lb_tg
}
