Files
LokiStack/backend/models
opsx 02705382f1 fix(collector): Sanitized() 漏掉采集范围三字段,导致编辑框读不到配置
背景:基于 f3733f0(品牌统一 + i18n 重构)构建部署后发现,采集器 API
返回里完全没有了 targetNamespaces / appLabelSource / appInclude 三个键。

根因:重构引入了 models.SanitizedJSON() + Collector.Sanitized(),
后者是**白名单式** map 输出,写的时候这三个字段还不存在,重构时也没补进去。
controller 全部走 SanitizedJSON(collector),所以这三个字段被静默丢弃。

影响(比"少显示几个字段"严重):
  编辑采集策略弹框读 collector.targetNamespaces 为 undefined
  → 命名空间面板显示"全集群采集"(实际配的是 astralx+log)
  → 用户只要点一次保存,就会把 targetNamespaces 写成 []
  → 下次「部署」生成的 Promtail 白名单消失,开始全集群采集(日志量暴涨)
  appLabelSource / appInclude 同理。

修复:Collector.Sanitized() 补三个字段。

验证:
  GET /api/v1/collectors/1
    targetNamespaces = ['astralx', 'log']   ← 修复前该键不存在
    appLabelSource   = ''
    appInclude       = null
  三个键均存在 ✅
  Promtail DaemonSet 12/12 未受影响 ✅
  Promtail ConfigMap 白名单(astralx, log)、app 四级回退、pod_phase drop 全部保留 ✅

镜像:lghost/lokistack:latest + v0.1 = sha256:648316ae13c5
2026-10-27 10:30:21 +00:00
..