Skip to content

Umgebungsvariablen

Sowohl ongrid als auch ongrid-edge werden ausschließlich über Umgebungsvariablen konfiguriert. Kein YAML. Die kanonische Verdrahtung liegt in internal/pkg/config/config.go und im Compose-Env-Block unter deploy/docker-compose.yml. Jede Variable unten wird beim Start gelesen; der Manager macht kein Hot-Reload.

Tabellen gruppieren Variablen nach Subsystem. Gezeigte Defaults sind das, was das Binary nimmt, wenn die Variable nicht gesetzt oder leer ist. „Pflicht" bedeutet „das Feature in Spalte 1 funktioniert nicht ohne sie".


HTTP- & Metrik-Listener

VariableTypStandardBeschreibung
ONGRID_HTTP_ADDRstring:8080TCP-Listen für die API + SPA. nginx im Compose-Stack proxyt /api/* hierhin.
ONGRID_METRICS_ADDRstring:9100TCP-Listen für /metrics. Wird von Prometheus gescraped.
ONGRID_TUNNEL_ADDRstring:40012Geminio-Broker-Listen. Wird vom frontier-Service gebunden, nicht vom Manager selbst.
ONGRID_PUBLIC_URLstringleerKanonische https://...-URL, die der Manager Edges als Daten-Ebenen-Endpunkt aushändigt (Log-/Trace-Ingest, Edge-Bundle-Download). Leer deaktiviert die Daten-Ebenen-Plugin-Endpunkte. In Produktion setzen.

Datenbank (MySQL Standard, SQLite opt-in)

VariableTypStandardBeschreibung
ONGRID_DB_DIALECTstringmysqlmysql (Standard) oder sqlite. Leer wird als mysql behandelt.
ONGRID_DB_DSNstringongrid:ongrid@tcp(127.0.0.1:3306)/ongrid?parseTime=true&charset=utf8mb4&loc=LocalMySQL-DSN. In Produktion erforderlich.
ONGRID_DB_PATHstring./data/ongrid.dbSQLite-Datenbank-Dateipfad. :memory: wird in Tests akzeptiert.

JWT (iam)

VariableTypStandardBeschreibung
ONGRID_JWT_SECRETstringdev-insecure-secret-change-meHS256-Signaturschlüssel für Access- + Refresh-Tokens. Pflicht; der Default verweigert die Token-Ausgabe in Produktions-Builds.
ONGRID_JWT_ACCESS_TTLduration15mAccess-Token-TTL.
ONGRID_JWT_REFRESH_TTLduration168h (7d)Refresh-Token-TTL.

Dauern akzeptieren Go-time.ParseDuration-Syntax (15m, 2h, 30s). Eine bloße Ganzzahl wird als Sekunden interpretiert.


LLM-Provider

Der Chat-Agent unterstützt sechs erstklassige Provider plus einen Custom-Slot (OpenAI-kompatibel). Jeder Provider wird durch seinen API-Key gesteuert — leerer Key = Provider erscheint nicht im Chat-Picker.

OpenAI

VariableTypStandardBeschreibung
ONGRID_OPENAI_API_KEYstringleerOpenAI-API-Key. Leer = OpenAI im Picker ausgeblendet.
ONGRID_OPENAI_MODELstringgpt-5.4Default-Modell, wenn OpenAI der ausgewählte Provider ist.
ONGRID_OPENAI_BASE_URLstringleerBase-URL überschreiben für OpenAI-kompatible Relays (Azure / vLLM / Ollama / one-api).

Anthropic, Zhipu, Gemini, DeepSeek, Kimi

Jeder Provider hat dieselben drei Keys (API-Key / Default-Modell / Base-URL) und einen vierten (MODELS, komma-getrennte Liste auswählbarer Modell-Slugs):

VariableStandard
ONGRID_ANTHROPIC_API_KEYleer
ONGRID_ANTHROPIC_MODELclaude-sonnet-4-6
ONGRID_ANTHROPIC_BASE_URLleer
ONGRID_ANTHROPIC_MODELSclaude-opus-4-7,claude-sonnet-4-6,claude-haiku-4-5
ONGRID_ZHIPU_API_KEYleer
ONGRID_ZHIPU_MODELglm-4.7
ONGRID_ZHIPU_BASE_URLleer
ONGRID_ZHIPU_MODELSglm-5.1,glm-5,glm-4.7,glm-4.7-flash
ONGRID_GEMINI_API_KEYleer
ONGRID_GEMINI_MODELgemini-2.5-pro
ONGRID_GEMINI_BASE_URLleer
ONGRID_GEMINI_MODELSgemini-3.5-flash,gemini-2.5-pro,gemini-2.5-flash
ONGRID_DEEPSEEK_API_KEYleer
ONGRID_DEEPSEEK_MODELdeepseek-v4-flash
ONGRID_DEEPSEEK_BASE_URLleer
ONGRID_DEEPSEEK_MODELSdeepseek-v4-pro,deepseek-v4-flash,deepseek-reasoner
ONGRID_KIMI_API_KEYleer
ONGRID_KIMI_MODELkimi-k2.6
ONGRID_KIMI_BASE_URLleer
ONGRID_KIMI_MODELSkimi-k2.6,kimi-k2.5,moonshot-v1-128k

Routing & Budget

VariableTypStandardBeschreibung
ONGRID_LLM_DEFAULT_PROVIDERstringleerProvider, der verwendet wird, wenn eine Anfrage keinen angibt. Leer = erster konfigurierter Provider (alphabetisch). Setzen Sie dies, wenn ein bestimmter Provider die Site-Voreinstellung sein soll.
ONGRID_LLM_DAILY_TOKEN_LIMITint0Globale per-UTC-Tag-Token-Obergrenze. 0 = unbegrenzt.

Agent-Kernel & Werkzeuge

VariableTypStandardBeschreibung
ONGRID_AGENT_KERNELstringgraphgraph aktiviert den eino-Graph-Kernel + SkillRegistry.Resolve-Aktivierungs-Keyword-Filter + ToolBag-Deferral-Pipeline. legacy ist der ältere For-Loop-Runner mit allen Werkzeugen stets im vollständigen Schema. Nur zum Bisect auf legacy umstellen.
ONGRID_TOOLBAG_DEFERRAL_THRESHOLDint30Tool-Anzahl-Schwelle, oberhalb derer Specialty-Tier-Tools redigierte Schemata erhalten (LLM muss ToolSearch aufrufen, um zu expandieren).
ONGRID_SKILLS_EXTERNAL_DIRScsvleerKomma-/Doppelpunkt-getrennte absolute Pfade, die der Skill-Loader nach skill.json-Manifesten durchsucht. Jeder muss absolut sein; relative oder fehlende Einträge werden mit einer Log-Zeile übersprungen.

Frontier-Broker-Client

VariableTypStandardBeschreibung
ONGRID_FRONTIER_ADDRstringfrontier:40011Service-gebundener Listen des Upstream-Frontier-Brokers, den der Manager wählt.
ONGRID_FRONTIER_SERVICE_NAMEstringongrid-managerBeim Connect gemeldeter Bezeichner.
ONGRID_FRONTIER_DISABLEDboolfalseDen langlebigen Service-End-Dial komplett überspringen. Vom e2e-Harness verwendet — Features, die den Broker brauchen (webssh, Edge-Reverse-Aufrufe), fehlen am Call-Site.

Cloud-seitiges Prometheus

VariableTypStandardBeschreibung
ONGRID_PROM_ENABLEDboolfalseSteuert die Prometheus-Verdrahtung. Wenn false, läuft der Manager ohne Metrikspeicher; push_prom_samples verwirft still, und query_promql wird nicht als Werkzeug registriert.
ONGRID_PROM_URLstringhttp://prometheus:9090Prom-Server-Root-URL.
ONGRID_PROM_REMOTE_WRITE_URLstringleerGenauer remote_write-Endpunkt, wenn das Upstream nicht unter /api/v1/write gewurzelt ist (Mimir / Cortex / VictoriaMetrics-Gateway).
ONGRID_PROM_QUERY_URLstringleerQuery-API-Wurzel für query_promql. Leer fällt auf ONGRID_PROM_URL zurück.
ONGRID_PROM_TLS_INSECUREboolfalseTLS-Cert-Verifikation überspringen.
ONGRID_PROM_TLS_CA_FILEstringleerPEM-Datei mit der Root-CA, die zur Verifikation des TSDB-Certs verwendet wird. Leer = System-Roots.

Grafana

VariableTypStandardBeschreibung
ONGRID_GRAFANA_INTERNAL_URLstringhttp://grafana:3000/grafanaURL, die der Manager verwendet, um Grafana über das Docker-Netzwerk zu erreichen.
ONGRID_GRAFANA_BOOTSTRAP_USERstringadminEinmaliger Admin-Benutzer, der zum Auto-Erstellen des ongrid Service Accounts + Tokens verwendet wird.
ONGRID_GRAFANA_BOOTSTRAP_PASSWORDstringleerBootstrap-Passwort; leer deaktiviert Bootstrap (manuell erstelltes SA-Token in der UI einfügen).
ONGRID_GRAFANA_TLS_INSECUREboolfalseCert-Verifikation für den Bootstrap-Aufruf überspringen.
ONGRID_GRAFANA_ROOT_URLstring%(protocol)s://%(domain)s/grafana/An GF_SERVER_ROOT_URL weitergeleitet.

Logs & Traces (Datenebene)

VariableTypStandardBeschreibung
ONGRID_LOG_QUERY_URLstringhttp://loki:3100Loki-API-Wurzel, mit der der Manager für query_range / Labels / Werte spricht. Leer = Logs-Seite gibt 503 zurück.
ONGRID_TRACE_QUERY_URLstringhttp://tempo:3200Tempo-HTTP-Listener-Wurzel für /api/search, /api/traces/<id>, /api/search/tag/<tag>/values. Leer = Traces-Seite gibt 503 zurück.

Die Edge-Daten-Ebenen-Endpunkte (wo die Logs-/Traces-Plugins POSTen) werden aus ONGRID_PUBLIC_URL abgeleitet; siehe Telemetrie-Datenebene.


Eingebaute Alarmschwellen

Diese treiben die vier kanonischen eingebauten Regeln über die geschlossene Host-Metrik-Menge an. Auf 0 setzen, um zu deaktivieren.

VariableTypStandardBeschreibung
ONGRID_ALERT_ENABLEDbooltrueHauptschalter für die eingebaute Host-Alarmauswertung.
ONGRID_ALERT_COOLDOWNduration10mPer-(Edge, Regel) Cooldown. Benachrichtigungen innerhalb dieses Fensters werden unterdrückt.
ONGRID_ALERT_CPU_PERCENTfloat90Feuert, wenn cpu_pct >= threshold.
ONGRID_ALERT_MEM_PERCENTfloat90Feuert, wenn mem_pct >= threshold.
ONGRID_ALERT_DISK_USED_PERCENTfloat90Feuert, wenn disk_used_pct >= threshold.
ONGRID_ALERT_LOAD1float0Feuert, wenn load1 >= threshold. 0 deaktiviert (Load variiert zu stark über Host-Shapes für einen nützlichen Default).
ONGRID_ALERT_EVAL_INTERVALduration5mWie oft der Pipeline-Evaluator Edges scannt und Prom abfragt.
ONGRID_ALERT_EDGE_OFFLINE_THRESHOLDduration90sHeartbeat-Staleness, oberhalb derer eine Edge als offline zählt.
ONGRID_ALERT_PROM_INGEST_FAIL_LIMITint5Aufeinanderfolgende remote_write-Fehlerzahl, bei der prom_ingest_fail feuert.

Benachrichtigungen

Hauptschalter + die vier eingebauten Kanaltypen. UI-erstellte Kanäle tragen ihr eigenes enabled-Flag und werden davon nicht betroffen.

VariableTypStandardBeschreibung
ONGRID_NOTIFY_ENABLEDbooltrueHauptschalter für ausgehende Benachrichtigungen.
ONGRID_NOTIFY_DEFAULT_CHANNELScsvleerGeordnete Kanalnamen-Liste, die verwendet wird, wenn ein Aufrufer keine Ziele angibt.
ONGRID_NOTIFY_TIMEOUTduration10sPer-Kanal-Sende-Timeout.
ONGRID_NOTIFY_WEBHOOK_ENABLEDboolfalseDen env-konfigurierten Webhook-Kanal aktivieren.
ONGRID_NOTIFY_WEBHOOK_NAMEstringwebhookAnzeigename.
ONGRID_NOTIFY_WEBHOOK_URLstringleerPOST-Endpunkt.
ONGRID_NOTIFY_WEBHOOK_SECRETstringleerOptionales HMAC-Secret.
ONGRID_NOTIFY_SLACK_ENABLEDboolfalseDen env-konfigurierten Slack-Kanal aktivieren.
ONGRID_NOTIFY_SLACK_NAMEstringslackAnzeigename.
ONGRID_NOTIFY_SLACK_WEBHOOK_URLstringleerIncoming-Webhook-URL.
ONGRID_NOTIFY_FEISHU_ENABLEDboolfalseDen env-konfigurierten Larksuite-/Feishu-Kanal aktivieren.
ONGRID_NOTIFY_FEISHU_NAMEstringfeishuAnzeigename.
ONGRID_NOTIFY_FEISHU_WEBHOOK_URLstringleerCustom-Bot-URL.
ONGRID_NOTIFY_FEISHU_SECRETstringleerSigning-Secret.
ONGRID_NOTIFY_DINGTALK_ENABLEDboolfalseDen env-konfigurierten DingTalk-Kanal aktivieren.
ONGRID_NOTIFY_DINGTALK_NAMEstringdingtalkAnzeigename.
ONGRID_NOTIFY_DINGTALK_WEBHOOK_URLstringleerCustom-Bot-URL.
ONGRID_NOTIFY_DINGTALK_SECRETstringleerSigning-Secret.

Für WeCom- und Telegram-Kanäle erstellen Sie diese über die Settings → Channels UI — sie sind erstklassig, haben aber keine Env-Konfigurations-Abkürzung.


Bootstrap-Admin

VariableTypStandardBeschreibung
ONGRID_ADMIN_EMAILstringleerE-Mail des Bootstrap-Admins. Wenn leer, wird kein Admin geseedet; Sie müssen sich beim ersten Boot über die UI registrieren.
ONGRID_ADMIN_PASSWORDstringleerInitiales Passwort. Der Operator wird erwartet, es beim ersten Login zu ändern.

Edge-Agent

Diese werden von ongrid-edge konsumiert und vom Installer in /etc/ongrid-edge/ongrid-edge.env geschrieben.

VariableTypStandardBeschreibung
ONGRID_EDGE_CLOUD_ADDRstring127.0.0.1:40012Frontier-Broker host:port. Der Agent wählt dies mit TLS.
ONGRID_EDGE_ACCESS_KEYstringleerPer-Edge-Access-Key. Vom Manager ausgegeben, wenn Sie eine Edge in der UI erstellen.
ONGRID_EDGE_SECRET_KEYstringleerPassendes Secret. Wird einmal bei Edge-Erstellung gezeigt; rotieren Sie über die UI.
ONGRID_EDGE_COLLECTOR_MODEstringoffoff (Standard; die hostmetrics- + procmetrics-Plugins handhaben Metriken), auto (Legacy embedded + Scraper), embedded (nur embedded Push), scrape (Multi-Target-HTTP-Scraper).
ONGRID_EDGE_SCRAPE_CONFIG_FILEstring/etc/ongrid-edge/scrape.yamlPfad zur Scrape-Config-YAML. Nur konsultiert, wenn COLLECTOR_MODE=scrape.
ONGRID_EDGE_COLLECTOR_INTERVALduration10sWie oft der embedded Collector snapshotet. Scrape-Modus ignoriert dies.
ONGRID_EDGE_PLUGIN_BIN_DIRstring/usr/local/lib/ongrid-edgeVerzeichnis mit Plugin-Binaries (promtail, otelcol-contrib, node_exporter, process_exporter).
ONGRID_EDGE_PLUGIN_WORK_DIRstring/var/lib/ongrid-edge/pluginsPer-Plugin-Runtime-Dirs (Configs, PID-Dateien, Queue-Spool).
ONGRID_EDGE_UPGRADE_STAGE_DIRstring/var/lib/ongrid-edge/.upgradeADR-024 Staged-Bundle-Verzeichnis. Leer deaktiviert Remote-Whole-Bundle-Upgrades.
ONGRID_INSTALL_WAITint20Sekunden, die der curl-pipe-Installer das Journal pollt und auf „registered with cloud" wartet.

Embedding & RAG

VariableTypStandardBeschreibung
ONGRID_EMBEDDING_PROVIDERstringzhipuzhipu (Standard; ruft GLM-Embedding-API auf), local (verwendet ein On-Disk-bge-Modell), openai (verwendet OpenAI-Embeddings).
ONGRID_EMBEDDING_LOCAL_MODEL_PATHstringleerAbsoluter Pfad zum lokalen Modell, wenn PROVIDER=local. Das Release-Tarball staget bge-base-en-v1.5 unter .cache/.
ONGRID_VAULT_REPO_URLstringhttps://github.com/ongridio/vaultUpstream-Vault-Repository, aus dem der Manager Basiswissen zieht. Für Air-Gapped-Mirrors überschreiben.

Locale & sonstiges

VariableTypStandardBeschreibung
ONGRID_DEFAULT_LOCALEstringenDefault-Locale für automatische LLM-Ausgaben (Alarm-Investigations, geplante Zusammenfassungen). UI-getriggerter Chat verwendet stattdessen die UI-Locale des Benutzers.

Siehe auch

  • REST API — Endpunkte, die diese Env-Variablen verdrahten.
  • CLI — die Command-Line-Flags der beiden Binaries.
  • Telemetrie-Datenebene — warum sich Log-/Trace-Endpunkte vom Tunnel unterscheiden.
  • Architektur — wo jede Env-Variable im Stack-Diagramm lebt.