{"id":17384341,"url":"https://github.com/tsertkov/tpl-aws-website","last_synced_at":"2026-02-02T22:43:46.897Z","repository":{"id":240103962,"uuid":"800398485","full_name":"tsertkov/tpl-aws-website","owner":"tsertkov","description":"Automated repo with AWS-hosted static website template","archived":false,"fork":false,"pushed_at":"2024-11-11T17:34:14.000Z","size":1492,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T10:44:56.439Z","etag":null,"topics":["aws","aws-sam","cicd","monorepo","template-repo","website"],"latest_commit_sha":null,"homepage":"https://tpl-aws-website.alekswrite.com","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tsertkov.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-14T08:59:37.000Z","updated_at":"2024-08-19T07:52:05.000Z","dependencies_parsed_at":"2024-05-16T19:28:56.048Z","dependency_job_id":"75ff1973-c89a-4cdd-b004-5232d53dfc28","html_url":"https://github.com/tsertkov/tpl-aws-website","commit_stats":null,"previous_names":["tsertkov/tpl-aws-website"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/tsertkov/tpl-aws-website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsertkov%2Ftpl-aws-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsertkov%2Ftpl-aws-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsertkov%2Ftpl-aws-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsertkov%2Ftpl-aws-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsertkov","download_url":"https://codeload.github.com/tsertkov/tpl-aws-website/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsertkov%2Ftpl-aws-website/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263385654,"owners_count":23458741,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-sam","cicd","monorepo","template-repo","website"],"created_at":"2024-10-16T07:45:13.379Z","updated_at":"2026-02-02T22:43:41.843Z","avatar_url":"https://github.com/tsertkov.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"[\u003cimg src=\"docs/assets/use-this-template-0.50.svg\" height=\"40\" /\u003e](https://github.com/new?template_name=tpl-aws-website\u0026template_owner=tsertkov)\n\n# tpl-aws-website\n\nA monorepo template for an AWS-hosted static website, complete with infrastructure code and CI/CD automations, multiple environments, optional basic auth protection.\n\n💲 \u003e= **$0.50** 🌟 Monthly AWS cost (**🌐 DNS Zone** + 🔧 *usage*)\n\n## Table of Contents\n\n- [Infrastructure and Flow Diagram](#infrastructure-and-flow-diagram)\n- [Monorepo Layout](#monorepo-layout)\n- [Usage](#usage)\n- [Setup](#setup)\n- [Makefile](#makefile)\n\n## Infrastructure and Flow Diagram\n\nA high-level infrastructure diagram illustrating service integrations and user flows.\n\n![Infrastructure Diagram](docs/assets/infra-diagram.svg)\n\nLearn more infrastructure details from [the documentation](docs/infrastructure.md).\n\n## Monorepo Layout\n\n- [`fe/`](/fe) - Frontend project\n- [`infra/`](/infra) - Infrastructure project\n- [`e2etest/`](/e2etest) - End-to-end test project\n- [`config.json`](/config.json) - Config file\n- [`Makefile`](/Makefile) - Task automations\n\nLearn more about monorepo architecture from [the documentation](docs/monorepo.md).\n\n## Usage\n\n1. [Start new repository](https://github.com/new?template_name=tpl-aws-website\u0026template_owner=tsertkov) from this template.\n2. Update config.json as necessary.\n3. Go through [Setup](#setup) steps.\n4. Edit `fe/src` files, `git add`, `git commit`, `git push`, etc.\n5. Vaildate `stg` deployment and run `deploy` workflow for `prd` env.\n\n## Setup\n\n### Deploy infrastructure\n\nStart with deploying AWS shared resources and deploy infrastructure for `stg` and `prd` environments.\n\n```sh\nmake infra-deploy-certificate\nmake infra-deploy-github-oidc\nmake infra-deploy ENV=stg\nmake infra-deploy ENV=prd\n```\n\nUpdate `s3bucket` and `cloudfrontId` in `config.json` with values returned in stack outputs.\n\n### CI/CD\n\nTo enable the deployment workflow, configure the following Environments and Environment Variables in your GitHub repository settings:\n\n- **Environments:**\n  - `prd` - Production\n  - `stg` - Staging\n- **Environment variables:**\n  - `AWS_REGION` - AWS region environment is deployed to\n  - `AWS_ROLE` - AWS CI/CD Role ARN\n\nUse `CDRoleArn` value from `infra-deploy` outputs to update `AWS_ROLE` environment variable for a corresponding environment in repository settings.\n\n## Makefile\n\nUse `make` to run tasks in this project:\n\n```sh\nmake\n# Available targets:\n#   deploy - Build \u0026 deploy infrastructure and frontend\n#   fe-%   - Frontend (fe) targets\n#   infra-% - Infrastructure (infra) targets\n\nmake fe\n# Available targets:\n#   test - test frontend\n#   build - build frontend\n#   deploy - deploy frontend\n\nmake infra\n# Available targets:\n#   deploy - deploy infrastructure\n#   deploy-certificate - deploy ACM certificate\n#   deploy-github-oidc - deploy GitHub OIDC\n#   test - test infrastructure\n\nmake e2etest\n# Available targets:\n#   run - run e2e tests\n#   init - init dependencies\n#   init-test - init test dependencies\n#   test - run tests\n#   npm-run-% - run any npm script\n#   npm-% - run any npm command\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsertkov%2Ftpl-aws-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsertkov%2Ftpl-aws-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsertkov%2Ftpl-aws-website/lists"}