locals { project = "afterhours-shift-manager" is_prod = var.environment == "prod" account_id = local.is_prod ? "011934824531" : "710827005802" environment = var.environment hcp_project = "seahaven-${var.environment}" hcp_workspace = "${local.project}-${var.environment}" apply_role = "hcptf-afterhours-shift-manager" plan_role = "hcptf-afterhours-shift-manager-plan" deploy_role = "githubdeploy-afterhours-shift-manager" stack_name = local.project stack_prefix = "afterhours-shift-manager-" artifacts_bucket_name = "afterhours-shift-manager-artifacts-${local.account_id}" ssm_prefix = "/afterhours-shift-manager" # Prod has no default VPC. 10.70 is unused in 011934824531 # (10.0 proposal-system, 10.20 payments-dashboard, 10.40 syslog, # 10.60 meal-order-manager, 10.80 apm-wo). vpc_cidr = "10.70.0.0/16" public_subnet_cidrs = ["10.70.0.0/24", "10.70.1.0/24"] table_name = "afterhours-shifts" site_alerts_arn = "arn:aws:sns:${var.aws_region}:${local.account_id}:site-alerts" github_oidc_provider_arn = "arn:aws:iam::${local.account_id}:oidc-provider/token.actions.githubusercontent.com" # Org has Actions OIDC use_immutable_subject=true. github_oidc_subs = [ "repo:${var.github_repo}:environment:dev", "repo:${var.github_repo}:environment:prod", "repo:Sea-Haven-Industries@183236204/afterhours-shift-manager@1200846448:environment:dev", "repo:Sea-Haven-Industries@183236204/afterhours-shift-manager@1200846448:environment:prod", ] domain_name = var.domain_name != "" ? var.domain_name : (local.is_prod ? "afterhours.seahaven.com" : "afterhours.dev.seahaven.com") acm_wildcard_domain = local.is_prod ? "*.seahaven.com" : "*.dev.seahaven.com" api_url = var.attach_custom_domain ? "https://${local.domain_name}" : "http://${aws_lb.api.dns_name}" secret_names = [ "afterhours-shift-manager/slack-bot-token", "afterhours-shift-manager/slack-signing-secret", "afterhours-shift-manager/3cx-domain", "afterhours-shift-manager/3cx-client-id", "afterhours-shift-manager/3cx-client-secret", "afterhours-shift-manager/roster-api-token", ] holiday_router_arn = "arn:aws:lambda:${var.aws_region}:${local.account_id}:function:afterhours-holiday-router" holiday_scheduler_role_name = "afterhours-shift-manager-holiday-scheduler" holiday_scheduler_role_arn = "arn:aws:iam::${local.account_id}:role/tf-managed/${local.holiday_scheduler_role_name}" functions = { slack_bot = { function_name = "afterhours-shift-manager" role_name = "afterhours-shift-manager-slack-bot" handler = "handler.handler" timeout = 30 duration_ms = 24000 } weekly_post = { function_name = "afterhours-weekly-post" role_name = "afterhours-shift-manager-weekly-post" handler = "app.handler" timeout = 30 duration_ms = 24000 } roster_sync = { function_name = "afterhours-roster-sync" role_name = "afterhours-shift-manager-roster-sync" handler = "app.handler" timeout = 60 duration_ms = 48000 } roster_api = { function_name = "afterhours-roster-api" role_name = "afterhours-shift-manager-roster-api" handler = "app.handler" timeout = 30 duration_ms = 24000 } ring_scheduler = { function_name = "afterhours-ring-scheduler" role_name = "afterhours-shift-manager-ring-scheduler" handler = "app.handler" timeout = 60 duration_ms = 48000 } holiday_router = { function_name = "afterhours-holiday-router" role_name = "afterhours-shift-manager-holiday-router" handler = "app.handler" timeout = 60 duration_ms = 48000 } portal_api = { function_name = "afterhours-portal-api" role_name = "afterhours-shift-manager-portal-api" handler = "app.handler" timeout = 30 duration_ms = 24000 } } }