Der LaraFleet-Agent kommuniziert über HTTPS mit der LaraFleet-Plattform. Diese Seite dokumentiert den Heartbeat-Endpoint und das Payload-Format.
Jede Anfrage an den Heartbeat-Endpoint wird per HMAC-SHA256 signiert. Die Signatur basiert auf dem Projekt-API-Key und dem Anfrage-Body.
LaraFleet prüft zusätzlich einen Timestamp-Header mit einer Toleranz von ±60 Sekunden. Anfragen außerhalb dieses Fensters werden als Replay-Angriff zurückgewiesen.
https://app.larafleet.com/api/heartbeat
Nimmt den signierten Heartbeat-Payload entgegen und speichert ihn als Snapshot.
Rate Limit: 1 Request / Minute pro API-Key.
{
"type": "full",
"timestamp": 1717056000,
"laravel_version": "11.28.0",
"php_version": "8.3.6",
"php_extensions": ["bcmath", "ctype", "curl", ...],
"composer_packages": [
{
"name": "laravel/framework",
"installed": "11.28.0",
"latest": "11.28.0",
"outdated_type": null
}
],
"composer_advisories": [
{
"package": "laravel/framework",
"cve": "CVE-2024-47868",
"severity": "high",
"title": "..."
}
],
"npm_packages": [
{
"name": "vite",
"installed": "5.4.0",
"latest": "5.4.2",
"outdated_type": "patch"
}
],
"npm_advisories": [
{
"ghsa": "GHSA-xxxx-xxxx-xxxx",
"cve": "CVE-2024-00000",
"severity": "moderate",
"module_name": "example-pkg"
}
],
"queue": {
"failed_jobs": 0,
"size": 2
},
"scheduler": {
"last_run_at": "2024-05-30T09:00:00Z",
"missed": false
},
"disk_usage_mb": 1240,
"storage_usage_mb": 340,
"env_snapshot": {
"APP_ENV": "production",
"APP_DEBUG": "false"
},
"deployment_at": "2024-05-29T14:30:00Z",
"deployment_hash": "a3f2d1c"
}
{
"type": "quick",
"timestamp": 1717056300,
"queue": {
"failed_jobs": 0,
"size": 0
},
"scheduler": {
"last_run_at": "2024-05-30T09:05:00Z",
"missed": false
},
"disk_usage_mb": 1240
}
| Status | Bedeutung |
|---|---|
| 200 OK | Heartbeat erfolgreich gespeichert |
| 401 Unauthorized | Ungültige oder fehlende Signatur |
| 422 Unprocessable | Payload-Validierungsfehler |
| 429 Too Many Requests | Rate Limit überschritten (1 req/min) |
Der env_snapshot enthält nur explizit freigegebene Keys. Standardmäßig sind folgende Keys enthalten:
Die Whitelist kann in config/larafleet-agent.php angepasst werden. Sensible Keys wie DB_PASSWORD oder APP_KEY werden niemals übertragen.