Multi-tenant infrastructure monitoring built in Rust. Lightweight agents on your servers, central control plane with PostgreSQL.
- System metrics — CPU, memory, disk, network
- Service monitoring — Docker containers, systemd units
- External checks — HTTP/HTTPS/TCP/DNS/TLS from central workers
- Incidents & uptime — state machine with configurable thresholds
- Remote agent config — versioned, signed, atomic apply
- Offline resilience — SQLite queue when server unreachable
- Multi-tenant — organizations, RBAC (owner/admin/operator/viewer)
- TLS 1.3 only (
rustls) - Ed25519 per-agent request signing (not Bearer-only)
- SHA-256 body checksum, timestamp + nonce anti-replay
- Server-signed remote configurations
- Argon2id passwords, JWT access/refresh tokens
# Prerequisites: Rust 1.85+, Docker
cp .env.example .env
docker compose up -d postgres
export DATABASE_URL=postgres://aether:aether@localhost:5432/aether
sqlx migrate run
cargo run -p aether-server --bin monitor-serverSee docs/development.md for full setup.
| Binary | Description |
|---|---|
monitor-server |
Central API and background workers |
monitor-agent |
Host monitoring daemon |
# Enroll an agent
monitor-agent enroll --server-url https://monitor.example.com --token <token>
monitor-agent run┌─────────────┐ HTTPS + Ed25519 ┌──────────────┐
│ monitor-agent│ ──────────────────────► │monitor-server│
│ (per host) │ │ (Axum API) │
└─────────────┘ └──────┬───────┘
│
┌──────▼───────┐
│ PostgreSQL │
└──────────────┘
| Document | Description |
|---|---|
| Architecture | System design, data flows, workers |
| Security | Threat model, auth, hardening |
| Agent Protocol | Wire format, signing, error codes |
| API | HTTP endpoints, RBAC |
| Database | Schema, partitions, retention |
| Deployment | Docker, systemd, production |
| Development | Local setup, testing |
| AGENTS.md | Contributor guide |
| Crate | Purpose |
|---|---|
aether-agent |
Agent binary + collectors |
aether-server |
Server binary + API |
aether-protocol |
Wire payloads + signing |
aether-domain |
Pure domain logic |
aether-database |
sqlx repositories |
aether-shared |
Errors, crypto, TLS |
aether-telemetry |
Tracing + metrics |
aether-test-utils |
Test helpers |
make check # fmt + clippy + test
make lint
make denyGNU Affero General Public License v3.0 or later — Copyright (c) 2026 HostNatPro.