Assets are currently modeled as 1 file -> 1 Kubernetes object. Multi-doc YAML files (separated by ---) are silently truncated to the first document today.
The low-level plumbing already exists (ParseMultiYAML, RenderMultiAsset), but the reconciliation path (patcher, output, debug handlers) always calls RenderAsset which returns a single object.
Proposed approach
Auto-detect multi-doc files at registry load time by counting non-empty documents after splitting on ---.
No flag or metadata change needed.
When more than one document is found, the patcher dispatches to RenderMultiAsset and applies each object individually.
Work items
Open questions
- Tombstone tracking: each object in a multi-doc asset needs independent lifecycle management. The current tombstone model is 1 asset -> 1 object; it's unclear how to handle partial removal (e.g. one document is removed from a file while others remain) without introducing significant complexity.
Assets are currently modeled as 1 file -> 1 Kubernetes object. Multi-doc YAML files (separated by
---) are silently truncated to the first document today.The low-level plumbing already exists (
ParseMultiYAML,RenderMultiAsset), but the reconciliation path (patcher, output, debug handlers) always callsRenderAssetwhich returns a single object.Proposed approach
Auto-detect multi-doc files at registry load time by counting non-empty documents after splitting on
---.No flag or metadata change needed.
When more than one document is found, the patcher dispatches to
RenderMultiAssetand applies each object individually.Work items
Open questions