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 ​