1
0
mirror of synced 2026-02-13 13:06:56 +00:00

Fix selection of kustomization resource from multi doc yaml

Signed-off-by: Marcus Weiner <marcus.weiner@gmail.com>
This commit is contained in:
Marcus Weiner
2023-08-07 12:05:29 +02:00
parent baf874ea67
commit 56b1e80758
5 changed files with 47 additions and 2 deletions

View File

@@ -333,7 +333,7 @@ func (b *Builder) unMarshallKustomization() (*kustomizev1.Kustomization, error)
k := &kustomizev1.Kustomization{}
decoder := k8syaml.NewYAMLOrJSONDecoder(bytes.NewBuffer(data), len(data))
// check for kustomization in yaml with the same name and namespace
for !(k.Name == b.name && (k.Namespace == b.namespace || k.Namespace == "")) {
for {
err = decoder.Decode(k)
if err != nil {
if err == io.EOF {
@@ -343,6 +343,13 @@ func (b *Builder) unMarshallKustomization() (*kustomizev1.Kustomization, error)
return nil, fmt.Errorf("failed to unmarshall kustomization file %s: %w", b.kustomizationFile, err)
}
}
if strings.HasPrefix(k.APIVersion, kustomizev1.GroupVersion.Group+"/") &&
k.Kind == kustomizev1.KustomizationKind &&
k.Name == b.name &&
(k.Namespace == b.namespace || k.Namespace == "") {
break
}
}
return k, nil
}