Start here

Concepts

Short model of how MeteorCloud is put together. Deeper wiring: Architecture.

Three planes

PlaneRuns whereJob
Device planeOn each Linux device (meteorcli)Enroll, heartbeat, inventory, MQTT client
Data planeIn your cloud deploymentPlatform MQTT session to EMQX; forward inbound messages to the control plane
Control planeIn your cloud deploymentIdentity, organizations, device registry, artifacts, MQTT policy, operator API, PostgreSQL

The console is the operator UI. The browser talks only to the control-plane API.

Device (meteorcli)
    │  HTTPS enroll / heartbeat
    ├──────────────────────────────────► Control plane ──► PostgreSQL
    │                                         ▲
    │  MQTT status / metrics                  │ HTTP ingest
    └──────────────► EMQX ──► Data plane ─────┘
                           ◄── commands (via data plane publish)

Organizations

Everything fleet-related is scoped to an organization (tenant). Users join via memberships with a role. Optional access bindings limit a member to specific device groups.

See Identity and organizations and RBAC.

Devices

ConceptMeaning
Device typeHardware / software catalog entry (e.g. “Raspberry Pi 4”)
Device groupLogical set (e.g. “production”) — a device belongs to at most one
DeviceOne enrolled machine; identity is its UUID
Registration tokenOne-time (or limited-use) secret an admin issues for meteorcli register
Enrollment API keyOrg-scoped key so a device can request-token without a pre-created token

Connectivity for operators is mainly last_seen_at from heartbeats; MQTT online/offline is separate when MQTT is enabled.

Artifacts

Deployable files (OS image, firmware, compose bundle, …). Metadata lives in PostgreSQL; bytes live in filesystem or S3-compatible storage. See Artifacts.

MQTT (optional)

Off by default. When enabled, devices get per-device MQTT credentials at enroll/claim time, connect over TLS, and publish only to ACL-allowed topics. The data plane ingests those payloads into the control plane. See MQTT.

Concepts · MeteorCloud