{"id":20216433,"url":"https://github.com/lauravuo/aws-spa","last_synced_at":"2026-05-11T10:34:25.821Z","repository":{"id":40752524,"uuid":"263076122","full_name":"lauravuo/aws-spa","owner":"lauravuo","description":"CDK script for deploying single-page-app to AWS S3","archived":false,"fork":false,"pushed_at":"2023-01-06T14:58:47.000Z","size":1537,"stargazers_count":0,"open_issues_count":18,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-03T11:26:20.354Z","etag":null,"topics":["aws","aws-acm","aws-cdk","cloudfront","deployment","devops","https","route53","s3","s3-website","single-page-app","spa"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lauravuo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-11T15:05:12.000Z","updated_at":"2020-10-02T19:21:37.000Z","dependencies_parsed_at":"2023-02-06T05:30:55.367Z","dependency_job_id":null,"html_url":"https://github.com/lauravuo/aws-spa","commit_stats":null,"previous_names":[],"tags_count":3,"template":true,"template_full_name":null,"purl":"pkg:github/lauravuo/aws-spa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauravuo%2Faws-spa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauravuo%2Faws-spa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauravuo%2Faws-spa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauravuo%2Faws-spa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lauravuo","download_url":"https://codeload.github.com/lauravuo/aws-spa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauravuo%2Faws-spa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32890696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-10T13:40:02.631Z","status":"online","status_checked_at":"2026-05-11T02:00:05.975Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-acm","aws-cdk","cloudfront","deployment","devops","https","route53","s3","s3-website","single-page-app","spa"],"created_at":"2024-11-14T06:28:02.385Z","updated_at":"2026-05-11T10:34:25.796Z","avatar_url":"https://github.com/lauravuo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SPA deployment to AWS\n\nInstructions with CDK script for deploying single-page-app to S3.\nAfter executing manual steps from section **prerequisities** you can run the CDK script. The script will create\n\n- S3 bucket for storing the files\n- TLS certificate to region \"us-east-1\" via ACM\n- Cloudfront distribution with the TLS certificate for the S3 bucket\n- Route53 record in a pre-existing hosted zone for the cloudfront distribution\n- IAM user with S3 bucket update permissions for CI use\n\n## Prerequisities\n\n1. Make sure you have installed node.js, AWS CDK and Typescript:\n\n   ```bash\n   # node\n   nvm install\n\n   # aws cdk\n   npm install -g aws-cdk\n\n   # typescript\n   npm install -g typescript\n   ```\n\n1. You need AWS Account. [Create IAM user and AWS Access keys via console](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) if you don't have one already.\n\n1. [Create a public hosted zone to AWS Route53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html) for your domain. If your domain registrar is different from AWS Route53, you need to store the AWS nameservers to your domain settings (via the domain registrar UI).\n\n1. Declare following environment variables:\n\n   ```bash\n   # default region for AWS e.g. eu-north-1\n   export AWS_DEFAULT_REGION=\u003cxxx\u003e\n\n   # IAM user access key ID\n   export AWS_ACCESS_KEY_ID=\u003cxxx\u003e\n\n   # IAM user secret access key\n   export AWS_SECRET_ACCESS_KEY=\u003cxxx\u003e\n\n   # default region for AWS e.g. eu-north-1\n   export CDK_DEFAULT_REGION=\u003cxxx\u003e\n\n   # AWS account number\n   export CDK_DEFAULT_ACCOUNT=\u003cxxx\u003e\n   ```\n\n## Steps\n\n```bash\n# install deps\nnpm install\n\n# bootstrap CDK\ncdk bootstrap\n\n# deploy CDK\ncdk deploy\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flauravuo%2Faws-spa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flauravuo%2Faws-spa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flauravuo%2Faws-spa/lists"}