#!/usr/bin/env node import { App, Tags } from "aws-cdk-lib"; import { FrontendStack } from "../lib/frontend-stack"; const app = new App(); // Defaults match the dev setup; override via `-c key=value` on the CLI. const envName = app.node.tryGetContext("envName") ?? "dev"; const githubRepo = app.node.tryGetContext("githubRepo") ?? "Sea-Haven-Industries/shoc-frontend-new"; const deployBranch = app.node.tryGetContext("deployBranch") ?? "dev"; // Custom domain. Comma-separated, e.g. -c domainNames=dev.seahaven.com // The ACM cert MUST be in us-east-1 in the SAME account this stack deploys to. const domainNames = (app.node.tryGetContext("domainNames") ?? "") .split(",") .map((d: string) => d.trim()) .filter((d: string) => d.length > 0); const certificateArn = app.node.tryGetContext("certificateArn") ?? ""; // Route 53 hosted zone (this account) for the custom-domain alias record. const hostedZoneId = app.node.tryGetContext("hostedZoneId") ?? ""; const hostedZoneName = app.node.tryGetContext("hostedZoneName") ?? ""; const stack = new FrontendStack(app, `shoc-frontend-${envName}`, { envName, githubRepo, deployBranch, domainNames, certificateArn, hostedZoneId, hostedZoneName, env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION ?? "us-east-1", }, }); Tags.of(stack).add("Project", "shoc-frontend"); Tags.of(stack).add("Environment", envName); Tags.of(stack).add("ManagedBy", "cdk");