mirror of
https://github.com/Sea-Haven-Industries/proposal-system.git
synced 2026-09-30 13:33:15 +00:00
Adds an env config layer resolved from CDK context (`-c env=staging`, default prod) and threads it through all three stacks so a fully isolated staging environment can be deployed in the same AWS account. prod is byte-identical: the prod config reproduces the deployed values exactly and stackSuffix='' keeps every construct ID, stack name, and physical resource name unchanged. Verified via synth — prod foundation keeps proposal-system-db / -uploads / db-credentials / -auth / seahaven; staging suffixes all of them. - config.ts: EnvConfig (prod + staging, same account) + resolveConfig - app.ts: env-aware stack naming + config passthrough - foundation/compute/frontend: ~40 physical names suffixed with config.stackSuffix; CORS, Cognito domain/callbacks, alarms email from config; RETAIN / deletionProtection gated on config.retainData so staging can be torn down - cdk.json: register `env` context (default prod) - post-deploy.sh: STACK_SUFFIX for dynamic stack-name lookup (default prod) Note: automated staging CI deploy needs a one-line `cdk-context` input added to the org reusable cd-cdk.yaml (companion change). prod deploy is unaffected (default prod).
22 lines
459 B
JSON
22 lines
459 B
JSON
{
|
|
"app": "npx ts-node --prefer-ts-exts bin/app.ts",
|
|
"watch": {
|
|
"include": ["**"],
|
|
"exclude": [
|
|
"README.md",
|
|
"cdk*.json",
|
|
"**/*.d.ts",
|
|
"**/*.js",
|
|
"tsconfig.json",
|
|
"package*.json",
|
|
"node_modules",
|
|
"dist"
|
|
]
|
|
},
|
|
"context": {
|
|
"env": "prod",
|
|
"@aws-cdk/aws-lambda:recognizeLayerVersion": true,
|
|
"@aws-cdk/core:checkSecretUsage": true,
|
|
"@aws-cdk/core:target-partitions": ["aws"]
|
|
}
|
|
}
|