Skip to content

Variables de entorno

Tanto ongrid como ongrid-edge se configuran exclusivamente a través de variables de entorno. Sin YAML. El cableado canónico vive en internal/pkg/config/config.go y en el bloque env de compose en deploy/docker-compose.yml. Cada variable de abajo se lee al arranque; el manager no hot-reloadea.

Las tablas agrupan variables por subsistema. Los defaults mostrados son lo que el binario elige cuando la variable no está seteada o está vacía. "Requerida" significa "la feature en la columna 1 no funcionará sin ella".


Listeners HTTP & métricas

VariableTipoDefaultDescripción
ONGRID_HTTP_ADDRstring:8080TCP listen para la API + SPA. nginx en el stack compose proxiya /api/* aquí.
ONGRID_METRICS_ADDRstring:9100TCP listen para /metrics. Scrapeado por Prometheus.
ONGRID_TUNNEL_ADDRstring:40012Listen del broker geminio. Bindeado por el servicio frontier, no por el propio manager.
ONGRID_PUBLIC_URLstringemptyURL canónica https://... que el manager entrega a los edges como endpoint del data-plane (ingest de logs/trazas, descarga de bundle de edge). Vacío deshabilita los endpoints de plugin del data plane. Configura esto en producción.

Database (MySQL default, SQLite opt-in)

VariableTipoDefaultDescripción
ONGRID_DB_DIALECTstringmysqlmysql (default) o sqlite. Vacío se trata como mysql.
ONGRID_DB_DSNstringongrid:ongrid@tcp(127.0.0.1:3306)/ongrid?parseTime=true&charset=utf8mb4&loc=LocalDSN de MySQL. Requerido en producción.
ONGRID_DB_PATHstring./data/ongrid.dbRuta del archivo de base de datos SQLite. :memory: es aceptado en tests.

JWT (iam)

VariableTipoDefaultDescripción
ONGRID_JWT_SECRETstringdev-insecure-secret-change-meSigning key HS256 para tokens access + refresh. Requerida; el default rehúsa emitir tokens en builds de producción.
ONGRID_JWT_ACCESS_TTLduration15mTTL de access-token.
ONGRID_JWT_REFRESH_TTLduration168h (7d)TTL de refresh-token.

Las durations aceptan la sintaxis Go time.ParseDuration (15m, 2h, 30s). Un entero desnudo se interpreta como segundos.


Providers LLM

El agente de chat soporta seis providers first-class más un slot Custom (compatible con OpenAI). Cada provider está gateado por su API key — key vacía = provider no expuesto al picker de chat.

OpenAI

VariableTipoDefaultDescripción
ONGRID_OPENAI_API_KEYstringemptyAPI key de OpenAI. Vacía = OpenAI escondido del picker.
ONGRID_OPENAI_MODELstringgpt-5.4Modelo default cuando OpenAI es el provider seleccionado.
ONGRID_OPENAI_BASE_URLstringemptyOverride de base URL para relays compatibles con OpenAI (Azure / vLLM / Ollama / one-api).

Anthropic, Zhipu, Gemini, DeepSeek, Kimi

Cada provider tiene las mismas tres keys (API key / modelo default / base URL) y una cuarta (MODELS, lista separada por comas de slugs de modelo seleccionables):

VariableDefault
ONGRID_ANTHROPIC_API_KEYempty
ONGRID_ANTHROPIC_MODELclaude-sonnet-4-6
ONGRID_ANTHROPIC_BASE_URLempty
ONGRID_ANTHROPIC_MODELSclaude-opus-4-7,claude-sonnet-4-6,claude-haiku-4-5
ONGRID_ZHIPU_API_KEYempty
ONGRID_ZHIPU_MODELglm-4.7
ONGRID_ZHIPU_BASE_URLempty
ONGRID_ZHIPU_MODELSglm-5.1,glm-5,glm-4.7,glm-4.7-flash
ONGRID_GEMINI_API_KEYempty
ONGRID_GEMINI_MODELgemini-2.5-pro
ONGRID_GEMINI_BASE_URLempty
ONGRID_GEMINI_MODELSgemini-3.5-flash,gemini-2.5-pro,gemini-2.5-flash
ONGRID_DEEPSEEK_API_KEYempty
ONGRID_DEEPSEEK_MODELdeepseek-v4-flash
ONGRID_DEEPSEEK_BASE_URLempty
ONGRID_DEEPSEEK_MODELSdeepseek-v4-pro,deepseek-v4-flash,deepseek-reasoner
ONGRID_KIMI_API_KEYempty
ONGRID_KIMI_MODELkimi-k2.6
ONGRID_KIMI_BASE_URLempty
ONGRID_KIMI_MODELSkimi-k2.6,kimi-k2.5,moonshot-v1-128k

Routing & budget

VariableTipoDefaultDescripción
ONGRID_LLM_DEFAULT_PROVIDERstringemptyProvider usado cuando un request no especifica uno. Vacío = primer provider configurado (alfabético). Configura esto cuando quieras un provider específico como default del sitio.
ONGRID_LLM_DAILY_TOKEN_LIMITint0Techo global de tokens por UTC-día. 0 = ilimitado.

Kernel del agente & tools

VariableTipoDefaultDescripción
ONGRID_AGENT_KERNELstringgraphgraph habilita el kernel de grafo eino + filtro de activation-keyword de SkillRegistry.Resolve + pipeline de deferral de ToolBag. legacy es el runner viejo de for-loop con todas las tools siempre con schema completo. Cambia a legacy solo para bisect.
ONGRID_TOOLBAG_DEFERRAL_THRESHOLDint30Threshold de conteo de tool por encima del cual las tools de specialty-tier obtienen schemas redactados (el LLM debe llamar a ToolSearch para expandir).
ONGRID_SKILLS_EXTERNAL_DIRScsvemptyPaths absolutos separados por coma/colon que el skill loader scanea por manifests skill.json. Cada uno debe ser absoluto; entradas relativas o faltantes se saltan con una línea de log.

Cliente del broker frontier

VariableTipoDefaultDescripción
ONGRID_FRONTIER_ADDRstringfrontier:40011Listen service-bound del broker upstream frontier al que el manager marca.
ONGRID_FRONTIER_SERVICE_NAMEstringongrid-managerIdentificador reportado al conectar.
ONGRID_FRONTIER_DISABLEDboolfalseSaltarse la marcación service-end de larga vida totalmente. Usado por el harness e2e — features que requieren el broker (webssh, edge reverse calls) erran en el call site.

Prometheus cloud-side

VariableTipoDefaultDescripción
ONGRID_PROM_ENABLEDboolfalseGatea el cableado de Prometheus. Cuando false el manager corre sin storage de métricas; push_prom_samples descarta silenciosamente, y query_promql no se registra como tool.
ONGRID_PROM_URLstringhttp://prometheus:9090URL raíz del servidor Prom.
ONGRID_PROM_REMOTE_WRITE_URLstringemptyEndpoint remote_write exacto cuando el upstream no está rooteado en /api/v1/write (gateway Mimir / Cortex / VictoriaMetrics).
ONGRID_PROM_QUERY_URLstringemptyRaíz de la API de query para query_promql. Vacío cae a ONGRID_PROM_URL.
ONGRID_PROM_TLS_INSECUREboolfalseSaltar verificación de cert TLS.
ONGRID_PROM_TLS_CA_FILEstringemptyArchivo PEM con la CA raíz usada para verificar el cert del TSDB. Vacío = raíces del sistema.

Grafana

VariableTipoDefaultDescripción
ONGRID_GRAFANA_INTERNAL_URLstringhttp://grafana:3000/grafanaURL que el manager usa para alcanzar Grafana sobre la red docker.
ONGRID_GRAFANA_BOOTSTRAP_USERstringadminUsuario admin one-time usado para auto-crear la Service Account de ongrid + token.
ONGRID_GRAFANA_BOOTSTRAP_PASSWORDstringemptyPassword bootstrap; vacío deshabilita bootstrap (pega un SA token creado manualmente en la UI).
ONGRID_GRAFANA_TLS_INSECUREboolfalseSaltar verificación de cert para la llamada bootstrap.
ONGRID_GRAFANA_ROOT_URLstring%(protocol)s://%(domain)s/grafana/Reenviado a GF_SERVER_ROOT_URL.

Logs & trazas (data plane)

VariableTipoDefaultDescripción
ONGRID_LOG_QUERY_URLstringhttp://loki:3100Raíz de la API de Loki con la que el manager habla para query_range / labels / values. Vacío = página de Logs devuelve 503.
ONGRID_TRACE_QUERY_URLstringhttp://tempo:3200Raíz del listener HTTP de Tempo para /api/search, /api/traces/<id>, /api/search/tag/<tag>/values. Vacío = página de Trazas devuelve 503.

Los endpoints del data plane del edge (donde los plugins de logs / trazas hacen POST) se derivan de ONGRID_PUBLIC_URL; ver Data plane de telemetría.


Thresholds de alertas integradas

Estos manejan las cuatro reglas integradas canónicas sobre el conjunto cerrado de métricas de host. Setea a 0 para deshabilitar.

VariableTipoDefaultDescripción
ONGRID_ALERT_ENABLEDbooltrueSwitch maestro para evaluación de alertas de host integradas.
ONGRID_ALERT_COOLDOWNduration10mCooldown per-(edge, regla). Notificaciones dentro de esta ventana se suprimen.
ONGRID_ALERT_CPU_PERCENTfloat90Dispara cuando cpu_pct >= threshold.
ONGRID_ALERT_MEM_PERCENTfloat90Dispara cuando mem_pct >= threshold.
ONGRID_ALERT_DISK_USED_PERCENTfloat90Dispara cuando disk_used_pct >= threshold.
ONGRID_ALERT_LOAD1float0Dispara cuando load1 >= threshold. 0 deshabilita (load varía demasiado a través de formas de host para un default útil).
ONGRID_ALERT_EVAL_INTERVALduration5mCon qué frecuencia el evaluator del pipeline scanea edges y consulta Prom.
ONGRID_ALERT_EDGE_OFFLINE_THRESHOLDduration90sStaleness de heartbeat por encima de la cual un edge cuenta como offline.
ONGRID_ALERT_PROM_INGEST_FAIL_LIMITint5Conteo consecutivo de fallos de remote_write al que prom_ingest_fail dispara.

Notificaciones

Switch maestro + los cuatro tipos de canal integrados. Los canales creados en UI llevan su propio flag enabled y no se ven afectados por estos.

VariableTipoDefaultDescripción
ONGRID_NOTIFY_ENABLEDbooltrueSwitch maestro para notificaciones salientes.
ONGRID_NOTIFY_DEFAULT_CHANNELScsvemptyLista ordenada de nombres de canal usada cuando un caller no especifica destinos.
ONGRID_NOTIFY_TIMEOUTduration10sTimeout de send por-canal.
ONGRID_NOTIFY_WEBHOOK_ENABLEDboolfalseHabilita el canal webhook env-configurado.
ONGRID_NOTIFY_WEBHOOK_NAMEstringwebhookNombre de display.
ONGRID_NOTIFY_WEBHOOK_URLstringemptyEndpoint POST.
ONGRID_NOTIFY_WEBHOOK_SECRETstringemptySecret HMAC opcional.
ONGRID_NOTIFY_SLACK_ENABLEDboolfalseHabilita el canal Slack env-configurado.
ONGRID_NOTIFY_SLACK_NAMEstringslackNombre de display.
ONGRID_NOTIFY_SLACK_WEBHOOK_URLstringemptyURL del Incoming Webhook.
ONGRID_NOTIFY_FEISHU_ENABLEDboolfalseHabilita el canal Larksuite / Feishu env-configurado.
ONGRID_NOTIFY_FEISHU_NAMEstringfeishuNombre de display.
ONGRID_NOTIFY_FEISHU_WEBHOOK_URLstringemptyURL Custom-Bot.
ONGRID_NOTIFY_FEISHU_SECRETstringemptySecret de firma.
ONGRID_NOTIFY_DINGTALK_ENABLEDboolfalseHabilita el canal DingTalk env-configurado.
ONGRID_NOTIFY_DINGTALK_NAMEstringdingtalkNombre de display.
ONGRID_NOTIFY_DINGTALK_WEBHOOK_URLstringemptyURL Custom-Bot.
ONGRID_NOTIFY_DINGTALK_SECRETstringemptySecret de firma.

Para canales WeCom y Telegram, créalos vía la UI Settings → Channels — son first-class pero no tienen shortcut de env-configuration.


Admin bootstrap

VariableTipoDefaultDescripción
ONGRID_ADMIN_EMAILstringemptyEmail del admin bootstrap. Si está vacío, no se siembra ningún admin; debes registrar desde la UI en el primer boot.
ONGRID_ADMIN_PASSWORDstringemptyContraseña inicial. Se espera que el operador la cambie en el primer login.

Agente edge

Estos los consume ongrid-edge, escritos en /etc/ongrid-edge/ongrid-edge.env por el installer.

VariableTipoDefaultDescripción
ONGRID_EDGE_CLOUD_ADDRstring127.0.0.1:40012host:port del broker frontier. El agente marca a esto con TLS.
ONGRID_EDGE_ACCESS_KEYstringemptyAccess key por-edge. Emitida por el manager cuando creas un edge en la UI.
ONGRID_EDGE_SECRET_KEYstringemptySecret matcheante. Mostrada una vez en la creación de edge; rota vía la UI.
ONGRID_EDGE_COLLECTOR_MODEstringoffoff (default; los plugins hostmetrics + procmetrics manejan métricas), auto (embedded + scraper legacy), embedded (solo embedded push), scrape (scraper HTTP multi-target).
ONGRID_EDGE_SCRAPE_CONFIG_FILEstring/etc/ongrid-edge/scrape.yamlPath al YAML de config de scrape. Solo consultado cuando COLLECTOR_MODE=scrape.
ONGRID_EDGE_COLLECTOR_INTERVALduration10sCon qué frecuencia el collector embedded snapshotea. El modo scrape ignora esto.
ONGRID_EDGE_PLUGIN_BIN_DIRstring/usr/local/lib/ongrid-edgeDirectorio que contiene binarios de plugin (promtail, otelcol-contrib, node_exporter, process_exporter).
ONGRID_EDGE_PLUGIN_WORK_DIRstring/var/lib/ongrid-edge/pluginsDirs runtime por-plugin (configs, archivos PID, queue spool).
ONGRID_EDGE_UPGRADE_STAGE_DIRstring/var/lib/ongrid-edge/.upgradeDirectorio de bundle staged de ADR-024. Vacío deshabilita upgrades de whole-bundle remotos.
ONGRID_INSTALL_WAITint20Segundos que el installer curl-pipe sondea el journal esperando "registered with cloud".

Embedding & RAG

VariableTipoDefaultDescripción
ONGRID_EMBEDDING_PROVIDERstringzhipuzhipu (default; llama a la API de embedding de GLM), local (usa un modelo bge en disco), openai (usa embeddings de OpenAI).
ONGRID_EMBEDDING_LOCAL_MODEL_PATHstringemptyPath absoluto al modelo local cuando PROVIDER=local. El tarball de release stagea bge-base-en-v1.5 bajo .cache/.
ONGRID_VAULT_REPO_URLstringhttps://github.com/ongridio/vaultRepositorio upstream del vault del que el manager jala conocimiento baseline. Sobrescribe para mirrors air-gapped.

Locale & misc

VariableTipoDefaultDescripción
ONGRID_DEFAULT_LOCALEstringenLocale default usado por salidas automáticas del LLM (investigaciones de alertas, resúmenes programados). El chat triggered por UI usa el locale UI del usuario en su lugar.

Ver también

  • REST API — endpoints que estas env vars cablean.
  • CLI — flags de línea de comandos de los dos binarios.
  • Data plane de telemetría — por qué los endpoints de log/traza difieren del túnel.
  • Arquitectura — dónde vive cada env var en el diagrama del stack.