Skip to content

Variables d'environnement

Les deux ongrid et ongrid-edge sont configurés exclusivement via variables d'environnement. Pas de YAML. Le câblage canonique vit dans internal/pkg/config/config.go et le bloc env compose à deploy/docker-compose.yml. Chaque variable ci-dessous est lue au démarrage ; le manager ne hot-reload pas.

Les tableaux groupent les variables par sous-système. Les défauts affichés sont ce que le binaire choisit quand la variable est non posée ou vide. « Requis » signifie « la feature dans la colonne 1 ne marchera pas sans ».


Listeners HTTP & métriques

VariableTypeDéfautDescription
ONGRID_HTTP_ADDRstring:8080Listen TCP pour l'API + SPA. nginx dans la stack compose proxify /api/* ici.
ONGRID_METRICS_ADDRstring:9100Listen TCP pour /metrics. Scrapé par Prometheus.
ONGRID_TUNNEL_ADDRstring:40012Listen de broker geminio. Bindé par le service frontier, pas le manager lui-même.
ONGRID_PUBLIC_URLstringvideURL https://... canonique que le manager donne aux edges comme endpoint de plan de données (ingest logs/traces, téléchargement de bundle edge). Vide désactive les endpoints de plugin de plan de données. Posez ceci en production.

Base de données (MySQL par défaut, SQLite opt-in)

VariableTypeDéfautDescription
ONGRID_DB_DIALECTstringmysqlmysql (défaut) ou sqlite. Vide est traité comme mysql.
ONGRID_DB_DSNstringongrid:ongrid@tcp(127.0.0.1:3306)/ongrid?parseTime=true&charset=utf8mb4&loc=LocalDSN MySQL. Requis en production.
ONGRID_DB_PATHstring./data/ongrid.dbChemin du fichier de base SQLite. :memory: est accepté en tests.

JWT (iam)

VariableTypeDéfautDescription
ONGRID_JWT_SECRETstringdev-insecure-secret-change-meClé de signature HS256 pour les tokens access + refresh. Requis ; le défaut refuse d'émettre des tokens dans les builds de production.
ONGRID_JWT_ACCESS_TTLduration15mTTL d'access-token.
ONGRID_JWT_REFRESH_TTLduration168h (7j)TTL de refresh-token.

Les durations acceptent la syntaxe Go time.ParseDuration (15m, 2h, 30s). Un entier nu est interprété comme secondes.


Providers LLM

L'agent de chat supporte six providers de première classe plus un slot Custom (compatible OpenAI). Chaque provider est gaté par sa clé d'API — clé vide = provider non remonté au picker de chat.

OpenAI

VariableTypeDéfautDescription
ONGRID_OPENAI_API_KEYstringvideClé d'API OpenAI. Vide = OpenAI caché du picker.
ONGRID_OPENAI_MODELstringgpt-5.4Modèle par défaut quand OpenAI est le provider sélectionné.
ONGRID_OPENAI_BASE_URLstringvideSurcharge l'URL de base pour les relais compatibles OpenAI (Azure / vLLM / Ollama / one-api).

Anthropic, Zhipu, Gemini, DeepSeek, Kimi

Chaque provider a les mêmes trois clés (clé API / modèle par défaut / URL de base) et une quatrième (MODELS, liste séparée par virgules de slugs de modèles sélectionnables) :

VariableDéfaut
ONGRID_ANTHROPIC_API_KEYvide
ONGRID_ANTHROPIC_MODELclaude-sonnet-4-6
ONGRID_ANTHROPIC_BASE_URLvide
ONGRID_ANTHROPIC_MODELSclaude-opus-4-7,claude-sonnet-4-6,claude-haiku-4-5
ONGRID_ZHIPU_API_KEYvide
ONGRID_ZHIPU_MODELglm-4.7
ONGRID_ZHIPU_BASE_URLvide
ONGRID_ZHIPU_MODELSglm-5.1,glm-5,glm-4.7,glm-4.7-flash
ONGRID_GEMINI_API_KEYvide
ONGRID_GEMINI_MODELgemini-2.5-pro
ONGRID_GEMINI_BASE_URLvide
ONGRID_GEMINI_MODELSgemini-3.5-flash,gemini-2.5-pro,gemini-2.5-flash
ONGRID_DEEPSEEK_API_KEYvide
ONGRID_DEEPSEEK_MODELdeepseek-v4-flash
ONGRID_DEEPSEEK_BASE_URLvide
ONGRID_DEEPSEEK_MODELSdeepseek-v4-pro,deepseek-v4-flash,deepseek-reasoner
ONGRID_KIMI_API_KEYvide
ONGRID_KIMI_MODELkimi-k2.6
ONGRID_KIMI_BASE_URLvide
ONGRID_KIMI_MODELSkimi-k2.6,kimi-k2.5,moonshot-v1-128k

Routing & budget

VariableTypeDéfautDescription
ONGRID_LLM_DEFAULT_PROVIDERstringvideProvider utilisé quand une requête n'en spécifie pas. Vide = premier provider configuré (alphabétique). Posez ceci quand vous voulez un provider spécifique comme défaut du site.
ONGRID_LLM_DAILY_TOKEN_LIMITint0Plafond global de tokens par jour UTC. 0 = illimité.

Kernel d'agent & outils

VariableTypeDéfautDescription
ONGRID_AGENT_KERNELstringgraphgraph active le kernel de graphe eino + filtre de mot-clé d'activation SkillRegistry.Resolve + pipeline de deferral ToolBag. legacy est le runner for-loop plus ancien avec tous les outils toujours full-schema. Basculez vers legacy seulement pour bisecter.
ONGRID_TOOLBAG_DEFERRAL_THRESHOLDint30Seuil de compte d'outils au-dessus duquel les outils de tier specialty reçoivent des schémas redacted (le LLM doit appeler ToolSearch pour expand).
ONGRID_SKILLS_EXTERNAL_DIRScsvvideChemins absolus séparés par virgule/deux-points que le loader de skills scanne pour des manifestes skill.json. Chacun doit être absolu ; les entrées relatives ou manquantes sont sautées avec une ligne de log.

Client broker Frontier

VariableTypeDéfautDescription
ONGRID_FRONTIER_ADDRstringfrontier:40011Listen service-bound du broker frontier upstream que le manager compose.
ONGRID_FRONTIER_SERVICE_NAMEstringongrid-managerIdentifiant rapporté à la connexion.
ONGRID_FRONTIER_DISABLEDboolfalseSaute le dial service-end longue durée entièrement. Utilisé par le harness e2e — les features nécessitant le broker (webssh, appels inversés d'edge) errent au site d'appel.

Prometheus côté cloud

VariableTypeDéfautDescription
ONGRID_PROM_ENABLEDboolfalseGate le câblage Prometheus. Quand false, le manager tourne sans store de métriques ; push_prom_samples drop silencieusement, et query_promql n'est pas enregistré comme outil.
ONGRID_PROM_URLstringhttp://prometheus:9090URL racine du serveur Prom.
ONGRID_PROM_REMOTE_WRITE_URLstringvideEndpoint remote_write exact quand l'upstream n'est pas raciné à /api/v1/write (Mimir / Cortex / gateway VictoriaMetrics).
ONGRID_PROM_QUERY_URLstringvideRacine d'API de requête pour query_promql. Vide retombe sur ONGRID_PROM_URL.
ONGRID_PROM_TLS_INSECUREboolfalseSaute la vérification de cert TLS.
ONGRID_PROM_TLS_CA_FILEstringvideFichier PEM avec la CA racine utilisée pour vérifier le cert du TSDB. Vide = racines système.

Grafana

VariableTypeDéfautDescription
ONGRID_GRAFANA_INTERNAL_URLstringhttp://grafana:3000/grafanaURL que le manager utilise pour atteindre Grafana sur le réseau docker.
ONGRID_GRAFANA_BOOTSTRAP_USERstringadminUtilisateur admin one-time utilisé pour auto-créer le Service Account ongrid + token.
ONGRID_GRAFANA_BOOTSTRAP_PASSWORDstringvideMot de passe bootstrap ; vide désactive le bootstrap (collez un token SA créé manuellement dans l'UI).
ONGRID_GRAFANA_TLS_INSECUREboolfalseSaute la vérification de cert pour l'appel bootstrap.
ONGRID_GRAFANA_ROOT_URLstring%(protocol)s://%(domain)s/grafana/Forwarded vers GF_SERVER_ROOT_URL.

Logs & traces (plan de données)

VariableTypeDéfautDescription
ONGRID_LOG_QUERY_URLstringhttp://loki:3100Racine d'API Loki à laquelle le manager parle pour query_range / labels / values. Vide = la page Logs renvoie 503.
ONGRID_TRACE_QUERY_URLstringhttp://tempo:3200Racine du listener HTTP Tempo pour /api/search, /api/traces/<id>, /api/search/tag/<tag>/values. Vide = la page Traces renvoie 503.

Les endpoints de plan de données edge (où les plugins logs / traces POST) sont dérivés de ONGRID_PUBLIC_URL ; voir Plan de données de télémétrie.


Seuils d'alerte intégrés

Ceux-ci pilotent les quatre règles intégrées canoniques sur l'ensemble fermé de métriques host. Posez à 0 pour désactiver.

VariableTypeDéfautDescription
ONGRID_ALERT_ENABLEDbooltrueInterrupteur maître pour l'évaluation d'alerte host intégrée.
ONGRID_ALERT_COOLDOWNduration10mCooldown par-(edge, règle). Les notifications à l'intérieur de cette fenêtre sont supprimées.
ONGRID_ALERT_CPU_PERCENTfloat90Part quand cpu_pct >= threshold.
ONGRID_ALERT_MEM_PERCENTfloat90Part quand mem_pct >= threshold.
ONGRID_ALERT_DISK_USED_PERCENTfloat90Part quand disk_used_pct >= threshold.
ONGRID_ALERT_LOAD1float0Part quand load1 >= threshold. 0 désactive (le load varie trop largement à travers les formes d'host pour un défaut utile).
ONGRID_ALERT_EVAL_INTERVALduration5mFréquence à laquelle l'evaluator du pipeline scanne les edges et interroge Prom.
ONGRID_ALERT_EDGE_OFFLINE_THRESHOLDduration90sStale-ness de heartbeat au-dessus de laquelle un edge compte comme offline.
ONGRID_ALERT_PROM_INGEST_FAIL_LIMITint5Compte consécutif d'échecs remote_write auquel prom_ingest_fail part.

Notifications

Interrupteur maître + les quatre types de canal intégrés. Les canaux créés par UI portent leur propre flag enabled et ne sont pas affectés par ceux-ci.

VariableTypeDéfautDescription
ONGRID_NOTIFY_ENABLEDbooltrueInterrupteur maître pour les notifications sortantes.
ONGRID_NOTIFY_DEFAULT_CHANNELScsvvideListe ordonnée de noms de canaux utilisée quand un caller ne spécifie pas de destinations.
ONGRID_NOTIFY_TIMEOUTduration10sTimeout d'envoi par canal.
ONGRID_NOTIFY_WEBHOOK_ENABLEDboolfalseActive le canal webhook configuré par env.
ONGRID_NOTIFY_WEBHOOK_NAMEstringwebhookNom d'affichage.
ONGRID_NOTIFY_WEBHOOK_URLstringvideEndpoint POST.
ONGRID_NOTIFY_WEBHOOK_SECRETstringvideSecret HMAC optionnel.
ONGRID_NOTIFY_SLACK_ENABLEDboolfalseActive le canal Slack configuré par env.
ONGRID_NOTIFY_SLACK_NAMEstringslackNom d'affichage.
ONGRID_NOTIFY_SLACK_WEBHOOK_URLstringvideURL de Webhook entrant.
ONGRID_NOTIFY_FEISHU_ENABLEDboolfalseActive le canal Larksuite / Feishu configuré par env.
ONGRID_NOTIFY_FEISHU_NAMEstringfeishuNom d'affichage.
ONGRID_NOTIFY_FEISHU_WEBHOOK_URLstringvideURL Custom-Bot.
ONGRID_NOTIFY_FEISHU_SECRETstringvideSecret de signature.
ONGRID_NOTIFY_DINGTALK_ENABLEDboolfalseActive le canal DingTalk configuré par env.
ONGRID_NOTIFY_DINGTALK_NAMEstringdingtalkNom d'affichage.
ONGRID_NOTIFY_DINGTALK_WEBHOOK_URLstringvideURL Custom-Bot.
ONGRID_NOTIFY_DINGTALK_SECRETstringvideSecret de signature.

Pour les canaux WeCom et Telegram, créez-les via l'UI Settings → Channels — ils sont de première classe mais n'ont pas de raccourci de configuration env.


Admin bootstrap

VariableTypeDéfautDescription
ONGRID_ADMIN_EMAILstringvideEmail de l'admin bootstrap. Si vide, aucun admin n'est seedé ; vous devez vous enregistrer depuis l'UI au premier boot.
ONGRID_ADMIN_PASSWORDstringvideMot de passe initial. L'opérateur est censé le changer au premier login.

Agent edge

Ceux-ci sont consommés par ongrid-edge, écrits dans /etc/ongrid-edge/ongrid-edge.env par l'installer.

VariableTypeDéfautDescription
ONGRID_EDGE_CLOUD_ADDRstring127.0.0.1:40012Broker frontier host:port. L'agent compose ceci avec TLS.
ONGRID_EDGE_ACCESS_KEYstringvideClé d'accès par-edge. Émise par le manager quand vous créez un edge dans l'UI.
ONGRID_EDGE_SECRET_KEYstringvideSecret matchant. Affiché une fois à la création d'edge ; rotatez via l'UI.
ONGRID_EDGE_COLLECTOR_MODEstringoffoff (défaut ; les plugins hostmetrics + procmetrics gèrent les métriques), auto (legacy embarqué + scraper), embedded (push embarqué seulement), scrape (scraper HTTP multi-cible).
ONGRID_EDGE_SCRAPE_CONFIG_FILEstring/etc/ongrid-edge/scrape.yamlChemin vers le YAML de config scrape. Consulté seulement quand COLLECTOR_MODE=scrape.
ONGRID_EDGE_COLLECTOR_INTERVALduration10sFréquence à laquelle le collecteur embarqué snapshot. Le mode scrape ignore ceci.
ONGRID_EDGE_PLUGIN_BIN_DIRstring/usr/local/lib/ongrid-edgeRépertoire contenant les binaires de plugin (promtail, otelcol-contrib, node_exporter, process_exporter).
ONGRID_EDGE_PLUGIN_WORK_DIRstring/var/lib/ongrid-edge/pluginsDirs runtime par plugin (configs, fichiers PID, spool de file).
ONGRID_EDGE_UPGRADE_STAGE_DIRstring/var/lib/ongrid-edge/.upgradeRépertoire de bundle staged ADR-024. Vide désactive les upgrades distantes de bundle entier.
ONGRID_INSTALL_WAITint20Secondes que l'installer curl-pipe sonde le journal en attendant « registered with cloud ».

Embedding & RAG

VariableTypeDéfautDescription
ONGRID_EMBEDDING_PROVIDERstringzhipuzhipu (défaut ; appelle l'API d'embedding GLM), local (utilise un modèle bge sur disque), openai (utilise les embeddings OpenAI).
ONGRID_EMBEDDING_LOCAL_MODEL_PATHstringvideChemin absolu vers le modèle local quand PROVIDER=local. Le tarball de release stage bge-base-en-v1.5 sous .cache/.
ONGRID_VAULT_REPO_URLstringhttps://github.com/ongridio/vaultDépôt vault upstream depuis lequel le manager tire les connaissances baseline. Surchargez pour les mirrors air-gappés.

Locale & divers

VariableTypeDéfautDescription
ONGRID_DEFAULT_LOCALEstringenLocale par défaut utilisée par les sorties LLM automatiques (investigations d'alerte, résumés planifiés). Le chat déclenché par UI utilise la locale UI de l'utilisateur à la place.

Voir aussi