|
@@ -1,6 +1,11 @@
|
|
|
# docker-compose.yml — single-host M0 stack.
|
|
# docker-compose.yml — single-host M0 stack.
|
|
|
# Run: docker compose up -d
|
|
# Run: docker compose up -d
|
|
|
# Then: see M0_VERIFICATION.md for the loadgen smoke test.
|
|
# Then: see M0_VERIFICATION.md for the loadgen smoke test.
|
|
|
|
|
+#
|
|
|
|
|
+# Port conventions (project rule):
|
|
|
|
|
+# - app HTTP services: 8800–8899 (ingestd/routerd/deliverd/admind/loadgen)
|
|
|
|
|
+# - canonical ports stay (5432 postgres, 4222 nats, 6379 redis,
|
|
|
|
|
+# 1883 mqtt, 9090 prometheus, 3000 grafana, etc.)
|
|
|
|
|
|
|
|
services:
|
|
services:
|
|
|
# ── Data tier ────────────────────────────────────────────────────
|
|
# ── Data tier ────────────────────────────────────────────────────
|
|
@@ -63,14 +68,14 @@ services:
|
|
|
command: ["/app/ingestd"]
|
|
command: ["/app/ingestd"]
|
|
|
environment:
|
|
environment:
|
|
|
BA_ENV: dev
|
|
BA_ENV: dev
|
|
|
- BA_HTTP_ADDR: ":8080"
|
|
|
|
|
|
|
+ BA_HTTP_ADDR: ":8800"
|
|
|
BA_NATS_URL: nats://nats:4222
|
|
BA_NATS_URL: nats://nats:4222
|
|
|
BA_REDIS_URL: redis://redis:6379/0
|
|
BA_REDIS_URL: redis://redis:6379/0
|
|
|
BA_POSTGRES_DSN: postgres://ba:ba@postgres:5432/ba?sslmode=disable
|
|
BA_POSTGRES_DSN: postgres://ba:ba@postgres:5432/ba?sslmode=disable
|
|
|
BA_INGESTD_SOURCES: "acme-001:prom-prod:s3cret-acme,globex-002:grafana:s3cret-globex"
|
|
BA_INGESTD_SOURCES: "acme-001:prom-prod:s3cret-acme,globex-002:grafana:s3cret-globex"
|
|
|
BA_INGESTD_RATE_LIMIT_PER_SOURCE: "100"
|
|
BA_INGESTD_RATE_LIMIT_PER_SOURCE: "100"
|
|
|
BA_INGESTD_RATE_LIMIT_PER_COMPANY: "10000"
|
|
BA_INGESTD_RATE_LIMIT_PER_COMPANY: "10000"
|
|
|
- ports: ["8080:8080"]
|
|
|
|
|
|
|
+ ports: ["8800:8800"]
|
|
|
depends_on:
|
|
depends_on:
|
|
|
nats: { condition: service_healthy }
|
|
nats: { condition: service_healthy }
|
|
|
redis: { condition: service_healthy }
|
|
redis: { condition: service_healthy }
|
|
@@ -81,10 +86,10 @@ services:
|
|
|
command: ["/app/routerd"]
|
|
command: ["/app/routerd"]
|
|
|
environment:
|
|
environment:
|
|
|
BA_ENV: dev
|
|
BA_ENV: dev
|
|
|
- BA_HTTP_ADDR: ":8081"
|
|
|
|
|
|
|
+ BA_HTTP_ADDR: ":8801"
|
|
|
BA_NATS_URL: nats://nats:4222
|
|
BA_NATS_URL: nats://nats:4222
|
|
|
BA_POSTGRES_DSN: postgres://ba:ba@postgres:5432/ba?sslmode=disable
|
|
BA_POSTGRES_DSN: postgres://ba:ba@postgres:5432/ba?sslmode=disable
|
|
|
- ports: ["8081:8081"]
|
|
|
|
|
|
|
+ ports: ["8801:8801"]
|
|
|
depends_on:
|
|
depends_on:
|
|
|
nats: { condition: service_healthy }
|
|
nats: { condition: service_healthy }
|
|
|
postgres: { condition: service_healthy }
|
|
postgres: { condition: service_healthy }
|
|
@@ -94,10 +99,10 @@ services:
|
|
|
command: ["/app/deliverd"]
|
|
command: ["/app/deliverd"]
|
|
|
environment:
|
|
environment:
|
|
|
BA_ENV: dev
|
|
BA_ENV: dev
|
|
|
- BA_HTTP_ADDR: ":8082"
|
|
|
|
|
|
|
+ BA_HTTP_ADDR: ":8802"
|
|
|
BA_NATS_URL: nats://nats:4222
|
|
BA_NATS_URL: nats://nats:4222
|
|
|
BA_POSTGRES_DSN: postgres://ba:ba@postgres:5432/ba?sslmode=disable
|
|
BA_POSTGRES_DSN: postgres://ba:ba@postgres:5432/ba?sslmode=disable
|
|
|
- ports: ["8082:8082"]
|
|
|
|
|
|
|
+ ports: ["8802:8802"]
|
|
|
depends_on:
|
|
depends_on:
|
|
|
nats: { condition: service_healthy }
|
|
nats: { condition: service_healthy }
|
|
|
postgres: { condition: service_healthy }
|
|
postgres: { condition: service_healthy }
|
|
@@ -107,10 +112,10 @@ services:
|
|
|
command: ["/app/admind"]
|
|
command: ["/app/admind"]
|
|
|
environment:
|
|
environment:
|
|
|
BA_ENV: dev
|
|
BA_ENV: dev
|
|
|
- BA_HTTP_ADDR: ":8083"
|
|
|
|
|
|
|
+ BA_HTTP_ADDR: ":8803"
|
|
|
BA_NATS_URL: nats://nats:4222
|
|
BA_NATS_URL: nats://nats:4222
|
|
|
BA_POSTGRES_DSN: postgres://ba:ba@postgres:5432/ba?sslmode=disable
|
|
BA_POSTGRES_DSN: postgres://ba:ba@postgres:5432/ba?sslmode=disable
|
|
|
- ports: ["8083:8083"]
|
|
|
|
|
|
|
+ ports: ["8803:8803"]
|
|
|
depends_on:
|
|
depends_on:
|
|
|
nats: { condition: service_healthy }
|
|
nats: { condition: service_healthy }
|
|
|
postgres: { condition: service_healthy }
|
|
postgres: { condition: service_healthy }
|
|
@@ -138,7 +143,7 @@ services:
|
|
|
build: .
|
|
build: .
|
|
|
command: ["/app/loadgen-http"]
|
|
command: ["/app/loadgen-http"]
|
|
|
environment:
|
|
environment:
|
|
|
- BA_TARGET: http://ingestd:8080
|
|
|
|
|
|
|
+ BA_TARGET: http://ingestd:8800
|
|
|
BA_API_KEY: "acme-001:prom-prod:s3cret-acme"
|
|
BA_API_KEY: "acme-001:prom-prod:s3cret-acme"
|
|
|
BA_RATE: "50"
|
|
BA_RATE: "50"
|
|
|
BA_DURATION: "30s"
|
|
BA_DURATION: "30s"
|