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
Copy file name to clipboardExpand all lines: terragrunt/modules/docs-rs/README.md
+14-10Lines changed: 14 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,12 @@ This is the [Terraform] module that defines the infrastructure for [docs.rs].
8
8
9
9
[docs.rs] consists of a few different components:
10
10
11
-
- A web frontend hosted as a container running in an [ECS] cluster.
12
-
- A background documentation builder running on [ec2](https://aws.amazon.com/ec2) instances as part of an [autoscaling](https://aws.amazon.com/ec2/autoscaling) group.
13
-
- A crate registry watcher (**TODO**: this is currently not configured).
11
+
- A web frontend hosted as a container running in an [ECS] cluster.
12
+
- A background documentation builder running on [ec2](https://aws.amazon.com/ec2) instances as part of an [autoscaling](https://aws.amazon.com/ec2/autoscaling) group.
13
+
- A background utility (**TODO**: this is currently not configured) which includes:
14
+
- crate registry watcher that watches for changes to the crates registry and enqueues doc builds
15
+
- the repository stats updater that ensures # stars, # issues, etc. from GitHub & GitLab are up-to-date
16
+
- the CDN invalidation queue handler
14
17
15
18
These are documented in more detail below.
16
19
@@ -36,13 +39,14 @@ The registry watcher watches the registry for new entries. When a new crate is a
36
39
37
40
```mermaid
38
41
flowchart LR
39
-
DNS1[Frontend DNS] --> CloudFront
40
-
CloudFront --> DNS2[ECS LB DNS]
41
-
DNS2 --> ECSLB[Cluster Load Balancer]
42
-
ECSLB --> cluster[ECS Cluster]
43
-
cluster --> service[ECS Service]
44
-
service --> task[ECS Task]
45
-
task --> Container
42
+
User -- DNS --> CloudFront
43
+
CloudFront -- DNS --> ECSLB[Application Load Balancer]
44
+
ECSLB --> service[ECS Service]
45
+
46
+
subgraph ecs [ECS Cluster]
47
+
service --> Container
48
+
service -.-> task[Task Definition]
49
+
end
46
50
```
47
51
48
52
The user-facing web frontend for [docs.rs] is hosted on AWS [ECS]. Requests go through several hops on their way from the [CloudFront] distribution through the ECS Cluster to an ECS service and ultimately an ECS task which contains a container running the docs.rs web server. Many of these steps are behind a domain name which is configured in AWS [Route 53].
0 commit comments