-
-
Notifications
You must be signed in to change notification settings - Fork 0
Operations
This page covers day-to-day Trove operations.
Server health:
curl http://SERVER:8080/healthzAgents:
curl http://SERVER:8080/api/v1/agentsServices:
curl http://SERVER:8080/api/v1/servicesEvents:
curl http://SERVER:8080/api/v1/eventsWhen OIDC is enabled, /api/v1/agents, /api/v1/services, /api/v1/events, and /metrics require a browser session or TROVE_API_TOKEN. /healthz intentionally remains open. See Authentication#programmatic-read-api-access.
Docker Compose server:
docker compose logs -f serverDocker agent:
docker logs -f trove-agent-dockerSystemd server:
journalctl -u trove-server -fSystemd local agent:
journalctl -u trove-agent-local -fKubernetes agent:
kubectl logs -f deploy/trove-agent -n troveCreate one token per agent:
trove-server agent create AGENT_NAMECompose:
docker compose exec server trove-server agent create AGENT_NAMESave the token immediately. It cannot be recovered later because Trove stores only the hash.
List or remove agents with:
trove-server agent list
trove-server agent delete AGENT_NAMEDeleting an agent removes its catalogue data from Trove. It does not stop or modify anything on the monitored platform.
Back up the SQLite database.
Use the built-in online backup command:
# systemd
sudo TROVE_DB=/var/lib/trove/trove.db \
trove-server backup "/var/backups/trove-$(date +%F).db"
# Docker Compose
mkdir -p backups
docker compose exec server \
trove-server backup "/data/trove-$(date +%F).db"
docker compose cp "server:/data/trove-$(date +%F).db" backups/The destination must not already exist. Trove uses SQLite's online backup path, so the server can keep running. A stopped-server copy or consistent filesystem snapshot is also valid. Avoid copying a busy SQLite file and hoping for the best. SQLite has enough personality without inviting it to improvise.
To restore:
- stop
trove-server - replace the database file with the backup
- ensure ownership/permissions match the service user
- start
trove-server - check
/healthz - check
/api/v1/agents
Agents will resume pushing with their existing tokens if the restored database contains their token hashes.
Event retention:
TROVE_EVENT_RETENTION=720hRemoved-service retention:
TROVE_REMOVED_RETENTION=24hShorter retention keeps the database smaller. Longer retention gives richer history and digest context.
After changing alert variables:
trove-server alert testCompose:
docker compose exec server trove-server alert testConfirm the message actually arrived. An ok from a webhook only means the receiving endpoint accepted the request.
Private registry credentials go on the server, not the agents:
TROVE_REGISTRY_AUTHS={"ghcr.io":{"username":"techdox","password":"..."}}Restart the server after changing them.
The dashboard and read APIs are open by default. Use one of:
- LAN-only binding
- VPN-only access
- reverse proxy with auth
- native OIDC
- Cloudflare Access or similar front door
- firewall rules
Do not put the unauthenticated dashboard directly on the open internet. Native OIDC setup is covered in Authentication.