diff --git a/lib/manager/kustomize/__fixtures__/depsInResources.yaml b/lib/manager/kustomize/__fixtures__/depsInResources.yaml index acdcb457a67de3413240fad64761276c8c5b3c89..d8c210bd9fb523affc11427904bff513888e23ba 100644 --- a/lib/manager/kustomize/__fixtures__/depsInResources.yaml +++ b/lib/manager/kustomize/__fixtures__/depsInResources.yaml @@ -10,5 +10,8 @@ resources: - deployment.yaml - github.com/fluxcd/flux/deploy?ref=1.19.0 +components: +- github.com/fluxcd/flux/memcache-dep?ref=1.18.0 + images: - name: nginx diff --git a/lib/manager/kustomize/__snapshots__/extract.spec.ts.snap b/lib/manager/kustomize/__snapshots__/extract.spec.ts.snap index ec2fc9f8161ef301f6ce4ecd737bfed1d9086b1a..55eaee546135896981b86c74bfc7e99a09b3bce2 100644 --- a/lib/manager/kustomize/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/kustomize/__snapshots__/extract.spec.ts.snap @@ -67,7 +67,7 @@ Array [ ] `; -exports[`manager/kustomize/extract extractPackageFile() should extract bases from bases block and the resources block 1`] = ` +exports[`manager/kustomize/extract extractPackageFile() should extract bases resources and components from their respective blocks 1`] = ` Array [ Object { "currentValue": "v0.0.1", @@ -79,6 +79,11 @@ Array [ "datasource": "github-tags", "depName": "fluxcd/flux", }, + Object { + "currentValue": "1.18.0", + "datasource": "github-tags", + "depName": "fluxcd/flux", + }, ] `; diff --git a/lib/manager/kustomize/extract.spec.ts b/lib/manager/kustomize/extract.spec.ts index 7fe27a25229599781470e6b00198060b9bc3ced0..44c2b71ca9c0995896c63ac4e1ead58c60014a5f 100644 --- a/lib/manager/kustomize/extract.spec.ts +++ b/lib/manager/kustomize/extract.spec.ts @@ -242,14 +242,16 @@ describe('manager/kustomize/extract', () => { it('does nothing with kustomize empty kustomize files', () => { expect(extractPackageFile(kustomizeEmpty)).toBeNull(); }); - it('should extract bases from bases block and the resources block', () => { + it('should extract bases resources and components from their respective blocks', () => { const res = extractPackageFile(kustomizeDepsInResources); expect(res).not.toBeNull(); expect(res.deps).toMatchSnapshot(); - expect(res.deps).toHaveLength(2); + expect(res.deps).toHaveLength(3); expect(res.deps[0].currentValue).toEqual('v0.0.1'); expect(res.deps[1].currentValue).toEqual('1.19.0'); + expect(res.deps[2].currentValue).toEqual('1.18.0'); expect(res.deps[1].depName).toEqual('fluxcd/flux'); + expect(res.deps[2].depName).toEqual('fluxcd/flux'); }); it('extracts sha256 instead of tag', () => { expect(extractPackageFile(sha)).toMatchSnapshot({ diff --git a/lib/manager/kustomize/extract.ts b/lib/manager/kustomize/extract.ts index 12bfb8280c0d8ecadae0615f96b014378d3f061e..8a06c3da71caf74f6ba0c9df1c5af0429ecea541 100644 --- a/lib/manager/kustomize/extract.ts +++ b/lib/manager/kustomize/extract.ts @@ -84,7 +84,10 @@ export function parseKustomize(content: string): Kustomize | null { return null; } - pkg.bases = (pkg.bases || []).concat(pkg.resources || []); + pkg.bases = (pkg.bases || []).concat( + pkg.resources || [], + pkg.components || [] + ); pkg.images = pkg.images || []; return pkg; diff --git a/lib/manager/kustomize/readme.md b/lib/manager/kustomize/readme.md index b38948bb55f8dbed5454be25f091e606e3d873f8..1a63c7718cebf23d5fe53ec5a1f8de553c3f7235 100644 --- a/lib/manager/kustomize/readme.md +++ b/lib/manager/kustomize/readme.md @@ -2,6 +2,7 @@ This package will manage two parts of the `kustomization.yaml` file: 1. [remote bases](https://github.com/kubernetes-sigs/kustomize/blob/master/examples/remoteBuild.md) 2. [image tags](https://github.com/kubernetes-sigs/kustomize/blob/master/examples/image.md) +3. [components](https://github.com/kubernetes-sigs/kustomize/blob/master/examples/components.md) **How It Works**