85742ab165
CPU Test / Lint - next (push) Waiting to run
Dashboard / Chromatic (push) Waiting to run
CPU Test / Lint - fast (push) Waiting to run
CPU Test / Build documentation (push) Waiting to run
CPU Test / Test (Store, legacy, Python 3.10) (push) Waiting to run
CPU Test / Test (Utilities, legacy, Python 3.10) (push) Waiting to run
CPU Test / Test (Weave, legacy, Python 3.10) (push) Waiting to run
CPU Test / Test (AgentOps, stable, Python 3.11) (push) Waiting to run
CPU Test / Test (LLM proxy, stable, Python 3.11) (push) Waiting to run
CPU Test / Test (Others, stable, Python 3.11) (push) Waiting to run
CPU Test / Test (Store, stable, Python 3.11) (push) Waiting to run
CPU Test / Test (Utilities, stable, Python 3.11) (push) Waiting to run
CPU Test / Test (Weave, stable, Python 3.11) (push) Waiting to run
CPU Test / Test (AgentOps, stable, Python 3.12) (push) Waiting to run
CPU Test / Test (LLM proxy, stable, Python 3.12) (push) Waiting to run
CPU Test / Test (Others, stable, Python 3.12) (push) Waiting to run
CPU Test / Test (Store, stable, Python 3.12) (push) Waiting to run
CPU Test / Test (Utilities, stable, Python 3.12) (push) Waiting to run
CPU Test / Test (Weave, stable, Python 3.12) (push) Waiting to run
CPU Test / Test (AgentOps, latest, Python 3.13) (push) Waiting to run
CPU Test / Test (LLM proxy, latest, Python 3.13) (push) Waiting to run
CPU Test / Test (Others, latest, Python 3.13) (push) Waiting to run
CPU Test / Test (Store, latest, Python 3.13) (push) Waiting to run
CPU Test / Lint - slow (push) Waiting to run
CPU Test / Lint - JavaScript (push) Waiting to run
CPU Test / Test (AgentOps, legacy, Python 3.10) (push) Waiting to run
CPU Test / Test (LLM proxy, legacy, Python 3.10) (push) Waiting to run
CPU Test / Test (Others, legacy, Python 3.10) (push) Waiting to run
CPU Test / Test (Utilities, latest, Python 3.13) (push) Waiting to run
CPU Test / Test (Weave, latest, Python 3.13) (push) Waiting to run
CPU Test / Test (JavaScript) (push) Waiting to run
Deploy Documentation / deploy (push) Has been cancelled
117 lines
3.3 KiB
YAML
117 lines
3.3 KiB
YAML
services:
|
|
mongo:
|
|
extends:
|
|
file: compose.mongo.yml
|
|
service: mongo
|
|
|
|
hostname: mongo
|
|
volumes:
|
|
- ./data/mongo-container:/data/db
|
|
- ../scripts/mongodb_init_rs_profiling.js:/docker-entrypoint-initdb.d/init-rs.js:ro
|
|
|
|
# This forces "mongo" to resolve to localhost ONLY inside this container.
|
|
# This allows rs.initiate to succeed using the hostname "mongo".
|
|
extra_hosts:
|
|
- "mongo:127.0.0.1"
|
|
|
|
app:
|
|
extends:
|
|
file: compose.store.yml
|
|
service: app
|
|
|
|
depends_on:
|
|
- mongo
|
|
- app-exporter # Wait for the exporter to be ready first
|
|
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
agl store --host 0.0.0.0 --port 4747 \
|
|
--tracker console prometheus --backend mongo \
|
|
--mongo-uri mongodb://mongo:27017/?replicaSet=rs0 \
|
|
--n-workers ${AGL_STORE_N_WORKERS:-32}
|
|
environment:
|
|
- PROMETHEUS_MULTIPROC_DIR=/tmp/prometheus_multiproc
|
|
volumes:
|
|
- prometheus_multiproc:/tmp/prometheus_multiproc
|
|
|
|
app-exporter:
|
|
build:
|
|
context: ../
|
|
dockerfile: docker/Dockerfile.dev
|
|
|
|
command: agl prometheus --host 0.0.0.0 --port 4748
|
|
ports:
|
|
- "4748:4748"
|
|
environment:
|
|
- PROMETHEUS_MULTIPROC_DIR=/tmp/prometheus_multiproc
|
|
volumes:
|
|
- prometheus_multiproc:/tmp/prometheus_multiproc
|
|
|
|
mongodb-exporter:
|
|
image: percona/mongodb_exporter:0.47.1
|
|
command:
|
|
- "--mongodb.uri=mongodb://mongo:27017/"
|
|
- "--collect-all"
|
|
- "--mongodb.collstats-colls=agentlightning.rollouts,agentlightning.attempts,agentlightning.spans,agentlightning.resources,agentlightning.workers,agentlightning.rollout_queue,agentlightning.span_sequence_ids"
|
|
depends_on:
|
|
- mongo
|
|
ports:
|
|
- "9216:9216"
|
|
|
|
node-exporter:
|
|
image: prom/node-exporter:latest
|
|
# In CI you might not have full /proc, but this is OK for container-level stats
|
|
pid: "host"
|
|
command:
|
|
- "--path.rootfs=/host"
|
|
volumes:
|
|
- "/:/host:ro,rslave"
|
|
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
command:
|
|
- "--config.file=/etc/prometheus/prometheus.yml"
|
|
- "--storage.tsdb.path=/prometheus"
|
|
- "--storage.tsdb.retention.time=1h"
|
|
volumes:
|
|
- ./prometheus/prometheus.mongo.yml:/etc/prometheus/prometheus.yml:ro
|
|
- ./data/prometheus:/prometheus
|
|
depends_on:
|
|
- app
|
|
- app-exporter
|
|
- mongodb-exporter
|
|
- node-exporter
|
|
ports:
|
|
- "9090:9090"
|
|
|
|
grafana:
|
|
image: grafana/grafana:latest
|
|
ports:
|
|
- "9091:3000"
|
|
depends_on:
|
|
- prometheus
|
|
volumes:
|
|
- ./data/grafana:/var/lib/grafana
|
|
# 1. Mount the Datasource Config
|
|
- ./grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml
|
|
# 2. Mount the Dashboard Provider Config
|
|
- ./grafana/dashboard-provider.yml:/etc/grafana/provisioning/dashboards/provider.yml
|
|
# 3. Mount the folder containing the actual JSON files
|
|
- ./grafana/dashboards:/var/lib/grafana/dashboards
|
|
|
|
environment:
|
|
- GF_INSTALL_PLUGINS=grafana-piechart-panel
|
|
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
|
- GF_AUTH_DISABLE_LOGIN_FORM=true
|
|
- GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH=/var/lib/grafana/dashboards/agentlightning.json
|
|
|
|
volumes:
|
|
prometheus_multiproc:
|
|
driver: local
|
|
driver_opts:
|
|
type: tmpfs
|
|
device: tmpfs
|