-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into oonimeasurements
- Loading branch information
Showing
157 changed files
with
8,715 additions
and
725 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
on: | ||
issues: | ||
types: | ||
- opened | ||
|
||
jobs: | ||
add-to-project: | ||
name: Add issue to project | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/add-to-project@RELEASE_VERSION | ||
with: | ||
project-url: https://github.com/orgs/ooni/projects/31 | ||
github-token: ${{ secrets.ADD_TO_PROJECT_GH_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,26 @@ | ||
# OONI Devops | ||
|
||
## Infrastructure Tiers | ||
|
||
We divide our infrastructure components into 3 tiers: | ||
|
||
- **Tier 0: Critical**: These are mission critical infrastructure components. If these become unavailable or have significant disruption, it will have a major impact. | ||
|
||
- **Tier 1: Essential**: These components are important, but not as critical as | ||
tier 0. They are part of our core operations, but if they become unavailable | ||
the impact is important, but not major. | ||
|
||
- **Tier 2: Non-Essential**: These are auxiliary components. Their | ||
unavailability does not have a major impact. | ||
|
||
### Tier 0 (Critical) components | ||
|
||
- [ ] Probe Services (collector specifically) | ||
- [ ] Fastpath (part responsible for storing post-cans) | ||
- [x] DNS configuration | ||
- [ ] Monitoring | ||
- [ ] OONI bridges | ||
- [ ] OONI.org website | ||
- [x] Web Connectivity test helpers | ||
- [ ] Code signing | ||
|
||
### Tier 1 (Essential) components | ||
|
||
- [ ] OONI API measurement listing | ||
- [x] OONI Explorer | ||
- [x] OONI Run | ||
- [ ] OONI Data analysis pipeline | ||
- [ ] OONI Findings API | ||
- [x] Website analytics | ||
|
||
### Tier 2 (Non-Essential) components | ||
|
||
- [ ] Test list editor | ||
- [ ] Jupyter notebooks | ||
- [ ] Countly | ||
At a glance below is the overall architecture of OONI Infrastructure across our various locations: | ||
|
||
```mermaid | ||
flowchart TB | ||
apiorg([api.ooni.org])-->alb | ||
apiio([api.ooni.io])-->backend | ||
ecs[Backend API ECS]<-->ch[(Clickhouse Cluster)] | ||
subgraph Hetzner | ||
backend[OONI Backend Monolith]<-->ch | ||
monitoring[Monitoring host] | ||
pipeline[Pipeline v5] | ||
end | ||
subgraph AWS | ||
alb[API Load Balancer]<-->ecs | ||
alb-->backend | ||
ecs<-->s3[(OONI S3 Buckets)] | ||
s3<-->backend | ||
end | ||
subgraph Digital Ocean | ||
th[Web Connectivity Test helper]<-->alb | ||
end | ||
``` | ||
|
||
For more details [Infrastructure docs](https://docs.ooni.org/devops/infrastructure/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
- name: Deploy airflow frontend host | ||
hosts: | ||
- data1.htz-fsn.prod.ooni.nu | ||
become: true | ||
roles: | ||
- oonidata_airflow | ||
vars: | ||
airflow_public_fqdn: "airflow.prod.ooni.io" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
- name: Ensure all hosts are bootstrapped correctly | ||
hosts: all | ||
become: yes | ||
roles: | ||
- bootstrap | ||
tags: | ||
- bootstrap |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
- name: Deploy oonidata clickhouse hosts | ||
hosts: | ||
- notebook.ooni.org | ||
- data1.htz-fsn.prod.ooni.nu | ||
#- data2.htz-fsn.prod.ooni.nu | ||
- data3.htz-fsn.prod.ooni.nu | ||
become: true | ||
tags: | ||
- clickhouse | ||
roles: | ||
- prometheus_node_exporter | ||
- oonidata_clickhouse |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
- name: Update monitoring config | ||
hosts: monitoring.ooni.org | ||
become: true | ||
tags: | ||
- monitoring | ||
roles: | ||
- prometheus | ||
- prometheus_blackbox_exporter | ||
- prometheus_alertmanager |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
- name: Deploy monitoring host | ||
hosts: monitoring.ooni.org | ||
become: true | ||
tags: | ||
- monitoring | ||
roles: | ||
- monitoring | ||
vars: | ||
monitoring_htpasswd: "{{ lookup('amazon.aws.aws_ssm', '/oonidevops/secrets/monitoring_htpasswd', profile='oonidevops_user_prod') }}" | ||
|
||
- ansible.builtin.import_playbook: deploy-monitoring-config.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- | ||
- hosts: backend-hel.ooni.org | ||
roles: | ||
- role: bootstrap | ||
- role: base-backend | ||
- role: nftables | ||
- role: nginx | ||
tags: nginx | ||
vars: | ||
nginx_user: "www-data" | ||
- role: dehydrated | ||
tags: dehydrated | ||
expand: yes | ||
vars: | ||
ssl_domains: | ||
# with dehydrated the first entry is the cert FQDN | ||
# and the other ones are alternative names | ||
- "backend-hel.ooni.org" | ||
- role: ooni-backend | ||
vars: | ||
ssl_domain: backend-hel.ooni.org |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
- name: Include monitoring playbook | ||
ansible.builtin.import_playbook: deploy-monitoring.yml | ||
|
||
- name: Include ooni-backend playbook | ||
ansible.builtin.import_playbook: deploy-ooni-backend.yml | ||
|
||
- name: Include clickhouse playbook | ||
ansible.builtin.import_playbook: deploy-clickhouse.yml | ||
|
||
- name: Include airflow playbook | ||
ansible.builtin.import_playbook: deploy-airflow.yml |
Oops, something went wrong.