diff --git a/lib/modules/manager/kustomize/extract.spec.ts b/lib/modules/manager/kustomize/extract.spec.ts index c22b7628fc88dbe73697efa588418aaf2cc0c167..29c11bf5ef750c26e1f0075cc707c7604f358b21 100644 --- a/lib/modules/manager/kustomize/extract.spec.ts +++ b/lib/modules/manager/kustomize/extract.spec.ts @@ -34,6 +34,22 @@ describe('modules/manager/kustomize/extract', () => { const file = parseKustomize(''); expect(file).toBeNull(); }); + it('should return null when header has invalid resource kind', () => { + const file = parseKustomize(` + kind: NoKustomization + bases: + - github.com/fluxcd/flux/deploy?ref=1.19.0 + `); + expect(file).toBeNull(); + }); + it('should fall back to default resource kind when header is missing', () => { + const file = parseKustomize(` + bases: + - github.com/fluxcd/flux/deploy?ref=1.19.0 + `); + expect(file).not.toBeNull(); + expect(file.kind).toBe('Kustomization'); + }); describe('extractBase', () => { it('should return null for a local base', () => { const res = extractResource('./service-1'); diff --git a/lib/modules/manager/kustomize/extract.ts b/lib/modules/manager/kustomize/extract.ts index f5de3178f02b4140537c66a3281ee4818c200fdf..469bcc6a0a44af8d3f4c9b923034f69da3500435 100644 --- a/lib/modules/manager/kustomize/extract.ts +++ b/lib/modules/manager/kustomize/extract.ts @@ -133,6 +133,8 @@ export function parseKustomize(content: string): Kustomize | null { return null; } + pkg.kind ??= 'Kustomization'; + if (!['Kustomization', 'Component'].includes(pkg.kind)) { return null; } diff --git a/lib/modules/manager/kustomize/readme.md b/lib/modules/manager/kustomize/readme.md index 723b2cfa999677dfec9621f9716d2c19238099ab..47185687d332f3c696baf5e7a18f9bfbb086e1a2 100644 --- a/lib/modules/manager/kustomize/readme.md +++ b/lib/modules/manager/kustomize/readme.md @@ -21,7 +21,6 @@ This manager uses three `depType`s to allow a fine-grained control of which depe **Limitations** -- Needs to have `kind: Kustomization` or `kind: Component` defined - Currently this hasn't been tested using HTTPS to fetch the repos - The keys for the image tags can be in any order diff --git a/lib/modules/manager/kustomize/types.ts b/lib/modules/manager/kustomize/types.ts index 22e0ef573850e4ae7b1bbb9f2cb0149b55a97b9b..c42207daf51c8b3c522c7ce1fc084672a6ff2ca8 100644 --- a/lib/modules/manager/kustomize/types.ts +++ b/lib/modules/manager/kustomize/types.ts @@ -12,7 +12,7 @@ export interface HelmChart { } export interface Kustomize { - kind: string; + kind?: string; bases?: string[]; // deprecated since kustomize v2.1.0 resources?: string[]; components?: string[];