Conversation
Synced from: PurposePath_Api@2d433dbe Original commit: Merge pull request #694 from mottych/docs/sync-dev Original author: Motty Chen Branch: master [skip ci]
Synced from: PurposePath_Api@5f2f1375 Original commit: Merge pull request #700 from mottych/hotfix/issue- Original author: Motty Chen Branch: master [skip ci]
Ensure browser preflight requests always return CORS headers by configuring API Gateway for allowed frontend origins and relaxing app-level allowed headers. Add a stronger production smoke test that validates all purposepath.app frontend origins and common tracing headers to prevent regressions. Made-with: Cursor
Add the coaching Pulumi preprod stack configuration file with AWS region so future hotfix branches can deploy to preprod without manual stack config setup. Made-with: Cursor
fix(cors): restore preprod and production preflight handling
Support production deploys from merged hotfix PRs, add an automatic hotfix-to-preprod deployment workflow, and fail fast when Lambda is not Active after deploy. Stop managing the shared ECR repository from the coaching service stack to prevent image churn breaking Lambda. Made-with: Cursor
fix(deploy): harden hotfix promotion reliability
Run Lambda state validation from the Pulumi project directory and poll until the function reaches Active with a successful update status. This prevents false failures and correctly blocks only unhealthy production deploys. Made-with: Cursor
fix(ci): stabilize production lambda runtime verification
Add a dedicated Cursor command for production incident handling that mirrors resolve-issue principles while enforcing the hotfix path: preprod validation, hotfix-to-master promotion, and mandatory downstream merges to staging and dev. Made-with: Cursor
docs: add resolve-production-issue command workflow
chore: promote master to staging after hotfix
Made-with: Cursor
|
🍹 The Update for mottych/purposepath-coaching-api/staging (at b4b5c2d) was successful. ✨ Neo ExplanationThis deployment pushes updated coaching API code via a new container image and adds CORS support to the API Gateway, allowing the listed frontend origins to make credentialed cross-origin requests to the staging API.Root Cause AnalysisTwo independent changes are being deployed simultaneously: a new Docker image build for the coaching API (code update), and the addition of a CORS configuration to the API Gateway. Dependency Chain
These two changes are independent of each other and deploy in parallel. Risk AnalysisNo stateful resources (databases, storage) are being modified or replaced. The Lambda function update is an in-place image swap with no replacement. The CORS addition is a non-breaking change that only expands browser access to the API. Resource Changes Name Type Operation
~ coaching-api aws:apigatewayv2/api:Api update
~ coaching-image docker:index/image:Image update
~ coaching-api aws:lambda/function:Function update
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary