diff --git a/lib/manager/dockerfile/extract.js b/lib/manager/dockerfile/extract.js index 526d3da748fccd12d8e140662c457497bfa8eca2..fc61e2fec71ecc0ca8135e1d7d55a52715c5d0ed 100644 --- a/lib/manager/dockerfile/extract.js +++ b/lib/manager/dockerfile/extract.js @@ -7,6 +7,11 @@ module.exports = { function splitImageParts(currentFrom) { let dockerRegistry; + if (currentFrom.includes('${')) { + return { + skipReason: 'contains-variable', + }; + } const split = currentFrom.split('/'); if (split.length > 1 && split[0].includes('.')) { [dockerRegistry] = split; @@ -41,6 +46,7 @@ function getDep(currentFrom) { const purl = getPurl(dep.dockerRegistry, dep.depName); dep.purl = purl; if ( + dep.depName && (dep.depName === 'node' || dep.depName.endsWith('/node')) && dep.depName !== 'calico/node' ) { diff --git a/test/_fixtures/docker-compose/docker-compose.1.yml b/test/_fixtures/docker-compose/docker-compose.1.yml index 36ceccedd82f359b077f058543a4d62af1917299..d3e7d8eaa15e0b689a3c09b3db68e0cd5836a1ca 100644 --- a/test/_fixtures/docker-compose/docker-compose.1.yml +++ b/test/_fixtures/docker-compose/docker-compose.1.yml @@ -87,6 +87,9 @@ services: placement: constraints: [node.role == manager] + edplugins: + image: ${IMAGE:-synkodevelopers/edplugins}:${TAG:-latest} + networks: frontend: backend: diff --git a/test/manager/docker-compose/__snapshots__/extract.spec.js.snap b/test/manager/docker-compose/__snapshots__/extract.spec.js.snap index 5403859b637bcb8f4467e478717e441c41c11f90..5b5ebf67d1de03167141941365f81bd84ff9f6dd 100644 --- a/test/manager/docker-compose/__snapshots__/extract.spec.js.snap +++ b/test/manager/docker-compose/__snapshots__/extract.spec.js.snap @@ -80,5 +80,11 @@ Array [ "lineNumber": 79, "purl": "pkg:docker/dockersamples/visualizer", }, + Object { + "currentFrom": "\${IMAGE:-synkodevelopers/edplugins}:\${TAG:-latest}", + "lineNumber": 90, + "purl": "pkg:docker/undefined", + "skipReason": "contains-variable", + }, ] `; diff --git a/test/manager/docker-compose/extract.spec.js b/test/manager/docker-compose/extract.spec.js index 06d3aeff28bb5699dd541a187b629f4c7097eb4e..6d280b84ea7dd89852282ee1b040164c453c014e 100644 --- a/test/manager/docker-compose/extract.spec.js +++ b/test/manager/docker-compose/extract.spec.js @@ -20,7 +20,7 @@ describe('lib/manager/docker-compose/extract', () => { it('extracts multiple image lines', () => { const res = extractPackageFile(yamlFile, config); expect(res.deps).toMatchSnapshot(); - expect(res.deps).toHaveLength(7); + expect(res.deps).toHaveLength(8); }); }); });