Files
madbase/gateway/Cargo.toml
Vlad Durnea 0179cc285d
Some checks failed
CI/CD Pipeline / lint (push) Successful in 3m45s
CI/CD Pipeline / integration-tests (push) Failing after 57s
CI/CD Pipeline / unit-tests (push) Failing after 1m1s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped
M1 foundation: fix proxy, pool HTTP clients, split services, add ApiError + RLS
- Fix proxy body forwarding, round-robin load balancing, response streaming
- Pool reqwest::Client in proxy, control, and gateway (no per-request alloc)
- Harden CORS in gateway/main.rs (was allow_origin(Any), now uses ALLOWED_ORIGINS)
- Add common/src/error.rs: ApiError type with structured JSON responses
- Add common/src/rls.rs: RlsTransaction extractor for deduplicated RLS setup
- Fix tracing in all standalone binaries (EnvFilter instead of unused var)
- Dockerfile multi-stage: separate worker-runtime, control-runtime, proxy-runtime targets
- docker-compose.yml: split into worker/system/proxy services with health checks
- Fix Grafana port mapping in pillar-system (3030:3000)
- Add config/prometheus.yml and config/vmagent.yml
- Add .env.example with all required variables
- 55 tests pass (49 run + 6 ignored integration tests requiring external services)

Made-with: Cursor
2026-03-15 13:38:49 +02:00

37 lines
992 B
TOML

[package]
name = "gateway"
version = "0.1.0"
edition = "2021"
[dependencies]
common = { workspace = true }
auth = { workspace = true }
data_api = { workspace = true }
control_plane = { workspace = true }
realtime = { workspace = true }
storage = { workspace = true }
functions = { workspace = true }
tokio = { workspace = true }
axum = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
sqlx = { workspace = true }
dotenvy = { workspace = true }
anyhow = { workspace = true }
axum-prometheus = "0.6"
tower_governor = "0.4.2"
tower-http = { version = "0.6.8", features = ["cors", "trace", "fs"] }
moka = { version = "0.12.14", features = ["future"] }
reqwest = { version = "0.12", features = ["json", "stream"] }
futures = { workspace = true }
lazy_static = "1.4"
uuid = { workspace = true }
chrono = { workspace = true }
redis = { workspace = true }
[dev-dependencies]
tower = "0.5"