-
-
Notifications
You must be signed in to change notification settings - Fork 0
API Reference
Trove exposes a small HTTP API.
The API is used by the dashboard and agents. It is also useful for scripts.
Only report ingest requires authentication.
Use:
Authorization: Bearer trove_...Health check endpoint.
Example:
curl http://SERVER:8080/healthzUse this for container health checks, reverse proxy checks, and uptime monitoring.
Agent report ingest endpoint.
Requires bearer token.
Request body is a model.Report JSON object.
Simplified example:
{
"agent": {
"name": "docker-nuc01",
"platform": "docker",
"version": "0.7.0",
"interval_seconds": 30
},
"host": {
"hostname": "nuc01",
"meta": {
"docker_version": "26.1.0"
}
},
"services": [
{
"external_id": "abc123",
"name": "gitea",
"kind": "container",
"image": "gitea/gitea:latest",
"image_digest": "sha256:...",
"state": "running",
"health": "healthy",
"ports": [
{ "host": 3000, "container": 3000, "proto": "tcp" }
],
"labels": {
"com.docker.compose.project": "gitea"
}
}
]
}Response:
{
"ok": true,
"services": 1
}Validation rules include:
-
agent.namerequired -
agent.platformrequired -
host.hostnamerequired - each service needs
external_id - service
external_idmust be unique within the report - service
kindmust be recognized - service
healthmust be agent-reportable
Agents cannot report health="stale". Stale is server-derived.
Returns catalog services for the dashboard/API.
Example:
curl http://SERVER:8080/api/v1/servicesThe response includes service details joined with host/agent context and derived freshness where available.
Returns known agents and heartbeat information.
Example:
curl http://SERVER:8080/api/v1/agentsUseful for checking whether agents are reporting and what platform/version they run.
Returns recent activity events.
Example:
curl http://SERVER:8080/api/v1/eventsEvents include state, health, and agent transitions.
Known service kinds:
containerpodvmlxcprocessdeploymentstatefulsetdaemonset
Agent-reportable health values:
healthyunhealthyunknown
Server-derived health value:
stale
Agents do not send removed.
The server sets:
state = "removed"
when a previously known service is absent from a full-state report.