Skip to content

Variáveis de ambiente

Tanto ongrid quanto ongrid-edge são configurados exclusivamente através de variáveis de ambiente. Sem YAML. A fiação canônica vive em internal/pkg/config/config.go e o bloco env do compose em deploy/docker-compose.yml. Cada variável abaixo é lida no startup; o manager não faz hot-reload.

Tabelas agrupam variáveis por subsistema. Defaults mostrados são o que o binário escolhe quando a variável não está setada ou vazia. "Obrigatório" significa "a feature na coluna 1 não funcionará sem ele".


Listeners HTTP & metrics

VariávelTipoPadrãoDescrição
ONGRID_HTTP_ADDRstring:8080Listen TCP para a API + SPA. nginx na stack compose proxia /api/* aqui.
ONGRID_METRICS_ADDRstring:9100Listen TCP para /metrics. Raspado pelo Prometheus.
ONGRID_TUNNEL_ADDRstring:40012Listen do broker Geminio. Vinculado pelo serviço frontier, não pelo próprio manager.
ONGRID_PUBLIC_URLstringvazioURL canônica https://... que o manager passa aos edges como endpoint de data-plane (ingest de logs/traces, download de bundle do edge). Vazio desabilita endpoints de plugin do data plane. Defina em produção.

Database (MySQL padrão, SQLite opt-in)

VariávelTipoPadrãoDescrição
ONGRID_DB_DIALECTstringmysqlmysql (padrão) ou sqlite. Vazio é tratado como mysql.
ONGRID_DB_DSNstringongrid:ongrid@tcp(127.0.0.1:3306)/ongrid?parseTime=true&charset=utf8mb4&loc=LocalDSN MySQL. Obrigatório em produção.
ONGRID_DB_PATHstring./data/ongrid.dbPath do arquivo de DB SQLite. :memory: é aceito em testes.

JWT (iam)

VariávelTipoPadrãoDescrição
ONGRID_JWT_SECRETstringdev-insecure-secret-change-meChave de assinatura HS256 para access + refresh tokens. Obrigatório; o padrão recusa emitir tokens em builds de produção.
ONGRID_JWT_ACCESS_TTLduration15mTTL de access-token.
ONGRID_JWT_REFRESH_TTLduration168h (7d)TTL de refresh-token.

Durations aceitam sintaxe time.ParseDuration do Go (15m, 2h, 30s). Um integer puro é interpretado como segundos.


Providers LLM

O chat agent suporta seis providers first-class mais um slot Custom (compatível com OpenAI). Cada provider é gateado por sua API key — chave vazia = provider não exposto ao picker de chat.

OpenAI

VariávelTipoPadrãoDescrição
ONGRID_OPENAI_API_KEYstringvazioAPI key OpenAI. Vazio = OpenAI escondido do picker.
ONGRID_OPENAI_MODELstringgpt-5.4Modelo padrão quando OpenAI é o provider selecionado.
ONGRID_OPENAI_BASE_URLstringvazioOverride de base URL para relays compatíveis com OpenAI (Azure / vLLM / Ollama / one-api).

Anthropic, Zhipu, Gemini, DeepSeek, Kimi

Cada provider tem as mesmas três chaves (API key / modelo padrão / base URL) e uma quarta (MODELS, lista separada por vírgula de slugs de modelo selecionáveis):

VariávelPadrão
ONGRID_ANTHROPIC_API_KEYvazio
ONGRID_ANTHROPIC_MODELclaude-sonnet-4-6
ONGRID_ANTHROPIC_BASE_URLvazio
ONGRID_ANTHROPIC_MODELSclaude-opus-4-7,claude-sonnet-4-6,claude-haiku-4-5
ONGRID_ZHIPU_API_KEYvazio
ONGRID_ZHIPU_MODELglm-4.7
ONGRID_ZHIPU_BASE_URLvazio
ONGRID_ZHIPU_MODELSglm-5.1,glm-5,glm-4.7,glm-4.7-flash
ONGRID_GEMINI_API_KEYvazio
ONGRID_GEMINI_MODELgemini-2.5-pro
ONGRID_GEMINI_BASE_URLvazio
ONGRID_GEMINI_MODELSgemini-3.5-flash,gemini-2.5-pro,gemini-2.5-flash
ONGRID_DEEPSEEK_API_KEYvazio
ONGRID_DEEPSEEK_MODELdeepseek-v4-flash
ONGRID_DEEPSEEK_BASE_URLvazio
ONGRID_DEEPSEEK_MODELSdeepseek-v4-pro,deepseek-v4-flash,deepseek-reasoner
ONGRID_KIMI_API_KEYvazio
ONGRID_KIMI_MODELkimi-k2.6
ONGRID_KIMI_BASE_URLvazio
ONGRID_KIMI_MODELSkimi-k2.6,kimi-k2.5,moonshot-v1-128k

Roteamento & budget

VariávelTipoPadrãoDescrição
ONGRID_LLM_DEFAULT_PROVIDERstringvazioProvider usado quando uma request não especifica um. Vazio = primeiro provider configurado (alfabético). Defina quando você quer um provider específico como default do site.
ONGRID_LLM_DAILY_TOKEN_LIMITint0Teto global de token por dia UTC. 0 = ilimitado.

Agent kernel & tools

VariávelTipoPadrãoDescrição
ONGRID_AGENT_KERNELstringgraphgraph habilita o kernel de grafo eino + filtro de activation-keyword SkillRegistry.Resolve + pipeline de deferral ToolBag. legacy é o runner de for-loop mais antigo com todas as tools sempre full-schema. Vire para legacy só para bisect.
ONGRID_TOOLBAG_DEFERRAL_THRESHOLDint30Threshold de contagem de tool acima do qual tools de specialty-tier ganham schemas redacted (LLM precisa chamar ToolSearch para expandir).
ONGRID_SKILLS_EXTERNAL_DIRScsvvazioPaths absolutos separados por vírgula/dois-pontos que o loader de skill escaneia por manifestos skill.json. Cada um precisa ser absoluto; entradas relativas ou faltantes são puladas com linha de log.

Client do broker Frontier

VariávelTipoPadrãoDescrição
ONGRID_FRONTIER_ADDRstringfrontier:40011Listen vinculado a serviço do broker frontier upstream que o manager disca.
ONGRID_FRONTIER_SERVICE_NAMEstringongrid-managerIdentificador reportado no connect.
ONGRID_FRONTIER_DISABLEDboolfalsePula o dial service-end de longa duração inteiramente. Usado pelo harness e2e — features que requerem o broker (webssh, calls reversos do edge) erram no call site.

Prometheus cloud-side

VariávelTipoPadrãoDescrição
ONGRID_PROM_ENABLEDboolfalseGateia a fiação Prometheus. Quando false o manager roda sem armazenamento de métrica; push_prom_samples silenciosamente descarta, e query_promql não é registrado como tool.
ONGRID_PROM_URLstringhttp://prometheus:9090URL raiz do server Prom.
ONGRID_PROM_REMOTE_WRITE_URLstringvazioEndpoint exato de remote_write quando o upstream não tem raiz em /api/v1/write (gateway Mimir / Cortex / VictoriaMetrics).
ONGRID_PROM_QUERY_URLstringvazioRaiz da API de query para query_promql. Vazio cai para ONGRID_PROM_URL.
ONGRID_PROM_TLS_INSECUREboolfalsePula verificação de cert TLS.
ONGRID_PROM_TLS_CA_FILEstringvazioArquivo PEM com a CA raiz usada para verificar o cert do TSDB. Vazio = roots do sistema.

Grafana

VariávelTipoPadrãoDescrição
ONGRID_GRAFANA_INTERNAL_URLstringhttp://grafana:3000/grafanaURL que o manager usa para alcançar o Grafana pela rede docker.
ONGRID_GRAFANA_BOOTSTRAP_USERstringadminUser admin one-time usado para auto-criar o Service Account ongrid + token.
ONGRID_GRAFANA_BOOTSTRAP_PASSWORDstringvazioSenha de bootstrap; vazio desabilita bootstrap (cole um token SA criado manualmente na UI).
ONGRID_GRAFANA_TLS_INSECUREboolfalsePula verificação de cert para o call de bootstrap.
ONGRID_GRAFANA_ROOT_URLstring%(protocol)s://%(domain)s/grafana/Encaminhado para GF_SERVER_ROOT_URL.

Logs & traces (data plane)

VariávelTipoPadrãoDescrição
ONGRID_LOG_QUERY_URLstringhttp://loki:3100Raiz da API Loki que o manager fala para query_range / labels / values. Vazio = página Logs retorna 503.
ONGRID_TRACE_QUERY_URLstringhttp://tempo:3200Raiz do listener HTTP do Tempo para /api/search, /api/traces/<id>, /api/search/tag/<tag>/values. Vazio = página Traces retorna 503.

Os endpoints de data plane do edge (onde os plugins de logs / traces fazem POST) são derivados de ONGRID_PUBLIC_URL; veja Data plane de telemetria.


Thresholds de alertas built-in

Esses dirigem as quatro rules canônicas built-in sobre o conjunto fechado de métrica de host. Defina como 0 para desabilitar.

VariávelTipoPadrãoDescrição
ONGRID_ALERT_ENABLEDbooltrueSwitch mestre para avaliação de alerta de host built-in.
ONGRID_ALERT_COOLDOWNduration10mCooldown por-(edge, rule). Notificações dentro dessa janela são suprimidas.
ONGRID_ALERT_CPU_PERCENTfloat90Dispara quando cpu_pct >= threshold.
ONGRID_ALERT_MEM_PERCENTfloat90Dispara quando mem_pct >= threshold.
ONGRID_ALERT_DISK_USED_PERCENTfloat90Dispara quando disk_used_pct >= threshold.
ONGRID_ALERT_LOAD1float0Dispara quando load1 >= threshold. 0 desabilita (load varia demais entre formatos de host para um default útil).
ONGRID_ALERT_EVAL_INTERVALduration5mCom que frequência o pipeline evaluator escaneia edges e consulta Prom.
ONGRID_ALERT_EDGE_OFFLINE_THRESHOLDduration90sStaleness de heartbeat acima da qual um edge conta como offline.
ONGRID_ALERT_PROM_INGEST_FAIL_LIMITint5Contagem consecutiva de falha remote_write na qual prom_ingest_fail dispara.

Notificações

Switch mestre + os quatro tipos de canal built-in. Canais criados pela UI carregam sua própria flag enabled e são não-afetados por esses.

VariávelTipoPadrãoDescrição
ONGRID_NOTIFY_ENABLEDbooltrueSwitch mestre para notificações outbound.
ONGRID_NOTIFY_DEFAULT_CHANNELScsvvazioLista ordenada de channel-name usada quando um caller não especifica destinos.
ONGRID_NOTIFY_TIMEOUTduration10sTimeout de envio por-canal.
ONGRID_NOTIFY_WEBHOOK_ENABLEDboolfalseHabilita o canal webhook env-configurado.
ONGRID_NOTIFY_WEBHOOK_NAMEstringwebhookNome de display.
ONGRID_NOTIFY_WEBHOOK_URLstringvazioEndpoint POST.
ONGRID_NOTIFY_WEBHOOK_SECRETstringvazioSecret HMAC opcional.
ONGRID_NOTIFY_SLACK_ENABLEDboolfalseHabilita o canal Slack env-configurado.
ONGRID_NOTIFY_SLACK_NAMEstringslackNome de display.
ONGRID_NOTIFY_SLACK_WEBHOOK_URLstringvazioURL Incoming Webhook.
ONGRID_NOTIFY_FEISHU_ENABLEDboolfalseHabilita o canal Larksuite / Feishu env-configurado.
ONGRID_NOTIFY_FEISHU_NAMEstringfeishuNome de display.
ONGRID_NOTIFY_FEISHU_WEBHOOK_URLstringvazioURL Custom-Bot.
ONGRID_NOTIFY_FEISHU_SECRETstringvazioSecret de assinatura.
ONGRID_NOTIFY_DINGTALK_ENABLEDboolfalseHabilita o canal DingTalk env-configurado.
ONGRID_NOTIFY_DINGTALK_NAMEstringdingtalkNome de display.
ONGRID_NOTIFY_DINGTALK_WEBHOOK_URLstringvazioURL Custom-Bot.
ONGRID_NOTIFY_DINGTALK_SECRETstringvazioSecret de assinatura.

Para canais WeCom e Telegram, crie-os pela UI Settings → Channels — são first-class mas não têm shortcut de env-configuração.


Admin de bootstrap

VariávelTipoPadrãoDescrição
ONGRID_ADMIN_EMAILstringvazioEmail do admin de bootstrap. Se vazio, nenhum admin é semeado; você precisa registrar pela UI no primeiro boot.
ONGRID_ADMIN_PASSWORDstringvazioSenha inicial. Esperado que o operador mude no primeiro login.

Edge agent

Esses são consumidos por ongrid-edge, escritos em /etc/ongrid-edge/ongrid-edge.env pelo instalador.

VariávelTipoPadrãoDescrição
ONGRID_EDGE_CLOUD_ADDRstring127.0.0.1:40012Broker frontier host:port. O agent disca isto com TLS.
ONGRID_EDGE_ACCESS_KEYstringvazioAccess key por-edge. Emitida pelo manager quando você cria um edge na UI.
ONGRID_EDGE_SECRET_KEYstringvazioSecret correspondente. Mostrada uma vez na criação do edge; rotacione pela UI.
ONGRID_EDGE_COLLECTOR_MODEstringoffoff (padrão; os plugins hostmetrics + procmetrics tratam métricas), auto (legado embarcado + scraper), embedded (push embarcado apenas), scrape (scraper HTTP multi-target).
ONGRID_EDGE_SCRAPE_CONFIG_FILEstring/etc/ongrid-edge/scrape.yamlPath para o YAML de config de scrape. Só consultado quando COLLECTOR_MODE=scrape.
ONGRID_EDGE_COLLECTOR_INTERVALduration10sCom que frequência o collector embarcado faz snapshots. Modo scrape ignora isto.
ONGRID_EDGE_PLUGIN_BIN_DIRstring/usr/local/lib/ongrid-edgeDiretório contendo binários de plugin (promtail, otelcol-contrib, node_exporter, process_exporter).
ONGRID_EDGE_PLUGIN_WORK_DIRstring/var/lib/ongrid-edge/pluginsDirs de runtime por-plugin (configs, arquivos PID, queue spool).
ONGRID_EDGE_UPGRADE_STAGE_DIRstring/var/lib/ongrid-edge/.upgradeDiretório de staged-bundle do ADR-024. Vazio desabilita upgrades remotos de whole-bundle.
ONGRID_INSTALL_WAITint20Segundos que o instalador curl-pipe faz polling no journal esperando por "registered with cloud".

Embedding & RAG

VariávelTipoPadrãoDescrição
ONGRID_EMBEDDING_PROVIDERstringzhipuzhipu (padrão; chama a API de embedding GLM), local (usa um modelo bge em disco), openai (usa embeddings OpenAI).
ONGRID_EMBEDDING_LOCAL_MODEL_PATHstringvazioPath absoluto para o modelo local quando PROVIDER=local. O tarball de release stage bge-base-en-v1.5 sob .cache/.
ONGRID_VAULT_REPO_URLstringhttps://github.com/ongridio/vaultRepositório vault upstream do qual o manager puxa conhecimento baseline. Sobrescreva para mirrors air-gapped.

Locale & misc

VariávelTipoPadrãoDescrição
ONGRID_DEFAULT_LOCALEstringenLocale padrão usado por saídas LLM automáticas (investigações de alerta, sumários agendados). Chat disparado pela UI usa o locale da UI do usuário em vez disso.

Veja também

  • REST API — endpoints que essas env vars conectam.
  • CLI — flags de linha de comando dos dois binários.
  • Data plane de telemetria — por que endpoints de log/trace diferem do tunnel.
  • Arquitetura — onde cada env var vive no diagrama de stack.