Air-gapped установка
Ongrid спроектирован для полностью offline-установки. Каждый release-tarball отгружает:
ongridmanager docker-образ,ongrid-web(frontend + nginx) docker-образ,singchia/frontierbroker docker-образ,- Четыре edge plugin-бинаря (
promtail,otelcol-contrib,node_exporter,process_exporter) дляlinux/amd64иlinux/arm64, - Per-arch
ongrid-edgeбинари, - Опциональную offline embedding-модель (
fast-bge-small-zh-v1.5) для базы знаний, если вы запустилиmake fetch-embedding-modelдоmake package.
Ничто не pulls из Docker Hub, GitHub или любого vendor API во время установки. Единственные внешние зависимости в рантайме — это LLM API эндпоинты, которые вы сконфигурировали — для полностью air-gapped setup направьте их на on-prem vLLM / Ollama / OpenRouter relay.
Эта страница покрывает workflow для окружений, которые не могут дотянуться до публичного интернета.
Скачать tarball на подключённом хосте
На рабочей станции с интернетом:
VER=v0.7.159
gh release download "$VER" \
--repo ongridio/ongrid \
-p 'ongrid-*-linux-amd64.tar.xz*'Вы получите два файла:
ongrid-v0.7.159-linux-amd64.tar.xz # ~380 MB (xz compressed)
ongrid-v0.7.159-linux-amd64.tar.xz.sha256 # sidecarGitHub-загрузки через Clash
Большие release-assets ресетятся на полпути через Clash-прокси. Если вы скачиваете и tarball заканчивается коротким, попробуйте NO_PROXY=objects.githubusercontent.com напрямую. Всегда верифицируйте sha256 (см. следующий шаг).
Верифицировать sha256
До того как делать что-либо ещё:
sha256sum -c ongrid-v0.7.159-linux-amd64.tar.xz.sha256
# → ongrid-v0.7.159-linux-amd64.tar.xz: OKЕсли это падает, не продолжайте. Перескачайте.
Перенести на air-gapped хост
Какой путь одобрен на вашем сайте. USB-ключ, внутренний artefact- репозиторий, SFTP через jumpbox. Два файла путешествуют вместе; вы можете перепроверить sha256 после переноса.
# On the destination host:
sha256sum -c ongrid-v0.7.159-linux-amd64.tar.xz.sha256Установить
Так же, как установка сервера — флаги не требуются для air-gapped, installer никогда не дотягивается наружу:
tar xf ongrid-v0.7.159-linux-amd64.tar.xz
cd ongrid-v0.7.159-linux-amd64
sudo ./install.shinstall.sh делает:
docker loadтрёх bundled-образов (images/ongrid.tar,images/frontier.tar,images/ongrid-web.tar).- Stage'ит конфиги, настраивает host data dirs, генерирует self-signed TLS- сертификат (использует локальный
openssl; внешний CA не нужен). - Подключает
.envиз template, генерирует сильные случайные секреты in-place, спрашиваетONGRID_PUBLIC_URL. docker compose up -d, polls/healthz.
Вы не должны видеть никаких строк лога «downloading...».
Hosting install URL on-prem
Когда edge'и устанавливают сами себя, они curl https://<manager>/install.sh | bash. install.sh, который они fetch'ат, сервится самим manager — конкретно nginx из /opt/ongrid/edge/install.sh. В пути edge-установки нет GitHub или другой внешней зависимости.
Тот же nginx сервит:
| Путь на nginx | Что |
|---|---|
/install.sh | Edge install.sh скрипт. |
/edge/ongrid-edge-linux-amd64 | Бинарь edge-агента. |
/edge/ongrid-edge-linux-arm64 | То же, arm64. |
/edge/promtail-linux-amd64 | Plugin-бинарь. |
/edge/otelcol-contrib-linux-amd64 | Plugin-бинарь. |
/edge/node_exporter-linux-amd64 | Plugin-бинарь. |
/edge/process_exporter-linux-amd64 | Plugin-бинарь. |
/edge/apply-pending-upgrade.sh | ADR-024 ExecStartPre hook. |
/edge/edge-bundle-linux-amd64-<ver>.tar.gz | Upgrade-bundle. |
/edge/edge-bundle-linux-amd64-<ver>.tar.gz.sha256 | Sidecar. |
Все они приземляются в /opt/ongrid/edge/, когда install.sh запускается, и сервятся read-only nginx-контейнером. Больше ничего не требуется.
Edge-установка (air-gapped)
Стандартный однострочник работает, пока edge может дотянуться до manager:
curl -k -sSL https://manager.internal/install.sh | sudo bash -s -- \
--access-key=AK_xxxxxxxxxxxxxxxx \
--secret-key=SK_yyyyyyyyyyyyyyyy \
--server-edge-addr=manager.internal:40012 \
--server-http-addr=manager.internal:443Если у вас есть edge-хост, который не может дотянуться до manager напрямую, но может дотянуться до внутреннего artefact-зеркала, вы можете:
- Зеркалировать пути
/install.sh,/edge/*manager'а на ваш внутренний webserver. - Запустить однострочник, указывающий на URL этого зеркала.
- Агенту всё ещё понадобятся
--server-edge-addrи--server-http-addr, указывающие на реальный manager — зеркало hosts только install-артефакты, не туннель.
Это полезно для setup'ов «edge может разговаривать с manager только по TCP 40012 + curated-набор портов», где TCP 443 к manager недоступен, но корпоративный webserver — да.
Плоскости данных всё ещё нужен HTTPS к manager
Логи и трейсы пушат напрямую от каждого edge на https://<manager>/loki/api/v1/push и https://<manager>/v1/traces. Если ваш edge не может дотянуться до manager по 443, эти плагины завалятся. Сам агент будет выглядеть здоровым (ему нужен только 40012), но плоскость данных будет молчать — убедитесь, что 443 открыт на edge → manager пути.
Air-gapped model providers
Дефолтные ONGRID_*_API_KEY= slot'ы указывают на vendor-URL (OpenAI, Anthropic, Zhipu, …). Чтобы оставаться air-gapped, сконфигурируйте Custom (OpenAI-совместимый) provider в Settings → Models, указывающий на ваш on-prem relay:
- vLLM —
OPENAI_API_BASE=http://vllm.internal:8000/v1с dummyOPENAI_API_KEY. - Ollama —
OPENAI_API_BASE=http://ollama.internal:11434/v1. - LocalAI / LMStudio — тот же паттерн.
- OpenRouter (on-prem) — вставьте base URL вашего relay.
Агенту неважно; OpenAI-совместимый wire-формат универсален. Затем поставьте новый provider как Default provider, чтобы все back-end вызовы (alert investigation, translate, summarize) использовали его.
См. запись Custom (OpenAI-совместимый) под Models в сайдбаре.
Air-gapped база знаний (синхронизация vault без GitHub)
Встроенный vault синхронизируется из github.com/ongridio/vault при первом запуске. Air-gapped сайты не могут дотянуться до GitHub. Два варианта:
Option A — отгрузить vault inline
Release-tarball включает baseline-snapshot vault как часть образа. При первом запуске manager копирует его в Qdrant напрямую — сеть не нужна. Вы получите baseline (последняя полностью публичная синхронизация на момент release-tag), но не увидите новые playbook, пока не апгрейдите manager.
Option B — зеркалировать vault-репозиторий внутренне
- На подключённом хосте, склонируйте публичный vault:bash
git clone --bare https://github.com/ongridio/vault.git - Push на ваш внутренний Git-сервер:bash
git push --mirror git@git.internal:ops/vault.git - В Settings → Knowledge → Vault поставьте sync URL на
git@git.internal:ops/vault.gitи вставьте SSH deploy key. Manager используетGIT_SSH_COMMAND, чтобы привязать ключ — см. ADR-023.
Manager пере-синхронизирует vault on demand из UI (кнопка «Sync vault»). Каждый pull — это git fetch против сконфигурированного remote; GitHub-специфичного кода в пути нет.
Апгрейды, air-gapped
Так же, как начальная установка, интернет не нужен во время установки. Поток:
- На подключённой рабочей станции:
gh release download v0.7.160 ...и верифицировать sha256. - Перенести tarball.
- На air-gapped хосте:bash
tar xf ongrid-v0.7.160-linux-amd64.tar.xz cd ongrid-v0.7.160-linux-amd64 sudo ./upgrade.sh - Из UI, Edges → Upgrade all — edge'и fetch'ат новый bundle с
https://<manager>/edge/edge-bundle-linux-amd64-v0.7.160.tar.gzи применяют его через стандартный flow stage-then-swap ADR-024.
Нет шага, которому нужен интернет, кроме рабочей станции, которая скачивает tarball.
См. апгрейд для жутких деталей.
Что дальше
- Models / Custom (OpenAI-совместимый) — подключение vLLM / Ollama / on-prem relay как default provider (см. Models в сайдбаре).
- Возможность базы знаний — что vault содержит и как добавить свои runbook.
- On-prem платформа — более широкие заметки про on-prem / air-gapped развёртывания, включая SELinux, кастомные CA, исходящий прокси.