You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the static website for [iporaitech.com](https://iporaitech.com), styled with TailwindCSS and bundled with Webpack.
4
4
5
-
It's built with Webpack and styled with TailwindCSS.
5
+
> **NOTICE**: Iporaitech is currently out-of-service, but this is a _very simple_ example of how to build an static website _without a framework_, and deploy it to AWS.
6
6
7
-
See webpack.\* files for bundling info.
7
+
It features English/Spanish content by using the `HtmlWebpackPlugin` to generate the `index.html` and the `es/index.html` files based on a [template file](./src/template.html) and [partial content](./src/partials/) embedded in the template for each language.
8
+
9
+
Caveat: this example does not include tests nor code quality checks.
8
10
9
11
## Scripts
10
12
@@ -14,21 +16,42 @@ Start development server with `yarn dev`
14
16
15
17
Build for production with `yarn build:prod`
16
18
17
-
## Deployment
19
+
## AWS Infrastructure
18
20
19
-
The deploy process is encoded in the [deploy-all](.github/workflows/deploy-all.yml) GitHub Actions workflow, basically:
21
+
This is an static website hosted in a private S3 bucket and distributed by CloudFront. These and other related resources are provided by the following Terraform modules:
This is and static website hosted in a private S3 bucket and distributed by CloudFront.
26
+
The AWS account where these resources live is part of an AWS Control Tower landing zone, and it was provisioned using the [aws-afc-terraform-s3-backend-blueprint](https://github.com/hisapy/aws-afc-terraform-s3-backend-blueprint).
29
27
30
-
For info about the exact resources check the [terraform](./terraform/) directory.
28
+
For convenience, the **Route53 hosted zone** for the `iporaitech.com` domain name as well as the Google site-verification and Gmail related DNS records are also defined in this repository and are created in the **same AWS account** as the rest of the resources in this repo.
31
29
32
-
**NOTICE:** The Route53 hosted zone for the `iporaitech.com` domain name is created in this project.
30
+
Check the [terraform](./terraform/) directory for more info.
33
31
34
32
**TODO:** add terraform-docs
33
+
34
+
### About Route53 and DNS propagation
35
+
36
+
When you create a Route53 hosted zone for your domain, you have to update the name servers (NS) on the domain's registrar with the NS records assigned to the hosted zone by Route53.
37
+
38
+
You can use the `dig` command to verify the name servers have been propagated (at least to your location). For example, the following command should return the same NS as the ones shown in the Route53 hosted zone:
39
+
40
+
`dig NS iporaitech.com +short`
41
+
42
+
Operations that require Route53 DNS records will timeout if the NS records returned by the DNS query are not the same as the ones in the hosted zone, for example, the ACM certificate validation from the terraform-aws-route53-cert module.
43
+
44
+
> In my experience, with US and PY based DNS registrars, ACM (us-east-1) was able to validate certificates ~1 hour or so after updating the NS in the registrar ... maybe affected by me running `dig` from my side to get the expected CNAME answer (?) 🤔.
45
+
46
+
### About the DomainKeys Identified Mail (DKIM) DNS record
47
+
48
+
## Deployment
49
+
50
+
The deploy process is encoded in the [Build and deploy](.github/workflows/deploy.yml) GitHub Actions workflow, basically:
51
+
52
+
TODOOOO: Link deploy.yml to the blueprint repo's README
0 commit comments