mirror of
https://github.com/Sea-Haven-Industries/shoc-frontend-new.git
synced 2026-10-07 16:19:01 +00:00
Provision the frontend's AWS hosting as a CDK app local to this repo (private S3 + OAC, CloudFront with SPA 403/404 -> index.html fallback) and a GitHub OIDC deploy role scoped to the dev branch. Deploy on push to dev via the org reusable cd-cdk.yaml: cdk deploy provisions infra, then scripts/deploy-web.sh builds the SPA, syncs to S3 (immutable hashed assets, no-cache index.html) and invalidates CloudFront. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
810 B
JavaScript
24 lines
810 B
JavaScript
#!/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";
|
|
|
|
const stack = new FrontendStack(app, `shoc-frontend-${envName}`, {
|
|
envName,
|
|
githubRepo,
|
|
deployBranch,
|
|
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");
|