@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
60 lines (55 loc) • 2.3 kB
YAML
# Local OpenObserve stack for NeuroLink proxy observability.
#
# Architecture:
# NeuroLink proxy -> OTEL collector -> OpenObserve
#
# Override defaults by exporting env vars or by copying
# scripts/observability/proxy-observability.env.example to
# scripts/observability/proxy-observability.env and using the helper script.
services:
otel-collector:
image: otel/opentelemetry-collector-contrib:latest
restart: unless-stopped
command: ["--config=/etc/otelcol/config.yaml"]
environment:
NEUROLINK_OPENOBSERVE_OTLP_ENDPOINT: ${NEUROLINK_OPENOBSERVE_OTLP_ENDPOINT:-http://openobserve:5080/api/default}
NEUROLINK_OPENOBSERVE_BASIC_AUTH: ${NEUROLINK_OPENOBSERVE_BASIC_AUTH:-Basic cm9vdEBleGFtcGxlLmNvbTpDb21wbGV4cGFzcyMxMjM=}
NEUROLINK_PROXY_STREAM_HEADER: ${NEUROLINK_PROXY_STREAM_HEADER:-neurolink-proxy}
volumes:
- ./otel-collector.proxy-observability.yaml:/etc/otelcol/config.yaml:ro
- otel-collector-data:/var/lib/otelcol
ports:
- "${NEUROLINK_OTLP_GRPC_PORT:-14317}:4317"
- "${NEUROLINK_OTLP_HTTP_PORT:-14318}:4318"
- "${NEUROLINK_OTEL_HEALTH_PORT:-14333}:13133"
- "${NEUROLINK_OTEL_METRICS_PORT:-18888}:8888"
- "${NEUROLINK_OTEL_PPROF_PORT:-11777}:1777"
depends_on:
- openobserve
networks:
- proxy-observability
openobserve:
image: public.ecr.aws/zinclabs/openobserve:latest
restart: unless-stopped
ports:
- "${NEUROLINK_OPENOBSERVE_HTTP_PORT:-5080}:5080"
- "${NEUROLINK_OPENOBSERVE_GRPC_PORT:-5081}:5081"
environment:
ZO_ROOT_USER_EMAIL: ${NEUROLINK_OPENOBSERVE_USER:-root@example.com}
ZO_ROOT_USER_PASSWORD: ${NEUROLINK_OPENOBSERVE_PASSWORD:-Complexpass#123}
ZO_DATA_DIR: /data
RUST_LOG: ${NEUROLINK_OPENOBSERVE_LOG_LEVEL:-info}
ZO_INGEST_ALLOWED_UPTO: ${NEUROLINK_OPENOBSERVE_INGEST_HOURS:-720}
ZO_COMPACT_DATA_RETENTION_DAYS: ${NEUROLINK_OPENOBSERVE_RETENTION_DAYS:-30}
volumes:
- openobserve-data:/data
networks:
- proxy-observability
networks:
proxy-observability:
driver: bridge
volumes:
otel-collector-data:
name: ${NEUROLINK_OTEL_COLLECTOR_VOLUME_NAME:-neurolink-otel-collector-data}
openobserve-data:
name: ${NEUROLINK_OPENOBSERVE_VOLUME_NAME:-neurolink-openobserve-data}