← Doku

1 Min. Lesezeit

Dokumentation
Auf dieser Seite
  1. The local API
  2. Feeding it data

The Docker sidecar

You get a docker-compose.yml with your enrollment key baked in. Drop it next to your app:

docker compose up -d

Your app now has a local inference API:

curl -s localhost:8080/predict \
  -H 'Content-Type: application/json' \
  -d '{"records": [{"features": [0.1, 0.2, 0.3, 0.4]}]}'
# {"served_version": 7, "predictions": [1]}

The local API

Endpoints, all on localhost:

Method Path What
POST /predict inference against the currently promoted model
GET /model which version is being served
GET /health liveness + readiness (for your orchestrator)
POST /ingest append a record to the local training buffer
DELETE /ingest erase data (see Consent & erasure)
GET/PUT /participation the training opt-in switch

POST /predict returns 503 until a model has been promoted — a real, retryable state, not an error. The daemon keeps serving the last known good model across restarts and through network outages.

Feeding it data

curl -s localhost:8080/ingest -X POST \
  -H 'Content-Type: application/json' \
  -d '{"record": {"temp": 21.5, "faulty": false}, "subject_id": "user-123"}'

The buffer is encrypted at rest with a key generated on that machine, bounded by the admin's retention policy (max age and max size, oldest evicted first). subject_id is optional and stored only as a keyed hash — there is no plaintext list of who is in the buffer.