Your Name
|
23e6ac3afd
|
fix(schemas): k8s toYaml 修复 ports/volumes/envFrom 等数组-对象字段被错渲为 dict
toYaml(obj, indent=0) 旧版递归缩进计算错位,导致:
ports:
ports: <- 多余的父 key 行
- name: http
containerPort: 5099
被 pyyaml 反解为 {0:{...}} 而不是 list, kubectl apply 报:
cannot unmarshal object into Go struct field
Container.spec.template.spec.containers.ports of type []v1.ContainerPort
修复:
- 重写为 baseIndent 字符串缩进版, 数组-对象分支递归渲染后第一行加 '- '
- 新增 yamlScalar(v) 处理 number/boolean/特殊字符安全引号
- 新增 isEmptyMapping(o) 把 emptyDir:{} 等空对象渲染为 {}
- 20 个 k8s-*.js schema 全部统一替换
验证:
- npm run build 通过
- PyYAML 反序列化 ports/volumes/envFrom/tolerations 等 9 个数组-对象字段全部为 list
- 全部 20 个 schema E2E OK
|
2026-08-07 14:31:19 +08:00 |
|