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).