From 27a280ff810465ba7e88dd4cdcb3d65efd759a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominykas=20Bly=C5=BE=C4=97?= <hello@dominykas.com> Date: Wed, 23 Sep 2020 22:24:40 +0300 Subject: [PATCH] feat: kustomize: support `newName` in `image` (#7356) --- .../kustomize/__fixtures__/gitImages.yaml | 3 +++ .../__snapshots__/extract.spec.ts.snap | 9 +++++---- lib/manager/kustomize/extract.spec.ts | 17 ++++++----------- lib/manager/kustomize/extract.ts | 4 ++-- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/lib/manager/kustomize/__fixtures__/gitImages.yaml b/lib/manager/kustomize/__fixtures__/gitImages.yaml index 1b04dc9975..a7538e20b2 100644 --- a/lib/manager/kustomize/__fixtures__/gitImages.yaml +++ b/lib/manager/kustomize/__fixtures__/gitImages.yaml @@ -15,3 +15,6 @@ images: newTag: v0.0.2 - name: gitlab.com/org/suborg/image newTag: v0.0.3 +- name: this-lives/on-docker-hub + newName: but.this.lives.on.local/private-registry # and therefore we need to check the versions available here + newTag: v0.0.4 diff --git a/lib/manager/kustomize/__snapshots__/extract.spec.ts.snap b/lib/manager/kustomize/__snapshots__/extract.spec.ts.snap index bccaedc085..9673b8dcaf 100644 --- a/lib/manager/kustomize/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/kustomize/__snapshots__/extract.spec.ts.snap @@ -79,25 +79,26 @@ Array [ "currentValue": "v0.1.0", "datasource": "docker", "depName": "node", - "lookupName": "node", }, Object { "currentValue": "v0.0.1", "datasource": "docker", "depName": "group/instance", - "lookupName": "group/instance", }, Object { "currentValue": "v0.0.2", "datasource": "docker", "depName": "quay.io/test/repo", - "lookupName": "quay.io/test/repo", }, Object { "currentValue": "v0.0.3", "datasource": "docker", "depName": "gitlab.com/org/suborg/image", - "lookupName": "gitlab.com/org/suborg/image", + }, + Object { + "currentValue": "v0.0.4", + "datasource": "docker", + "depName": "but.this.lives.on.local/private-registry", }, ] `; diff --git a/lib/manager/kustomize/extract.spec.ts b/lib/manager/kustomize/extract.spec.ts index 24b1131f05..8e98db15ca 100644 --- a/lib/manager/kustomize/extract.spec.ts +++ b/lib/manager/kustomize/extract.spec.ts @@ -130,10 +130,9 @@ describe('manager/kustomize/extract', () => { currentValue: 'v1.0.0', datasource: datasourceDocker.id, depName: 'node', - lookupName: 'node', }; const pkg = extractImage({ - name: sample.lookupName, + name: sample.depName, newTag: sample.currentValue, }); expect(pkg).toEqual(sample); @@ -143,10 +142,9 @@ describe('manager/kustomize/extract', () => { currentValue: 'v1.0.0', datasource: datasourceDocker.id, depName: 'test/node', - lookupName: 'test/node', }; const pkg = extractImage({ - name: sample.lookupName, + name: sample.depName, newTag: sample.currentValue, }); expect(pkg).toEqual(sample); @@ -156,10 +154,9 @@ describe('manager/kustomize/extract', () => { currentValue: 'v1.0.0', datasource: datasourceDocker.id, depName: 'quay.io/repo/image', - lookupName: 'quay.io/repo/image', }; const pkg = extractImage({ - name: sample.lookupName, + name: sample.depName, newTag: sample.currentValue, }); expect(pkg).toEqual(sample); @@ -169,10 +166,9 @@ describe('manager/kustomize/extract', () => { currentValue: 'v1.0.0', datasource: datasourceDocker.id, depName: 'localhost:5000/repo/image', - lookupName: 'localhost:5000/repo/image', }; const pkg = extractImage({ - name: sample.lookupName, + name: sample.depName, newTag: sample.currentValue, }); expect(pkg).toEqual(sample); @@ -182,10 +178,9 @@ describe('manager/kustomize/extract', () => { currentValue: 'v1.0.0', datasource: datasourceDocker.id, depName: 'localhost:5000/repo/image/service', - lookupName: 'localhost:5000/repo/image/service', }; const pkg = extractImage({ - name: sample.lookupName, + name: sample.depName, newTag: sample.currentValue, }); expect(pkg).toEqual(sample); @@ -222,7 +217,7 @@ describe('manager/kustomize/extract', () => { it('should extract out image versions', () => { const res = extractPackageFile(gitImages); expect(res.deps).toMatchSnapshot(); - expect(res.deps).toHaveLength(4); + expect(res.deps).toHaveLength(5); expect(res.deps[0].currentValue).toEqual('v0.1.0'); expect(res.deps[1].currentValue).toEqual('v0.0.1'); }); diff --git a/lib/manager/kustomize/extract.ts b/lib/manager/kustomize/extract.ts index 756e61a95f..1ace5c0175 100644 --- a/lib/manager/kustomize/extract.ts +++ b/lib/manager/kustomize/extract.ts @@ -8,6 +8,7 @@ import { PackageDependency, PackageFile } from '../common'; interface Image { name: string; newTag: string; + newName?: string; } interface Kustomize { @@ -65,8 +66,7 @@ export function extractImage(image: Image): PackageDependency | null { if (image?.name && image.newTag) { return { datasource: datasourceDocker.id, - depName: image.name, - lookupName: image.name, + depName: image.newName ?? image.name, currentValue: image.newTag, }; } -- GitLab