afterhours-shift-manager/terraform
Adam Moussa c611fd5d2b
Some checks are pending
Deploy API / Resolve target (push) Waiting to run
Deploy API / Deploy API to (push) Blocked by required conditions
feat(api): add OpenAPI Redocly contract and VPC outputs (DEV-289) (#268)
* feat(infra): export vpc_id and public subnet outputs (DEV-289)

Portal Fargate and meals already attach to this VPC. These outputs are
the HCP existing_vpc_id / existing_public_subnet_ids values.

Co-authored-by: Adam Moussa <amoussa1229@users.noreply.github.com>

* feat(api): add OpenAPI 3.1 and Redocly lint in CI (DEV-289)

Same extends: recommended ruleset and @redocly/cli 2.52.1 as
internal-portal. Covers health, roster, and portal /api/shifts.

Co-authored-by: Adam Moussa <amoussa1229@users.noreply.github.com>

* fix(api): document 4xx and treat 302 as success in Redocly (DEV-289)

Health and CORS preflight document 400. Recommended only counted 2XX,
so login-style 302s use a shared 2XX-or-3XX rule.

Co-authored-by: Adam Moussa <amoussa1229@users.noreply.github.com>

* fix(api): fail Redocly on missing 4xx and 2xx/3xx (DEV-289)

Promote operation-4xx-response and the 2xx-or-3xx success rule to error.
Drop unused 400s on health and CORS OPTIONS. Health documents 403 like the
portal. CORS stays in Flask and is not part of the employee contract.

Co-authored-by: Adam Moussa <amoussa1229@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Adam Moussa <amoussa1229@users.noreply.github.com>
2026-09-22 00:34:15 +00:00
..
bootstrap/stub feat(infra): migrate afterhours to HCP Terraform (PLAT-74) (#252) 2026-09-15 23:31:59 +00:00
.terraform.lock.hcl chore(deps): update terraform aws to ~> 6.65 (#258) 2026-09-21 15:42:29 +00:00
acm.tf feat(api): collapse Slack, portal, and jobs onto Fargate (PLAT-216) (#259) 2026-09-21 19:13:30 +00:00
alarms.tf chore(infra): remove API Gateway and Lambda dual-run (PLAT-216) (#264) 2026-09-21 22:37:13 +00:00
artifacts.tf feat(infra): migrate afterhours to HCP Terraform (PLAT-74) (#252) 2026-09-15 23:31:59 +00:00
data.tf feat(api): collapse Slack, portal, and jobs onto Fargate (PLAT-216) (#259) 2026-09-21 19:13:30 +00:00
dynamodb.tf feat(infra): migrate afterhours to HCP Terraform (PLAT-74) (#252) 2026-09-15 23:31:59 +00:00
ecs.tf chore(infra): remove API Gateway and Lambda dual-run (PLAT-216) (#264) 2026-09-21 22:37:13 +00:00
hcp_iam.tf fix(infra): allow hcptf apply to create ECS and ELB service-linked roles (PLAT-216) (#265) 2026-09-21 22:56:09 +00:00
iam.tf fix(infra): keep ecs-task-boundary CreatePolicy off live resources (PLAT-216) (#262) 2026-09-21 19:57:12 +00:00
iam_github_deploy.tf chore(infra): remove API Gateway and Lambda dual-run (PLAT-216) (#264) 2026-09-21 22:37:13 +00:00
lambda.tf chore(iam): delete leftover Lambda execution roles (PLAT-218) (#267) 2026-09-21 23:48:47 +00:00
lambda_boundary.tf fix(infra): split hcptf apply policy and omit empty queue ARNs (PLAT-216) (#261) 2026-09-21 19:46:36 +00:00
locals.tf feat(api): add OpenAPI Redocly contract and VPC outputs (DEV-289) (#268) 2026-09-22 00:34:15 +00:00
logs.tf chore(infra): remove API Gateway and Lambda dual-run (PLAT-216) (#264) 2026-09-21 22:37:13 +00:00
outputs.tf feat(api): add OpenAPI Redocly contract and VPC outputs (DEV-289) (#268) 2026-09-22 00:34:15 +00:00
providers.tf feat(api): collapse Slack, portal, and jobs onto Fargate (PLAT-216) (#259) 2026-09-21 19:13:30 +00:00
scheduler.tf chore(infra): remove API Gateway and Lambda dual-run (PLAT-216) (#264) 2026-09-21 22:37:13 +00:00
secrets.tf feat(infra): migrate afterhours to HCP Terraform (PLAT-74) (#252) 2026-09-15 23:31:59 +00:00
ssm.tf chore(infra): remove API Gateway and Lambda dual-run (PLAT-216) (#264) 2026-09-21 22:37:13 +00:00
variables.tf feat(api): collapse Slack, portal, and jobs onto Fargate (PLAT-216) (#259) 2026-09-21 19:13:30 +00:00
versions.tf feat(api): collapse Slack, portal, and jobs onto Fargate (PLAT-216) (#259) 2026-09-21 19:13:30 +00:00
vpc.tf fix(infra): move hcptf ECS apply perms to a managed policy (PLAT-216) (#263) 2026-09-21 20:47:25 +00:00