Expose sanitized Portainer connection errors
This commit is contained in:
+1
-1
@@ -47,4 +47,4 @@ Alle Einträge verwenden ISO-8601-Timestamps in UTC. Mehrere Änderungen desselb
|
|||||||
- Browserinstaller korrigiert: Der initiale Administrator wird jetzt mit allen im `users`-Schema erforderlichen Pflichtfeldern angelegt.
|
- Browserinstaller korrigiert: Der initiale Administrator wird jetzt mit allen im `users`-Schema erforderlichen Pflichtfeldern angelegt.
|
||||||
- Realm-Dashboard korrigiert: Es fragt nur noch die konfigurierte Portainer-Umgebung ab, benötigt keine globale Endpoint-Liste oder Endpoint-Metadaten mehr und verwendet direkt den Docker-Proxy.
|
- Realm-Dashboard korrigiert: Es fragt nur noch die konfigurierte Portainer-Umgebung ab, benötigt keine globale Endpoint-Liste oder Endpoint-Metadaten mehr und verwendet direkt den Docker-Proxy.
|
||||||
- Fehlgeschlagene, bereits bezahlte Provisionierungen können durch Administratoren erneut gestartet werden.
|
- Fehlgeschlagene, bereits bezahlte Provisionierungen können durch Administratoren erneut gestartet werden.
|
||||||
- Administratoren erhalten bei fehlgeschlagenen Instanzaktionen einen bereinigten technischen Diagnosehinweis.
|
- Administratoren erhalten bei fehlgeschlagenen Instanzaktionen einen bereinigten technischen Diagnosehinweis inklusive cURL-Fehlerdetails bei Verbindungsproblemen.
|
||||||
|
|||||||
@@ -195,7 +195,9 @@ function pnpaas_portainer_request(string $path, string $method = 'GET', ?array $
|
|||||||
curl_close($handle);
|
curl_close($handle);
|
||||||
|
|
||||||
if ($body === false || $error !== '') {
|
if ($body === false || $error !== '') {
|
||||||
throw new RuntimeException('Portainer ist nicht erreichbar.');
|
$detail = trim($error);
|
||||||
|
$detail = preg_replace('/(?:X-API-Key|Authorization|Bearer)\s*:\s*[^\s,;]+/i', '[credential redacted]', $detail) ?? $detail;
|
||||||
|
throw new RuntimeException('Portainer ist nicht erreichbar' . ($detail !== '' ? ': ' . substr($detail, 0, 400) : '.'));
|
||||||
}
|
}
|
||||||
if ($status < 200 || ($status >= 300 && $status !== 304)) {
|
if ($status < 200 || ($status >= 300 && $status !== 304)) {
|
||||||
$detail = trim(preg_replace('/\s+/', ' ', (string)$body) ?? '');
|
$detail = trim(preg_replace('/\s+/', ' ', (string)$body) ?? '');
|
||||||
|
|||||||
Reference in New Issue
Block a user