mirror of
https://github.com/Sea-Haven-Industries/proposal-system.git
synced 2026-09-30 15:53:15 +00:00
Keep both Phase 1 (JWT authorizer, webClientId/mobileClientId props) and Phase 2 (alarmTopic, CloudWatch alarms) changes in CDK stacks.
40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
import * as cdk from 'aws-cdk-lib';
|
|
import { FoundationStack } from '../lib/foundation-stack';
|
|
import { ComputeStack } from '../lib/compute-stack';
|
|
import { FrontendStack } from '../lib/frontend-stack';
|
|
|
|
const app = new cdk.App();
|
|
|
|
const env: cdk.Environment = {
|
|
account: '328440206208',
|
|
region: 'us-east-1',
|
|
};
|
|
|
|
const foundation = new FoundationStack(app, 'proposal-system-foundation', {
|
|
stackName: 'proposal-system-foundation',
|
|
env,
|
|
description: 'Proposal System - VPC, RDS, S3, SQS, Cognito',
|
|
});
|
|
|
|
const compute = new ComputeStack(app, 'proposal-system-compute', {
|
|
stackName: 'proposal-system-compute',
|
|
env,
|
|
description: 'Proposal System - API Lambda, Python Lambdas, Bedrock KB',
|
|
vpc: foundation.vpc,
|
|
lambdaSecurityGroup: foundation.lambdaSecurityGroup,
|
|
dbSecret: foundation.dbSecret,
|
|
uploadsBucket: foundation.uploadsBucket,
|
|
generatedBucket: foundation.generatedBucket,
|
|
libraryBucket: foundation.libraryBucket,
|
|
jobsQueue: foundation.jobsQueue,
|
|
userPool: foundation.userPool,
|
|
alarmTopic: foundation.alarmTopic,
|
|
webClientId: foundation.webClientId,
|
|
mobileClientId: foundation.mobileClientId,
|
|
});
|
|
|
|
new FrontendStack(app, 'proposal-system-frontend', {
|
|
stackName: 'proposal-system-frontend',
|
|
env,
|
|
description: 'Proposal System - CloudFront + S3 web hosting',
|
|
});
|