mirror of
https://github.com/Sea-Haven-Industries/afterhours-shift-manager.git
synced 2026-09-30 06:43:12 +00:00
110 lines
4.3 KiB
HCL
110 lines
4.3 KiB
HCL
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
|
|
}
|
|
release_notifier = {
|
|
function_name = "afterhours-release-notifier"
|
|
role_name = "afterhours-shift-manager-release-notifier"
|
|
handler = "app.handler"
|
|
timeout = 30
|
|
duration_ms = 24000
|
|
}
|
|
portal_api = {
|
|
function_name = "afterhours-portal-api"
|
|
role_name = "afterhours-shift-manager-portal-api"
|
|
handler = "app.handler"
|
|
timeout = 30
|
|
duration_ms = 24000
|
|
}
|
|
}
|
|
}
|