Skip to content

Commit 55c9ae6

Browse files
committed
docs: translate architecture and demo-guide from Italian to English
1 parent 596fe81 commit 55c9ae6

3 files changed

Lines changed: 352 additions & 355 deletions

File tree

docs/access-credentials.md

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
# Access & Credentials — ETL Microservices Platform
22

3-
> **Security note:** I valori mostrati qui sono i **default di sviluppo** definiti in `.env.example`.
4-
> In produzione, sovrascrivili tutti nel file `.env` (mai committare `.env` su Git).
3+
> **Security note:** Values shown here are **development defaults** defined in `.env.example`.
4+
> In production, override them all in the `.env` file (never commit `.env` to Git).
55
66
---
77

88
## Quick Reference — Service URLs
99

10-
| Servizio | URL | Credenziali |
10+
| Service | URL | Credentials |
1111
|---|---|---|
12-
| **Grafana** (dashboard monitoraggio) | http://localhost:3000 | `admin` / `change-me-strong-password` |
13-
| **Prometheus** (metriche raw) | http://localhost:9090 |nessuna auth — |
14-
| **Airflow** (orchestrazione DAG) | http://localhost:8080 | `admin` / `admin` (creato al primo avvio) |
15-
| **Streamlit UI** (AI pipeline builder) | http://localhost:8501 |nessuna auth — |
16-
| **cAdvisor** (container metrics) | http://localhost:8088 |nessuna auth — |
17-
| **PostgreSQL** (DB interno Airflow) | `localhost:5432` | `airflow` / `change-me-strong-password` |
18-
| **statsd-exporter** (metrics Airflow→Prom) | http://localhost:9102/metrics |nessuna auth — |
12+
| **Grafana** (monitoring dashboard) | http://localhost:3000 | `admin` / `change-me-strong-password` |
13+
| **Prometheus** (raw metrics) | http://localhost:9090 |no auth — |
14+
| **Airflow** (DAG orchestration) | http://localhost:8080 | `admin` / `admin` (created on first boot) |
15+
| **Streamlit UI** (AI pipeline builder) | http://localhost:8501 |no auth — |
16+
| **cAdvisor** (container metrics) | http://localhost:8088 |no auth — |
17+
| **PostgreSQL** (Airflow internal DB) | `localhost:5432` | `airflow` / `change-me-strong-password` |
18+
| **statsd-exporter** (Airflow→Prometheus metrics) | http://localhost:9102/metrics |no auth — |
1919

2020
---
2121

22-
## ETL Microservices — Porte & Health Endpoints
22+
## ETL Microservices — Ports & Health Endpoints
2323

24-
Tutti i servizi espongono `GET /health` e `GET /metrics`.
24+
All services expose `GET /health` and `GET /metrics`.
2525

26-
| Container | Porta | Health check |
26+
| Container | Port | Health check |
2727
|---|---|---|
2828
| `extract-csv-service` | 5001 | http://localhost:5001/health |
2929
| `clean-nan-service` | 5002 | http://localhost:5002/health |
@@ -37,82 +37,82 @@ Tutti i servizi espongono `GET /health` e `GET /metrics`.
3737
| `outlier-detection-service` | 5011 | http://localhost:5011/health |
3838
| `text-completion-llm-service` | 5012 | http://localhost:5012/health |
3939

40-
> **Porta 5003**non assegnata (gap storico). Prossimo servizio disponibile: **5013**.
40+
> **Port 5003**unassigned (historical gap). Next available port: **5013**.
4141
4242
---
4343

44-
## Variabili d'Ambiente`.env`
44+
## Environment Variables`.env`
4545

46-
Copia `.env.example` in `.env` e modifica i valori prima di avviare lo stack.
46+
Copy `.env.example` to `.env` and modify values before starting the stack.
4747

4848
```bash
4949
cp .env.example .env
5050
```
5151

52-
| Variabile | Default | Descrizione |
52+
| Variable | Default | Description |
5353
|---|---|---|
54-
| `POSTGRES_USER` | `airflow` | Username PostgreSQL |
55-
| `POSTGRES_PASSWORD` | `change-me-strong-password` | Password PostgreSQL ⚠️ cambia in produzione |
56-
| `POSTGRES_DB` | `airflow` | Nome database PostgreSQL |
57-
| `GF_SECURITY_ADMIN_PASSWORD` | `change-me-strong-password` | Password admin Grafana ⚠️ cambia in produzione |
58-
| `ETL_DATA_ROOT` | `/app/data` | Root directory dati nei container |
59-
| `ALLOW_PRIVATE_API_URLS` | `false` | Permette URL privati nell'extract-api-service |
60-
| `HF_MODELS_PATH` | `./hf_models` | Path locale cache modelli HuggingFace |
61-
| `LLM_PROVIDER` | `openai` | Provider AI: `openai` oppure `local` |
62-
| `OPENAI_API_KEY` | *(vuoto)* | API key OpenAI — richiesta se `LLM_PROVIDER=openai` |
63-
| `OPENAI_MODEL` | `gpt-4o-mini` | Modello OpenAI da usare |
54+
| `POSTGRES_USER` | `airflow` | PostgreSQL username |
55+
| `POSTGRES_PASSWORD` | `change-me-strong-password` | PostgreSQL password ⚠️ change in production |
56+
| `POSTGRES_DB` | `airflow` | PostgreSQL database name |
57+
| `GF_SECURITY_ADMIN_PASSWORD` | `change-me-strong-password` | Grafana admin password ⚠️ change in production |
58+
| `ETL_DATA_ROOT` | `/app/data` | Base directory for data in containers |
59+
| `ALLOW_PRIVATE_API_URLS` | `false` | Allow private URLs in extract-api-service |
60+
| `HF_MODELS_PATH` | `./hf_models` | Local HuggingFace model cache path |
61+
| `LLM_PROVIDER` | `openai` | AI provider: `openai` or `local` |
62+
| `OPENAI_API_KEY` | *(empty)* | OpenAI API key — required if `LLM_PROVIDER=openai` |
63+
| `OPENAI_MODEL` | `gpt-4o-mini` | OpenAI model to use |
6464

6565
---
6666

67-
## Credenziali Airflow
67+
## Airflow Credentials
6868

69-
L'utente admin viene creato automaticamente al primo avvio dal `CMD` nel Dockerfile Airflow
70-
(idempotente: se esiste già non lo ricrea).
69+
The admin user is created automatically on first boot by the `CMD` in the Airflow Dockerfile
70+
(idempotent: skipped if it already exists).
7171

72-
| Campo | Valore default |
72+
| Field | Default Value |
7373
|---|---|
7474
| Username | `admin` |
7575
| Password | `admin` |
7676
| URL | http://localhost:8080 |
7777

78-
> Se stai usando un'istanza già avviata **prima** di questa modifica, crea l'utente manualmente:
78+
> If you are using an instance that started **before** this change, create the user manually:
7979
> ```bash
8080
> docker exec airflow airflow users create \
8181
> --username admin --password admin \
8282
> --firstname Admin --lastname ETL \
8383
> --role Admin --email admin@etl.local
8484
> ```
85-
> Cambia la password dopo il primo login: `Admin → Users → admin → Edit`.
85+
> Change the password after first login: `Admin → Users → admin → Edit`.
8686
8787
---
8888
8989
## Grafana — Login
9090
91-
| Campo | Valore default |
91+
| Field | Default Value |
9292
|---|---|
9393
| URL | http://localhost:3000 |
9494
| Username | `admin` |
95-
| Password | valore di `GF_SECURITY_ADMIN_PASSWORD` nel `.env` (default: `change-me-strong-password`) |
95+
| Password | value of `GF_SECURITY_ADMIN_PASSWORD` in `.env` (default: `change-me-strong-password`) |
9696
97-
Il datasource **Prometheus** e il dashboard **ETL Microservices — Monitoring Overview** sono pre-caricati automaticamente tramite provisioning (non serve configurazione manuale).
97+
The **Prometheus** datasource and **ETL Microservices — Monitoring Overview** dashboard are pre-loaded automatically via provisioning (no manual configuration needed).
9898
9999
---
100100
101-
## PostgreSQL — Connessione diretta
101+
## PostgreSQL — Direct Connection
102102
103-
SQLAlchemy URI (usata internamente da Airflow, utile anche per ispezione diretta):
103+
SQLAlchemy URI (used internally by Airflow, also useful for direct inspection):
104104
```
105105
postgresql+psycopg2://airflow:change-me-strong-password@localhost:5432/airflow
106106
```
107107
108108
---
109109

110-
## Checklist Sicurezza (Produzione)
110+
## Production Security Checklist
111111

112-
- [ ] Cambia `POSTGRES_PASSWORD` con una password forte
113-
- [ ] Cambia `GF_SECURITY_ADMIN_PASSWORD` con una password forte
114-
- [ ] Imposta `OPENAI_API_KEY` con la tua chiave reale
115-
- [ ] Aggiungi autenticazione ai microservizi (attualmente open su rete interna)
116-
- [ ] Non esporre le porte ETL (5001–5012) su IP pubblici
117-
- [ ] Abilita HTTPS per Grafana e Airflow in ambienti esposti
118-
- [ ] Ruota credenziali Airflow admin dopo il primo login
112+
- [ ] Change `POSTGRES_PASSWORD` to a strong password
113+
- [ ] Change `GF_SECURITY_ADMIN_PASSWORD` to a strong password
114+
- [ ] Set `OPENAI_API_KEY` to your real key
115+
- [ ] Add authentication to microservices (currently open on internal network)
116+
- [ ] Do not expose ETL ports (5001–5012) on public IPs
117+
- [ ] Enable HTTPS for Grafana and Airflow in exposed environments
118+
- [ ] Rotate Airflow admin credentials after first login

0 commit comments

Comments
 (0)