Skip to content

feat(platform): serve sleepingpill.javazone.no from the platform (DO NOT MERGE yet) - #8

Draft
Alexanderamiri wants to merge 1 commit into
platform/4-two-tasksfrom
platform/5-cutover
Draft

Alexanderamiri wants to merge 1 commit into
platform/4-two-tasksfrom
platform/5-cutover

Conversation

@Alexanderamiri

@Alexanderamiri Alexanderamiri commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Part 5 of 6. DO NOT MERGE until the parallel run on moresleep.javazone.no is verified (PR 4, #7, checklist). For review; the platform team will not merge it.

Why

The cutover. sleepingpill.javazone.no moves from the old stack (Default-ALB) to the platform. Both stacks use the same database, so there is no data copy, no write freeze and no consumer change.

What

  • routing.host: moresleep.javazone.no -> sleepingpill.javazone.no.
  • routing.adopt_dns: true.
  • Regenerated terraform/.

How the platform piece works

  • Listener rule: the host condition changes in place. The rule keeps priority 120 and the same target group.
  • DNS: sleepingpill.javazone.no was created by hand, so Terraform would normally fail with "record already exists". adopt_dns: true sets allow_overwrite on the record. Route53 then UPSERTs it to an alias of the platform ALB, and from then on Terraform owns it. The plan shows the moresleep.javazone.no record replaced by sleepingpill.javazone.no; that is expected.
  • Traffic: during the 60-second alias TTL, some clients still reach the old stack. Both stacks serve the same database, so every answer is consistent.

Rollback (break-glass). The old stack keeps running until PR 6 (#10).

  1. Freeze master first and disable the Deploy workflow (gh workflow disable deploy.yml -R javaBin/moresleep). Break-glass is not sticky: the next push to master runs a plan, sees that the record drifted and re-applies the platform alias, so any unrelated merge would silently undo the rollback.
  2. Point the record back by hand with admin credentials. This restores the exact original record (EvaluateTargetHealth: false, as it is today):
aws route53 change-resource-record-sets --hosted-zone-id Z09335963LMV0Z5QB9L45 --change-batch '{"Changes":[{"Action":"UPSERT","ResourceRecordSet":{"Name":"sleepingpill.javazone.no","Type":"A","AliasTarget":{"HostedZoneId":"Z215JYRZR1TBD5","DNSName":"dualstack.default-alb-1235825687.eu-central-1.elb.amazonaws.com","EvaluateTargetHealth":false}}}]}'
  1. Fix forward, then re-enable Deploy. Do not revert this PR: Terraform now owns the record, so a revert would delete sleepingpill.javazone.no. To abandon the platform completely, a platform admin first runs terraform state rm module.routing.aws_route53_record.this in the moresleep state, and only then is the PR reverted and Deploy re-enabled.

How verified

After merging, smoke-test the consumers:

  • talks.javazone.no submit (write)
  • cake-redux (write)
  • cupcake (read)
  • 2026.javazone.no program (public)

Watch the 5xx alarm.

Merge when

On an off-season weekday, after PR 4's (#7) checks pass and someone is around for an hour.

🤖 Generated with Claude Code

@Alexanderamiri
Alexanderamiri added this pull request to stack #9 October 24, 2026 13:32
@Alexanderamiri Alexanderamiri changed the title feat(platform): serve sleepingpill.javazone.no from the platform feat(platform): serve sleepingpill.javazone.no from the platform (DO NOT MERGE yet) Oct 24, 2026
@Alexanderamiri
Alexanderamiri marked this pull request as draft October 24, 2026 13:33
@Alexanderamiri
Alexanderamiri force-pushed the platform/5-cutover branch 2 times, most recently from 9aa7917 to c1d7dbe Compare October 24, 2026 13:38
Cutover: the ALB rule's host changes in place to sleepingpill.javazone.no
and routing.adopt_dns takes over the existing hand-made record, re-pointing
it from Default-ALB to the platform ALB. Same database on both sides, so no
data copy or write freeze. Do not merge until the parallel run on
moresleep.javazone.no is verified.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant