Skip to content

Plateformes

Ongrid livre deux binaires avec des histoires de plateforme très différentes.

  • ongrid (le manager cloud) est une charge Linux + Docker. Il est censé vivre dans un conteneur, derrière nginx, avec MySQL en dessous. Il n'y a pas de build serveur Windows ou macOS de première classe.
  • ongrid-edge (l'agent edge) est un binaire statique unique qui tourne sur chaque host que vous voulez observer. Il cross-compile vers quatre cibles out of the box : Linux sur amd64 / arm64 et macOS sur amd64 / arm64. Install qualité production seulement sur Linux + systemd ; les cibles macOS existent pour que les développeurs puissent exécuter l'agent sur leur laptop en itérant.

Matrice de support

Composantlinux/amd64linux/arm64darwin/amd64darwin/arm64Windows
ongrid (image manager)ouitesté comme cible de buildnonnonnon
ongrid-edge (binaire, supervisé)ouiouidev-only, manueldev-only, manuelnon
Plugin promtail (logs)ouiouinon (trou upstream)non (trou upstream)non
Plugin node_exporter (métriques host)ouiouinon (trou upstream)non (trou upstream)non
Plugin process-exporter (métriques proc)ouiouinon (trou upstream)non (trou upstream)non
Plugin otelcol-contrib (traces)ouiouinon (pas embarqué)non (pas embarqué)non

Les quatre cibles de cross-compile edge viennent directement du Makefile :

text
build-edge-linux-amd64
build-edge-linux-arm64
build-edge-darwin-amd64
build-edge-darwin-arm64

make build-edge-all exécute les quatre ; make package produit le tarball de release qui empaquette chaque cible plus les binaires de plugin Linux-only.

Pourquoi pas d'edge Windows / BSD ?

L'agent lui-même est en Go pur et compilerait proprement ; le trou est le bundle de plugins. promtail, node_exporter, process-exporter et otelcol-contrib livrent tous des artefacts Linux-only dans leurs releases upstream. Sans ces quatre, les panels Logs / Monitor / Traces restent vides même après que l'agent est connecté. Nous préférons ne pas livrer une install à moitié fonctionnelle que porter une plateforme cachée-désactivée.

Si vous avez un cas d'usage Windows ou FreeBSD fort, ouvrez une issue sur github.com/ongridio/ongrid — les bundlers pluggables sont trackés sous ADR-015.

Exigences côté cloud

Partout où vous pouvez exécuter Docker Engine 24+ et Docker Compose v2 hébergera le manager. Nous testons sur :

  • Ubuntu 22.04 LTS, 24.04 LTS
  • Debian 12 (bookworm)
  • RHEL 9, Rocky Linux 9, AlmaLinux 9

Plancher mémoire : 4 Go. Plancher disque : 20 Go (la plupart est rétention Prometheus + Loki, voir Linux (serveur)).

Exigences côté edge

L'installer curl-pipe officiel (deploy/install/edge/install.sh) ne gère explicitement que Linux :

sh
if [[ "$OS" != "linux" ]]; then
    log_error "only linux is supported by this installer; got: $OS"
    exit 1
fi

Cet installer dépose un unit systemd (/etc/systemd/system/ongrid-edge.service), crée un utilisateur système ongrid-edge, et supervise l'agent via systemd avec Restart=always. Les hosts macOS peuvent encore exécuter le binaire à la main pour le développement — voir macOS (dev edge) — mais vous n'obtenez pas le service supervisé, la source de logs journald, ou le bundle de plugins.

Choisir la bonne page

Politique de versioning

Le manager et l'agent partagent un seul fichier VERSION (/Users/.../ongrid/VERSION) et sont releasés comme un seul tarball. Un agent edge plus ancien que son manager continuera à marcher : chaque RPC de tunnel est versionné, et le manager traite les champs de réponse inconnus comme valeurs zéro. Un agent edge plus récent que son manager est non supporté — upgradez le manager d'abord.

Voir Upgrade pour le modèle staged-swap-then-rollback (ADR-024).