플랫폼
Ongrid 는 매우 다른 플랫폼 이야기를 가진 두 바이너리를 출하합니다.
ongrid(클라우드 매니저) 는 Linux + Docker 워크로드입니다. 컨테이너 안에, nginx 뒤에, MySQL 아래에서 살도록 의도되어 있습니다. 일급 Windows 또는 macOS 서버 빌드는 없습니다.ongrid-edge(edge 에이전트) 는 관측하려는 모든 호스트에서 실행되는 단일 정적 바이너리입니다. 박스 그대로 네 타깃으로 크로스 컴파일됩니다: amd64 / arm64 의 Linux 와 amd64 / arm64 의 macOS. 프로덕션급 설치는 Linux + systemd 만; macOS 타깃은 개발자가 반복 중 랩탑에서 에이전트를 실행할 수 있도록 존재합니다.
지원 매트릭스
| Component | linux/amd64 | linux/arm64 | darwin/amd64 | darwin/arm64 | Windows |
|---|---|---|---|---|---|
ongrid (매니저 이미지) | yes | 빌드 타깃으로 테스트됨 | no | no | no |
ongrid-edge (바이너리, 감독됨) | yes | yes | dev 전용, 수동 | dev 전용, 수동 | no |
promtail 플러그인 (로그) | yes | yes | no (업스트림 갭) | no (업스트림 갭) | no |
node_exporter 플러그인 (호스트 메트릭) | yes | yes | no (업스트림 갭) | no (업스트림 갭) | no |
process-exporter 플러그인 (proc 메트릭) | yes | yes | no (업스트림 갭) | no (업스트림 갭) | no |
otelcol-contrib 플러그인 (트레이스) | yes | yes | no (번들 안 됨) | no (번들 안 됨) | no |
네 edge 크로스 컴파일 타깃은 바로 Makefile 에서 옴:
build-edge-linux-amd64
build-edge-linux-arm64
build-edge-darwin-amd64
build-edge-darwin-arm64make build-edge-all 가 네 개 모두 실행; make package 가 모든 타깃과 Linux 전용 플러그인 바이너리를 번들하는 릴리스 tarball 생성.
왜 Windows / BSD edge 가 없나?
에이전트 자체는 순수 Go 이고 깔끔하게 컴파일될 것; 갭은 플러그인 번들. promtail, node_exporter, process-exporter, otelcol-contrib 모두 업스트림 릴리스에서 Linux 전용 아티팩트를 출하. 그 넷 없이는 에이전트가 연결된 후에도 Logs / Monitor / Traces 패널이 비어 있게 됩니다. 숨겨진 비활성화 플랫폼을 운반하기보다 절반 동작 설치를 출하하지 않는 것을 선호합니다.
강한 Windows 또는 FreeBSD 사용 사례가 있다면 github.com/ongridio/ongrid 에 이슈 열기 — 플러그형 번들러는 ADR-015 에 추적됩니다.
클라우드 측 요구사항
Docker Engine 24+ 와 Docker Compose v2 를 실행할 수 있는 곳이면 매니저를 호스팅. 테스트:
- Ubuntu 22.04 LTS, 24.04 LTS
- Debian 12 (bookworm)
- RHEL 9, Rocky Linux 9, AlmaLinux 9
메모리 하한: 4 GB. 디스크 하한: 20 GB (대부분 Prometheus + Loki 보존, 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 unit (/etc/systemd/system/ongrid-edge.service) 을 두고, 시스템 사용자 ongrid-edge 를 만들고, Restart=always 와 함께 systemd 를 통해 에이전트 감독. macOS 호스트는 개발용으로 여전히 손으로 바이너리 실행 가능 — macOS (edge dev) 참고 — 그러나 감독 서비스, journald 로그 소스, 플러그인 번들을 얻지 못함.
올바른 페이지 선택
- 매니저 설치? → Linux (서버)
- 실제 Linux 호스트에 edge 에이전트 설치? → Linux (edge)
- 개발용으로 Mac 에서 에이전트 실행? → macOS (edge dev)
- Kubernetes 에 모든 것 배포? → Kubernetes
- 에어갭 또는 사설 컨테이너 레지스트리? → 에어갭 / on-prem
버전 정책
매니저와 에이전트는 단일 VERSION 파일 (/Users/.../ongrid/VERSION) 을 공유하고 하나의 tarball 로 릴리스. 매니저보다 오래된 edge 에이전트는 계속 동작: 모든 터널 RPC 는 버전화되고, 매니저는 알 수 없는 응답 필드를 zero 값으로 다룸. 매니저보다 새로운 edge 에이전트는 지원되지 않음 — 먼저 매니저를 업그레이드하세요.
stage-swap-then-rollback 모델 (ADR-024) 은 업그레이드 참고.