https://github.com/asasmith/cloud-resume-infra
https://github.com/asasmith/cloud-resume-infra
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/asasmith/cloud-resume-infra
- Owner: asasmith
- Created: 2025-03-06T15:22:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-06T16:33:07.000Z (over 1 year ago)
- Last Synced: 2025-03-06T17:36:25.969Z (over 1 year ago)
- Language: TypeScript
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cloud Resume Challenge
This repo holds all of the infrastructure as code (iac) for my [Cloud Resume Project](https://cloudresumechallenge.dev/docs/the-challenge/aws/). The project reqs are:
- Create a resume static website ([resume.asasmith.dev](https://resume.asasmith.dev))
- Use a custom domain
- Implement a visitor counter
- Automate deployments
- Utilize aws services (s3, cloudformation, cloudfront, dynamoDB, api gateway, lambda)
- Leverage aws cdk for all resources
## Goals
I hope to gain a better understanding of aws services and how to manage those services via infrastructure as code. I would also like to have a more complete mental model of devops and devops best practices. I chose aws cdk because I have experience with js/ts and I've taken a Frontend Masters course that had a cdk portion (that course used Go).
## Todo
- [x] Create resume using html
- Repo setup [here](https://github.com/asasmith/cloud-resume-frontend)
- [x] Add github action workflow to deploy updates to s3 ([workflow.yml](https://github.com/asasmith/cloud-resume-frontend/blob/main/.github/workflows/deploy.yml))
- [x] Style resume with css
- [x] Create s3 bucket for static website
- [x] Add cloudfront distribution and acm cert for https
- [x] Point custom domain to cloudfront distibution ([resume.asasmith.dev](https://resume.asasmith.dev))
- [x] Add visitor counter to static web site
- [x] Set up dynamoDB to track visitor count
- [x] Add lambda func/api to interact with dynamoDB
- [ ] Tests
- [ ] Get cloud practitioner cert
## Useful commands
* `npm run build` compile typescript to js
* `npm run watch` watch for changes and compile
* `npm run test` perform the jest unit tests
* `npx cdk deploy` deploy this stack to your default AWS account/region
* `npx cdk diff` compare deployed stack with current state
* `npx cdk synth` emits the synthesized CloudFormation template