環境変数
ongrid と ongrid-edge の両方とも、環境変数のみで設定されます。YAML なし。正典の配線は internal/pkg/config/config.go と deploy/docker-compose.yml の compose env ブロックにあります。下のすべての変数は起動時に読まれます。manager はホットリロードしません。
テーブルはサブシステムで変数をグループ化します。表示されるデフォルトは変数が未設定または空のときバイナリが選ぶものです。「必須」は「列 1 の機能がこれなしでは動かない」を意味します。
HTTP & メトリクスリスナー
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_HTTP_ADDR | string | :8080 | API + SPA 用 TCP リッスン。compose スタックの nginx がここに /api/* をプロキシ。 |
ONGRID_METRICS_ADDR | string | :9100 | /metrics 用 TCP リッスン。Prometheus がスクレイプ。 |
ONGRID_TUNNEL_ADDR | string | :40012 | Geminio broker リッスン。manager 自身ではなく frontier サービスがバインド。 |
ONGRID_PUBLIC_URL | string | 空 | manager が edge にデータプレーンエンドポイント(ログ/トレース取り込み、edge バンドルダウンロード)として渡す正典 https://... URL。空でデータプレーンプラグインエンドポイントを無効化。本番ではこれを設定。 |
データベース(デフォルト MySQL、SQLite オプトイン)
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_DB_DIALECT | string | mysql | mysql(デフォルト)または sqlite。空は mysql 扱い。 |
ONGRID_DB_DSN | string | ongrid:ongrid@tcp(127.0.0.1:3306)/ongrid?parseTime=true&charset=utf8mb4&loc=Local | MySQL DSN。本番で必須。 |
ONGRID_DB_PATH | string | ./data/ongrid.db | SQLite データベースファイルパス。テストで :memory: 受け入れ。 |
JWT(iam)
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_JWT_SECRET | string | dev-insecure-secret-change-me | アクセス + リフレッシュトークンの HS256 署名キー。必須。デフォルトは本番ビルドでトークン発行を拒否。 |
ONGRID_JWT_ACCESS_TTL | duration | 15m | アクセストークン TTL。 |
ONGRID_JWT_REFRESH_TTL | duration | 168h(7d) | リフレッシュトークン TTL。 |
duration は Go の time.ParseDuration 構文を受け入れます(15m、2h、30s)。裸の整数は秒として解釈されます。
LLM プロバイダー
チャットエージェントは 6 つのファーストクラスプロバイダー + Custom(OpenAI 互換)スロットをサポートします。各プロバイダーは API キーでゲートされます —— 空キー = プロバイダーはチャットピッカーに表面化されない。
OpenAI
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_OPENAI_API_KEY | string | 空 | OpenAI API キー。空 = OpenAI がピッカーから隠される。 |
ONGRID_OPENAI_MODEL | string | gpt-5.4 | OpenAI が選ばれたプロバイダーのときのデフォルトモデル。 |
ONGRID_OPENAI_BASE_URL | string | 空 | OpenAI 互換リレー(Azure / vLLM / Ollama / one-api)用ベース URL オーバーライド。 |
Anthropic、Zhipu、Gemini、DeepSeek、Kimi
各プロバイダーは同じ 3 つのキー(API キー / デフォルトモデル / ベース URL)と 4 つ目(MODELS、選択可能モデルスラッグのカンマ区切りリスト)を持ちます:
| 変数 | デフォルト |
|---|---|
ONGRID_ANTHROPIC_API_KEY | 空 |
ONGRID_ANTHROPIC_MODEL | claude-sonnet-4-6 |
ONGRID_ANTHROPIC_BASE_URL | 空 |
ONGRID_ANTHROPIC_MODELS | claude-opus-4-7,claude-sonnet-4-6,claude-haiku-4-5 |
ONGRID_ZHIPU_API_KEY | 空 |
ONGRID_ZHIPU_MODEL | glm-4.7 |
ONGRID_ZHIPU_BASE_URL | 空 |
ONGRID_ZHIPU_MODELS | glm-5.1,glm-5,glm-4.7,glm-4.7-flash |
ONGRID_GEMINI_API_KEY | 空 |
ONGRID_GEMINI_MODEL | gemini-2.5-pro |
ONGRID_GEMINI_BASE_URL | 空 |
ONGRID_GEMINI_MODELS | gemini-3.5-flash,gemini-2.5-pro,gemini-2.5-flash |
ONGRID_DEEPSEEK_API_KEY | 空 |
ONGRID_DEEPSEEK_MODEL | deepseek-v4-flash |
ONGRID_DEEPSEEK_BASE_URL | 空 |
ONGRID_DEEPSEEK_MODELS | deepseek-v4-pro,deepseek-v4-flash,deepseek-reasoner |
ONGRID_KIMI_API_KEY | 空 |
ONGRID_KIMI_MODEL | kimi-k2.6 |
ONGRID_KIMI_BASE_URL | 空 |
ONGRID_KIMI_MODELS | kimi-k2.6,kimi-k2.5,moonshot-v1-128k |
ルーティングとバジェット
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_LLM_DEFAULT_PROVIDER | string | 空 | リクエストが指定しないとき使われるプロバイダー。空 = 最初の設定済みプロバイダー(アルファベット順)。特定プロバイダーをサイトデフォルトにしたいときに設定。 |
ONGRID_LLM_DAILY_TOKEN_LIMIT | int | 0 | グローバル UTC 日ごとトークン上限。0 = 無制限。 |
エージェントカーネルとツール
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_AGENT_KERNEL | string | graph | graph で eino グラフカーネル + SkillRegistry.Resolve アクティベーションキーワードフィルター + ToolBag 遅延パイプラインを有効化。legacy は古い for ループランナーで、全ツール常にフルスキーマ。bisect のためだけに legacy にひっくり返す。 |
ONGRID_TOOLBAG_DEFERRAL_THRESHOLD | int | 30 | これ以上のツール数でスペシャリティ tier ツールが編集されたスキーマを得る(LLM が展開には ToolSearch を呼ぶ必要あり)しきい値。 |
ONGRID_SKILLS_EXTERNAL_DIRS | csv | 空 | スキルローダーが skill.json マニフェストを走査するカンマ/コロン区切り絶対パス。各々絶対であること。相対または欠落エントリはログ行でスキップ。 |
Frontier broker クライアント
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_FRONTIER_ADDR | string | frontier:40011 | manager がダイヤルする上流 frontier broker のサービスバインドリッスン。 |
ONGRID_FRONTIER_SERVICE_NAME | string | ongrid-manager | 接続時に報告される識別子。 |
ONGRID_FRONTIER_DISABLED | bool | false | 長命のサービスエンドダイヤルを完全にスキップ。e2e ハーネス用 —— broker を要求する機能(webssh、edge 逆呼び出し)は呼び出し場所でエラー。 |
クラウド側 Prometheus
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_PROM_ENABLED | bool | false | Prometheus 配線をゲート。false で manager はメトリクスストレージなしで動く。push_prom_samples はサイレントドロップ、query_promql はツールとして登録されない。 |
ONGRID_PROM_URL | string | http://prometheus:9090 | Prom サーバールート URL。 |
ONGRID_PROM_REMOTE_WRITE_URL | string | 空 | 上流が /api/v1/write にルートされていないとき(Mimir / Cortex / VictoriaMetrics ゲートウェイ)の正確な remote_write エンドポイント。 |
ONGRID_PROM_QUERY_URL | string | 空 | query_promql 用クエリ API ルート。空で ONGRID_PROM_URL にフォールバック。 |
ONGRID_PROM_TLS_INSECURE | bool | false | TLS 証明書検証をスキップ。 |
ONGRID_PROM_TLS_CA_FILE | string | 空 | TSDB の証明書検証に使われるルート CA の PEM ファイル。空 = システムルート。 |
Grafana
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_GRAFANA_INTERNAL_URL | string | http://grafana:3000/grafana | docker ネットワーク経由で manager が Grafana に届く URL。 |
ONGRID_GRAFANA_BOOTSTRAP_USER | string | admin | ongrid サービスアカウント + トークンを自動作成するのに使うワンタイム admin ユーザー。 |
ONGRID_GRAFANA_BOOTSTRAP_PASSWORD | string | 空 | ブートストラップパスワード。空でブートストラップ無効(UI で手動作成 SA トークンを貼り付け)。 |
ONGRID_GRAFANA_TLS_INSECURE | bool | false | ブートストラップ呼び出し用証明書検証スキップ。 |
ONGRID_GRAFANA_ROOT_URL | string | %(protocol)s://%(domain)s/grafana/ | GF_SERVER_ROOT_URL に転送。 |
ログとトレース(データプレーン)
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_LOG_QUERY_URL | string | http://loki:3100 | manager が query_range / labels / values で話す Loki API ルート。空で Logs ページが 503。 |
ONGRID_TRACE_QUERY_URL | string | http://tempo:3200 | /api/search、/api/traces/<id>、/api/search/tag/<tag>/values 用 Tempo HTTP リッスンルート。空で Traces ページが 503。 |
edge データプレーンエンドポイント(ログ / トレースプラグインが POST する場所)は ONGRID_PUBLIC_URL から派生します。テレメトリデータプレーン 参照。
組み込みアラートしきい値
これらがホストメトリクスクローズドセット上の正典 4 組み込みルールを駆動します。0 で無効化。
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_ALERT_ENABLED | bool | true | 組み込みホストアラート評価のマスタースイッチ。 |
ONGRID_ALERT_COOLDOWN | duration | 10m | (edge, rule) ごとクールダウン。このウィンドウ内の通知は抑制。 |
ONGRID_ALERT_CPU_PERCENT | float | 90 | cpu_pct >= threshold で発火。 |
ONGRID_ALERT_MEM_PERCENT | float | 90 | mem_pct >= threshold で発火。 |
ONGRID_ALERT_DISK_USED_PERCENT | float | 90 | disk_used_pct >= threshold で発火。 |
ONGRID_ALERT_LOAD1 | float | 0 | load1 >= threshold で発火。0 で無効(load はホスト形状で大きく異なり、有用なデフォルトがない)。 |
ONGRID_ALERT_EVAL_INTERVAL | duration | 5m | パイプライン evaluator が edge をスキャンし Prom にクエリする頻度。 |
ONGRID_ALERT_EDGE_OFFLINE_THRESHOLD | duration | 90s | これより古いハートビートで edge がオフラインとカウントされる。 |
ONGRID_ALERT_PROM_INGEST_FAIL_LIMIT | int | 5 | prom_ingest_fail が発火する連続 remote_write 失敗カウント。 |
通知
マスタースイッチ + 4 つの組み込みチャネルタイプ。UI 作成チャネルは独自の enabled フラグを持ち、これらの影響を受けません。
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_NOTIFY_ENABLED | bool | true | アウトバウンド通知のマスタースイッチ。 |
ONGRID_NOTIFY_DEFAULT_CHANNELS | csv | 空 | 呼び出し元が宛先を指定しないときに使われる順序付きチャネル名リスト。 |
ONGRID_NOTIFY_TIMEOUT | duration | 10s | チャネルごと送信タイムアウト。 |
ONGRID_NOTIFY_WEBHOOK_ENABLED | bool | false | env 設定 webhook チャネルを有効化。 |
ONGRID_NOTIFY_WEBHOOK_NAME | string | webhook | 表示名。 |
ONGRID_NOTIFY_WEBHOOK_URL | string | 空 | POST エンドポイント。 |
ONGRID_NOTIFY_WEBHOOK_SECRET | string | 空 | オプションの HMAC secret。 |
ONGRID_NOTIFY_SLACK_ENABLED | bool | false | env 設定 Slack チャネルを有効化。 |
ONGRID_NOTIFY_SLACK_NAME | string | slack | 表示名。 |
ONGRID_NOTIFY_SLACK_WEBHOOK_URL | string | 空 | Incoming Webhook URL。 |
ONGRID_NOTIFY_FEISHU_ENABLED | bool | false | env 設定 Larksuite / Feishu チャネルを有効化。 |
ONGRID_NOTIFY_FEISHU_NAME | string | feishu | 表示名。 |
ONGRID_NOTIFY_FEISHU_WEBHOOK_URL | string | 空 | カスタムボット URL。 |
ONGRID_NOTIFY_FEISHU_SECRET | string | 空 | 署名 secret。 |
ONGRID_NOTIFY_DINGTALK_ENABLED | bool | false | env 設定 DingTalk チャネルを有効化。 |
ONGRID_NOTIFY_DINGTALK_NAME | string | dingtalk | 表示名。 |
ONGRID_NOTIFY_DINGTALK_WEBHOOK_URL | string | 空 | カスタムボット URL。 |
ONGRID_NOTIFY_DINGTALK_SECRET | string | 空 | 署名 secret。 |
WeCom と Telegram チャネルには Settings → Channels UI から作成してください —— ファーストクラスですが env 設定ショートカットがありません。
ブートストラップ admin
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_ADMIN_EMAIL | string | 空 | ブートストラップ admin の email。空なら admin は seed されない。初回起動で UI から登録する必要あり。 |
ONGRID_ADMIN_PASSWORD | string | 空 | 初期パスワード。operator は初回ログインで変更が期待される。 |
edge エージェント
これらは ongrid-edge が消費します。インストーラが /etc/ongrid-edge/ongrid-edge.env に書き込みます。
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_EDGE_CLOUD_ADDR | string | 127.0.0.1:40012 | frontier broker host:port。エージェントが TLS でダイヤル。 |
ONGRID_EDGE_ACCESS_KEY | string | 空 | edge ごと access キー。UI で edge を作成したときに manager が発行。 |
ONGRID_EDGE_SECRET_KEY | string | 空 | マッチする secret。edge 作成時に一度だけ表示。UI でローテ。 |
ONGRID_EDGE_COLLECTOR_MODE | string | off | off(デフォルト。hostmetrics + procmetrics プラグインがメトリクスを処理)、auto(レガシー埋め込み + スクレイパー)、embedded(埋め込みプッシュのみ)、scrape(マルチターゲット HTTP スクレイパー)。 |
ONGRID_EDGE_SCRAPE_CONFIG_FILE | string | /etc/ongrid-edge/scrape.yaml | スクレイプ設定 YAML のパス。COLLECTOR_MODE=scrape のときのみ参照。 |
ONGRID_EDGE_COLLECTOR_INTERVAL | duration | 10s | 埋め込みコレクターがスナップショットする頻度。scrape モードは無視。 |
ONGRID_EDGE_PLUGIN_BIN_DIR | string | /usr/local/lib/ongrid-edge | プラグインバイナリ(promtail、otelcol-contrib、node_exporter、process_exporter)を保持するディレクトリ。 |
ONGRID_EDGE_PLUGIN_WORK_DIR | string | /var/lib/ongrid-edge/plugins | プラグインごとランタイム dir(設定、PID ファイル、キュースプール)。 |
ONGRID_EDGE_UPGRADE_STAGE_DIR | string | /var/lib/ongrid-edge/.upgrade | ADR-024 ステージドバンドルディレクトリ。空でリモート全バンドルアップグレードを無効化。 |
ONGRID_INSTALL_WAIT | int | 20 | curl-pipe インストーラが「registered with cloud」を待ってジャーナルをポーリングする秒数。 |
埋め込みと RAG
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_EMBEDDING_PROVIDER | string | zhipu | zhipu(デフォルト、GLM 埋め込み API を呼ぶ)、local(ディスク上 bge モデル)、openai(OpenAI 埋め込み)。 |
ONGRID_EMBEDDING_LOCAL_MODEL_PATH | string | 空 | PROVIDER=local のときのローカルモデルへの絶対パス。リリースタールボールは .cache/ 下に bge-base-en-v1.5 をステージ。 |
ONGRID_VAULT_REPO_URL | string | https://github.com/ongridio/vault | manager がベースラインナレッジを pull する上流 vault リポジトリ。エアギャップミラー用にオーバーライド。 |
ロケールその他
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONGRID_DEFAULT_LOCALE | string | en | 自動 LLM 出力(アラート調査、スケジュール要約)が使うデフォルトロケール。UI トリガーチャットは代わりにユーザーの UI ロケールを使用。 |
関連
- REST API —— これらの env vars が配線するエンドポイント。
- CLI —— 2 つのバイナリのコマンドラインフラグ。
- テレメトリデータプレーン —— なぜログ/トレースエンドポイントがトンネルと異なるか。
- アーキテクチャ —— 各 env var がスタック図のどこにあるか。