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, }); new FrontendStack(app, 'proposal-system-frontend', { stackName: 'proposal-system-frontend', env, description: 'Proposal System - CloudFront + S3 web hosting', });