Cullancarey.com is my personal portfolio website. It is a static AWS S3 website fronted by CloudFront. The site also features a contact form backed by a Lambda function, allowing visitors to connect with me.
The automation for this repository's deployment utilizes AWS StackSets configured for my AWS organization. My AWS Deployment Roles repository contains CDK code that defines the CloudFormation StackSet, which deploys the deployment roles to the member accounts of my organization. I have created an OIDC GitHub Actions user in my management account. GitHub Actions assume this role first and then use it to assume the deployment roles in the member accounts. For more details, see GitHub Actions Workflows.
The website infrastructure is fully managed by AWS CDK. The CDK code is organized into constructs and stacks.
- ACMCertificates: Manages ACM certificates.
- BackupWebsiteBucket: Creates a backup S3 bucket.
- ApiGwtoLambda: Sets up API Gateway and Lambda for the contact form.
- CloudfrontDistribution: Manages CloudFront distributions.
- S3Bucket: Creates and configures S3 buckets.
For more details, see Constructs.
- ACMCertificates: ACM certificates stack.
- BackupWebsiteBucket: Backup website bucket stack.
- Website: Main website stack.
For more details, see Stacks.
- app.py: The entry point for the CDK application.