Платформы
Ongrid отгружает два бинаря с очень разными platform-историями.
ongrid(cloud manager) — это Linux + Docker нагрузка. Он предназначен жить в контейнере, за nginx, с MySQL под ним. Нет first-class Windows или macOS server-сборки.ongrid-edge(edge-агент) — это единый статический бинарь, который запускается на каждом хосте, который вы хотите наблюдать. Он кросс-компилируется на четыре target'а из коробки: Linux на amd64 / arm64 и macOS на amd64 / arm64. Production-grade установка только на Linux + systemd; macOS target'ы существуют, чтобы разработчики могли запускать агента на своём ноутбуке во время итерации.
Матрица поддержки
| Компонент | linux/amd64 | linux/arm64 | darwin/amd64 | darwin/arm64 | Windows |
|---|---|---|---|---|---|
ongrid (manager image) | да | tested as build target | нет | нет | нет |
ongrid-edge (бинарь, supervised) | да | да | dev-only, manual | dev-only, manual | нет |
promtail плагин (логи) | да | да | нет (upstream gap) | нет (upstream gap) | нет |
node_exporter плагин (host-метрики) | да | да | нет (upstream gap) | нет (upstream gap) | нет |
process-exporter плагин (proc-метрики) | да | да | нет (upstream gap) | нет (upstream gap) | нет |
otelcol-contrib плагин (трейсы) | да | да | нет (не bundled) | нет (не bundled) | нет |
Четыре edge cross-compile target'а приходят прямо из Makefile:
build-edge-linux-amd64
build-edge-linux-arm64
build-edge-darwin-amd64
build-edge-darwin-arm64make build-edge-all запускает все четыре; make package производит release-tarball, который bundle'ит каждый target плюс Linux-only plugin-бинари.
Почему нет Windows / BSD edge?
Сам агент чисто Go и компилировался бы чисто; gap — это plugin-bundle. promtail, node_exporter, process-exporter и otelcol-contrib — все отгружают Linux-only артефакты в их upstream-релизах. Без этих четырёх панели Logs / Monitor / Traces остаются пустыми даже после того, как агент подключён. Мы предпочли бы не отгружать half-working установку, чем носить hidden-disabled платформу.
Если у вас сильный Windows или FreeBSD use case, откройте issue на github.com/ongridio/ongrid — pluggable bundlers отслеживаются под ADR-015.
Требования на стороне cloud
Везде, где вы можете запустить Docker Engine 24+ и Docker Compose v2, будет hosting manager. Мы тестируем на:
- Ubuntu 22.04 LTS, 24.04 LTS
- Debian 12 (bookworm)
- RHEL 9, Rocky Linux 9, AlmaLinux 9
Memory floor: 4 GB. Disk floor: 20 GB (большая часть которого — Prometheus + Loki retention, см. Linux (сервер)).
Требования на стороне edge
Официальный curl-pipe installer (deploy/install/edge/install.sh) явно обрабатывает только Linux:
if [[ "$OS" != "linux" ]]; then
log_error "only linux is supported by this installer; got: $OS"
exit 1
fiЭтот installer кладёт systemd-юнит (/etc/systemd/system/ongrid-edge.service), создаёт системного пользователя ongrid-edge и контролирует агента через systemd с Restart=always. macOS-хосты всё ещё могут запускать бинарь вручную для разработки — см. macOS (edge dev) — но вы не получаете supervised сервис, journald log-source или plugin-bundle.
Выбор правильной страницы
- Установка manager? → Linux (сервер)
- Установка edge-агента на реальном Linux-хосте? → Linux (edge)
- Запуск агента на Mac для разработки? → macOS (edge dev)
- Развёртывание всего на Kubernetes? → Kubernetes
- Air-gapped или приватный container-registry? → Air-gapped / on-prem
Политика версионирования
Manager и агент делят единый VERSION файл (/Users/.../ongrid/VERSION) и релизятся как один tarball. Edge-агент старше своего manager'а продолжит работать: каждый tunnel RPC versioned, и manager трактует неизвестные reply-поля как zero-значения. Edge-агент новее своего manager'а — не поддерживается — апгрейдите manager сначала.
См. Апгрейд для staged-swap-then-rollback модели (ADR-024).