Ingestion Pipeline
Data flows from provider APIs via CLI connectors into PostgreSQL.
Run make ingest-hetzner, make ingest-azure, etc. Each connector fetches locations, instance types, and prices; the ingestion service upserts into PostgreSQL and normalizes to EUR via FX rates. Idempotent — safe to re-run anytime.
graph LR
CLI["make ingest-* (CLI)"]
CON["Connectors (GCP, AWS, Hetzner, Scaleway, …)"]
SVC["Ingestion Service (upsert + FX)"]
DB[("PostgreSQL")]
CLI --> CON --> SVC --> DB