Getting started

MLOps.dev Documentation

From curl install to your first edge deployment in under 10 minutes. No Kubernetes. No YAML manifests. Just a 7.4MB binary and a CLI.

Early access: These docs cover the current private beta. Join the waitlist to get access. Questions? Email hello@mlops.dev.

1. Install the agent

Run this on your edge device. Works on any Linux ARM or x86-64 system with 256MB+ RAM.

BASH
# One-line install curl -fsSL get.mlops.dev | sh # Verify installation mlops --version # mlops-agent v0.6.0 linux/arm64 # Check device is registered mlops status
The install script detects your architecture (arm64, armv7, amd64) and downloads the correct binary. The agent binary is 7.4MB, statically compiled with musl libc — no runtime dependencies.

2. Push your first model

From your development machine, register a model and deploy it to your device.

BASH
# Authenticate mlops login # Register a model (ONNX, TFLite, or TensorRT) mlops push ./model.onnx --name defect-detector --tag v1.0 # Deploy to your device mlops deploy defect-detector:v1.0 --target device-id-here # Check deployment status mlops status --fleet
PYTHON SDK
import mlops client = mlops.Client(api_key="your-api-key") # Register model model = client.models.push( path="./model.onnx", name="defect-detector", tag="v1.0" ) # Deploy deployment = client.deploy( model="defect-detector:v1.0", target="jetson-prod-01" ) print(deployment.status)

The edge agent

The mlops-agent is a single statically-compiled Go binary that runs on your edge device. It owns the deployment loop — the control plane signals desired state, the agent reconciles.

PropertyValue
Binary size7.4MB (arm64 production build)
RAM usage~14MB at steady state
Startup time<200ms
Architecturesarm64, armv7, amd64
OSAny Linux, kernel 4.9+
LicenseApache 2.0
Sourcegithub.com/Raghunath2604/Raghunath2604-mlops-dev/Raghunath2604-mlops-dev

Offline-first sync

The agent uses a pull-based idempotent sync protocol. It polls the control plane for desired state every 30 seconds and reconciles itself. During outages, it buffers telemetry locally in SQLite and flushes on reconnect.

  • Tested: 6-hour outage on 2G connection. Zero data loss.
  • Delta compression: 95.7% smaller update packages (bsdiff).
  • Buffer cap: 500MB local SQLite, discards oldest records when full.

Drift detection

Statistical drift detection runs on the device itself using KL divergence on the input distribution, compared against a baseline captured at deployment time.

AGENT CONFIG (mlops.yaml)
drift: enabled: true method: kl_divergence window_size: 200 # inferences in rolling window check_every: 100 # recompute every N inferences warn_threshold: 0.4 # KL divergence warning level alert_threshold: 0.7 # KL divergence alert level alert_webhook: "" # optional: Slack/PagerDuty URL monitors: - input_distribution - output_confidence
KL drift detection adds ~60 microseconds average overhead per inference at 30fps. On a Jetson Nano, the full computation takes under 2ms.

Canary deployments

Stage model updates across your fleet by hardware class. Health gates automatically halt rollout if accuracy drops or latency increases beyond thresholds.

BASH
# Staged rollout by hardware class mlops deploy defect-detector:v2.0 --stage "hw_class=jetson_orin,count=1" --stage "hw_class=jetson_orin,pct=100" --stage "hw_class=jetson_nano,pct=25" --stage "hw_class=all,pct=100" --health-gate "accuracy_delta=-0.03" --health-gate "latency_delta=+0.20" --stage-interval 30m # Monitor rollout mlops rollout status # Manual rollback if needed mlops rollback --to defect-detector:v1.0

CLI reference

CommandDescription
mlops loginAuthenticate with the control plane
mlops push <file>Register a model file in the registry
mlops deploy <model:tag>Deploy a model version to fleet
mlops rollbackRoll back fleet or device to previous version
mlops statusShow fleet health, device list, model versions
mlops devices listList all registered devices
mlops driftShow drift scores across fleet
mlops logs <device-id>Stream device event log
mlops config setUpdate agent configuration

Agent configuration

/etc/mlops/mlops.yaml
agent: device_id: "" # auto-generated on first run api_endpoint: "https://api.mlops.dev" api_key: "" # from dashboard → Settings heartbeat_interval: 30s sync_interval: 30s telemetry_buffer_mb: 500 models: runtime: auto # auto | onnx | tflite | tensorrt model_dir: /opt/mlops/models drift: enabled: true warn_threshold: 0.4 alert_threshold: 0.7 logging: level: info # debug | info | warn | error output: journald # journald | file | stdout

Supported hardware

DeviceClass tagNotes
NVIDIA Jetson Orin NX/AGXjetson_orinTensorRT INT8 recommended
NVIDIA Jetson Nanojetson_nanoTFLite FP32 or ONNX
Raspberry Pi 5 / 4Brpi5 / rpi4TFLite INT8 recommended
Raspberry Pi Zero 2Wrpi_zeroMinimal mode, 6MB agent
Google Coral Dev BoardcoralEdge TPU delegate
x86-64 industrial PCx86_64Full feature set
Custom ARM Cortex-Aarm_customRequires Linux kernel 4.9+

Model formats

FormatBest forLatency (Jetson Orin)
TensorRT INT8Jetson GPU — maximum throughput3.8ms · 263fps
TensorRT FP16Jetson GPU — accuracy-critical6.1ms · 163fps
ONNX (CUDA)Jetson GPU — cross-platform11.4ms · 87fps
TFLite INT8CPU-only ARM, bandwidth constrained19.2ms · 52fps
ONNX (CPU)Mixed fleet, single file48.2ms · 20fps
TensorRT engines are device-specific. A TRT engine compiled for Jetson Orin will not run on Jetson Nano. Register hardware-specific variants using mlops push --variant and the agent selects the correct file automatically.

Compliance & audit logs

Every deployment event, drift alert, and rollback is recorded in an immutable audit log. Required for FDA SaMD (21 CFR Part 11), ISO 13485, and CE MDR Article 10.

BASH — Export audit log
# Export audit log for a device (JSON or CSV) mlops audit export --device jetson-prod-01 --from 2025-01-01 --to 2025-07-15 --format csv --output audit-q1q2.csv

Enterprise customers receive IQ/OQ/PQ documentation templates and a dedicated ML infrastructure engineer for FDA/CE submission support. Email hello@mlops.dev.

REST API

Base URL: https://api.mlops.dev/v1. All requests require Authorization: Bearer <api_key>.

EndpointDescription
GET /devicesList all registered devices
GET /devices/:idDevice status, model version, drift score
GET /modelsList model registry
POST /modelsRegister a new model version
POST /deploymentsCreate a deployment
GET /deployments/:idDeployment status and stage progress
POST /deployments/:id/rollbackTrigger rollback
GET /driftDrift scores across fleet
GET /auditAudit log (paginated)
GET /healthAPI health check
Full API reference with request/response schemas is available to waitlist members. Join the waitlist →