Skip to main content

/ipa.stack.frontend

Frontend tier stack: S3 static hosting with CloudFront distribution and Origin Access Control (OAC).

Stack Identity

PropertyValue
Stack name{APP_NAMESPACE}-{APP_ENV}-frontend
Templateinfra/cfn/frontend/frontend.yml
CapabilitiesNone
Lifecycledeploy

Parameters

Wirable Parameters

ParameterSourceRequired
LogBucketDomainNamesecurity.LogBucketNameYes

Configurable Parameters

ParameterDefaultDescription
BucketNameSuffixwebSuffix for the S3 bucket name

Outputs

OutputDescription
AppUrlCloudFront HTTPS URL
DistributionIdCloudFront distribution ID (for cache invalidation)
DistributionDomainNameCloudFront domain name
BucketNameS3 bucket name (for uploading frontend assets)

Security

  • S3 Block Public Access: enabled on all settings
  • Encryption: AES-256 at rest
  • CloudFront: HTTPS-only with TLSv1.2 minimum
  • Origin Access Control: OAC with SigV4 signing (no legacy OAI)

Post-Deploy Operations

After deployment, scripts/post-deploy.mk performs:

  1. Generates web-client/public/config.json with API URL and auth endpoints
  2. Builds the frontend (npm run build in web-client/)
  3. Uploads build artifacts to the S3 bucket
  4. Invalidates the CloudFront cache