fix UI 503s under checkpoint load

- Store: skip identical CT checkpoint writes (CertSpotter calls StoreLogState
  per batch across 64 logs; hashing the state avoids redundant writes).
- webui: cache /api/stats for 10s and raise API query timeouts; UI polls, so
  repeated aggregate queries no longer queue behind checkpoint bursts.
- reword discovery detail (no 'name enumeration' for S3/GCS; only Azure uses a
  container list).
This commit is contained in:
StasonJatham committed 2026-09-22 17:45:18 +02:00
1 parent 32035d0b9d
commit 1ce5700cec
6 files changed
+50 -14

No files matched your search

+2 -2
View File
@@ -231,7 +231,7 @@ func (d *Discoverer) scanAzure(ctx context.Context, account string) {
Provider: model.ProviderAzure, Service: model.ServiceBlobStorage,
ResourceSpecific: true, Source: model.SourceDiscovery,
}
d.cfg.OnOpen(ctx, c, "azure public container(s): "+strings.Join(found, ","), entries)
d.cfg.OnOpen(ctx, c, "azure anonymous listing allowed (container: "+strings.Join(found, ",")+")", entries)
}
// validAzureAccount mirrors Azure's naming rules: 3-24 lowercase alphanumerics.
@@ -299,7 +299,7 @@ func (d *Discoverer) test(ctx context.Context, t Target) {
if finalHost != "" && strings.HasSuffix(finalHost, ".amazonaws.com") {
c.Hostname = finalHost
}
detail := "discovered open bucket via name enumeration (" + t.Hostname + ")"
detail := "anonymous listing allowed"
if d.cfg.Metrics != nil {
d.cfg.Metrics.BucketOpen.Add(1)
}