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
| Composant | linux/amd64 | linux/arm64 | darwin/amd64 | darwin/arm64 | Windows |
|---|---|---|---|---|---|
ongrid (image manager) | oui | testé comme cible de build | non | non | non |
ongrid-edge (binaire, supervisé) | oui | oui | dev-only, manuel | dev-only, manuel | non |
Plugin promtail (logs) | oui | oui | non (trou upstream) | non (trou upstream) | non |
Plugin node_exporter (métriques host) | oui | oui | non (trou upstream) | non (trou upstream) | non |
Plugin process-exporter (métriques proc) | oui | oui | non (trou upstream) | non (trou upstream) | non |
Plugin otelcol-contrib (traces) | oui | oui | non (pas embarqué) | non (pas embarqué) | non |
Les quatre cibles de cross-compile edge viennent directement du Makefile :
build-edge-linux-amd64
build-edge-linux-arm64
build-edge-darwin-amd64
build-edge-darwin-arm64make 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 :
if [[ "$OS" != "linux" ]]; then
log_error "only linux is supported by this installer; got: $OS"
exit 1
fiCet 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
- Installer le manager ? → Linux (serveur)
- Installer un agent edge sur un vrai host Linux ? → Linux (edge)
- Exécuter l'agent sur un Mac pour le développement ? → macOS (dev edge)
- Déployer tout sur Kubernetes ? → Kubernetes
- Air-gappé ou registry de conteneur privé ? → Air-gappé / on-prem
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).