From 749e79b7ec856f333f79aea571d5a259eae0635f Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Fri, 25 Jul 2025 19:04:59 -0600 Subject: [PATCH] Clone to a site overlay when adding files in wwapi Signed-off-by: Jonathon Anderson --- internal/pkg/overlay/overlay.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/internal/pkg/overlay/overlay.go b/internal/pkg/overlay/overlay.go index 9a3f4241..2e59840b 100644 --- a/internal/pkg/overlay/overlay.go +++ b/internal/pkg/overlay/overlay.go @@ -116,6 +116,16 @@ func (overlay Overlay) IsDistributionOverlay() bool { func (overlay Overlay) AddFile(filePath string, content []byte, parents bool, force bool) error { wwlog.Info("Creating file %s in overlay %s, force: %v", filePath, overlay.Name(), force) + + if overlay.IsDistributionOverlay() { + siteOverlay, err := overlay.CloneSiteOverlay() + if err != nil { + return fmt.Errorf("failed to clone distribution overlay '%s' to site overlay: %w", overlay.Name(), err) + } + // replace the overlay with newly creatd siteOverlay + overlay = siteOverlay + } + fullPath := overlay.File(filePath) // create necessary parent directories if parents {