Endpoint health del web
Le categorie di readiness sono solo
configuration, authentication, tls,
storage, capability e canary_stale. La risposta omette intenzionalmente
provider, endpoint, nomi di bucket, chiavi oggetto, credenziali ed errori grezzi.
Deep canary
Il deep canary pianificato scrive byte casuali suephemeral, registra i metadata
SHA-256, legge e calcola l’hash dei byte esatti, li copia e li verifica, quindi
elimina entrambi gli oggetti. La readiness riporta canary_stale quando non esiste un canary
riuscito all’interno della finestra di freshness.
Per un canary stantio:
- conferma che l’instrumentation web abbia avviato lo scheduler del canary;
- ispeziona
storage.readiness,storage.operation.*e la latenza del provider; - conferma che
ephemeralconsenta create condizionale, read, copy e delete; - controlla l’orologio di worker/web e la saturazione dell’event-loop;
- verifica che la policy di ciclo di vita non stia eliminando gli oggetti canary durante la transazione; e
- esegui il contratto del provider dalla stessa rete e dallo stesso contesto di identità.
Triage per categoria
configuration
Valida la leggibilità/modalità di STORAGE_CONFIG_FILE e il JSON rigoroso; tutti e tre
i profili devono esistere. Usa gli ID provider canonici s3, gcs, azure o
local. La produzione non può usare local.
authentication
Controlla il binding dell’identità del workload, l’ambito del ruolo, l’audience del token, la
sovrapposizione della rotazione delle credenziali e i dinieghi di audit del provider. Web e worker necessitano di
accesso corrispondente. Non stampare token, non eseguire env né copiare dati Secret in un ticket.
tls
Controlla DNS/SAN dell’endpoint, mount della CA privata, catena di emissione completa, scadenza,
trust del proxy e riavvio del pod dopo la rotazione della CA. Mantieni la verifica abilitata;
non usare mai HTTP, --insecure o rejectUnauthorized: false.
storage
Conferma il bucket/container esistente, il percorso, il DNS, l’egress, la quota, il throttling,
la capacità e le operazioni oggetto richieste. I health check non creano lo storage
mancante.
capability
Quando è richiesto WORM, verifica il profilo requireWorm, il versioning, la object
retention/immutabilità e il legal hold. Riesegui la qualificazione live dopo le modifiche
di policy.
Interruzione dello scanner
I sintomi includono l’aumento distorage.quarantine.depth,
storage.quarantine.oldest_age_seconds, storage.scanner.failure, retry
dell’outbox e, alla fine, dead letter.
Controlla il socket/host clamd, la CA TLS, il nome del server, il limite di dimensione, il timeout, la
network policy, lo stato di salute del motore e lo stato di aggiornamento delle signature. Ripristina lo scanner, quindi
consenti i retry idempotenti normali oppure usa la procedura di replay approvata. Gli oggetti
devono restare in quarantine fino a un verdetto pulito terminale; non marcarli mai puliti
manualmente né aggirare la scansione.
Dead letter di mutazione
Monitorastorage.outbox.deadletter, storage.outbox.pending e
storage.outbox.deadlettered. Ispeziona i record protetti
StorageMutationOutbox per ID/stato/operazione senza esportare
payload o chiavi oggetto inutilmente.
- classifica fallimento di scanner, permesso, retention, TLS, oggetto mancante o provider;
- ripara la causa;
- conferma che l’oggetto corrisponda ancora al suo SHA-256 memorizzato e alla versione esatta;
- ripeti attraverso l’operazione di coda idempotente approvata; e
- conferma il completamento e le evidenze di audit.
Migrazione e riconciliazione
Monitorastorage.migration.result,
storage.reconciliation.missing,
storage.reconciliation.orphan_observed,
storage.reconciliation.orphan_confirmed e le metriche di riparazione
dell’outbox di riconciliazione.
- Gli oggetti attesi mancanti vengono riportati in uno stato di quarantine/integrità fallita.
- Gli orphan vengono prima osservati e confermati solo dopo il periodo di grazia.
- I retry di migrazione possono raggiungere
DEAD_LETTER; conserva la sorgente e indaga prima del replay.
Validazione sicura
Usa un prefisso dedicato e un’identità equivalente al workload:./scripts/storage/validate-ceph-rgw.sh con la versione
esatta e la CA privata. Sanitizza gli output prima di allegarli a un incidente.