https://github.com/bmlt-enabled/aggregator
Aggregates the data from all known bmlt servers while acting like a root server itself.
https://github.com/bmlt-enabled/aggregator
Last synced: 4 days ago
JSON representation
Aggregates the data from all known bmlt servers while acting like a root server itself.
- Host: GitHub
- URL: https://github.com/bmlt-enabled/aggregator
- Owner: bmlt-enabled
- Created: 2018-03-03T20:23:02.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2026-04-26T19:49:04.000Z (2 months ago)
- Last Synced: 2026-04-26T21:27:17.382Z (2 months ago)
- Language: HCL
- Homepage: https://aggregator.bmltenabled.org/main_server/semantic
- Size: 452 KB
- Stars: 4
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-bmlt - Tomato - aggregates all the BMLTs in the world (BMLT (Basic Meeting List Toolbox))
README
# aggregator
The worldwide BMLT server aggregator (formerly tomato) uses the [BMLT Server](https://github.com/bmlt-enabled/bmlt-server) codebase. This repo contains the terraform for the aggregator infrastructure and the worldwide servers list [serverList.json](./serverList.json).
## Architecture
```mermaid
graph TB
subgraph "Root Servers Worldwide"
RS1["🌍 Aotearoa NZ
bmlt.nzna.org"]
RS2["🌍 Greater NY
bmlt.newyorkna.org"]
RS3["🌍 40+ other servers
..."]
end
subgraph "AWS Infrastructure"
subgraph "ECS Cluster (EC2: t3a.small x2)"
INIT["⚙️ aggregator-init
(Database Setup)"]
APP1["🚀 aggregator
Task 1
Port 8000"]
APP2["🚀 aggregator
Task 2
Port 8000"]
IMPORT["📥 aggregator-import
(Scheduled: Every 4hrs)"]
end
ALB["⚖️ Application Load Balancer"]
RDS["🗄️ RDS MySQL 8
db.t3.micro
100GB"]
CW["📊 CloudWatch
Logs & Alarms"]
LAMBDA["λ Lambda Monitor
(Task Failures)"]
SNS["📧 SNS Alerts"]
end
subgraph "Public Access"
DNS1["🌐 aggregator.bmltenabled.org"]
end
RS1 -->|"Fetch Meetings"| IMPORT
RS2 -->|"Fetch Meetings"| IMPORT
RS3 -->|"Fetch Meetings"| IMPORT
IMPORT -->|"Store Data"| RDS
INIT -->|"Initialize Schema"| RDS
APP1 -->|"Query"| RDS
APP2 -->|"Query"| RDS
DNS1 --> ALB
ALB -->|"Route Traffic"| APP1
ALB -->|"Route Traffic"| APP2
APP1 -.->|"Logs"| CW
APP2 -.->|"Logs"| CW
IMPORT -.->|"Logs"| CW
INIT -.->|"Logs"| CW
CW -->|"Task Stopped Events"| LAMBDA
CW -->|"Health Alerts"| SNS
LAMBDA --> SNS
style IMPORT fill:#ffb3b3,stroke:#333,stroke-width:2px,color:#000
style APP1 fill:#b3d9ff,stroke:#333,stroke-width:2px,color:#000
style APP2 fill:#b3d9ff,stroke:#333,stroke-width:2px,color:#000
style INIT fill:#ffe6b3,stroke:#333,stroke-width:2px,color:#000
style RDS fill:#b3ffb3,stroke:#333,stroke-width:2px,color:#000
```