From d4706f9c2edd2956945bfad9ecc81e20a19bb042 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Tue, 11 Sep 2018 13:07:40 +0200 Subject: [PATCH] fix(docker): catch 429 errors --- lib/datasource/docker.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/datasource/docker.js b/lib/datasource/docker.js index 779688957c..c836f91af1 100644 --- a/lib/datasource/docker.js +++ b/lib/datasource/docker.js @@ -72,6 +72,10 @@ async function getAuthHeaders(registry, repository) { logger.debug({ err }); return null; } + if (err.statusCode === 429) { + logger.warn({ err }, 'docker registry failure: too many requests'); + throw new Error('registry-failure'); + } if (err.statusCode >= 500 && err.statusCode < 600) { logger.warn({ err }, 'docker registry failure: internal error'); throw new Error('registry-failure'); @@ -132,6 +136,10 @@ async function getDigest(config, newValue) { ); return null; } + if (err.statusCode === 429) { + logger.warn({ err }, 'docker registry failure: too many requests'); + throw new Error('registry-failure'); + } if (err.statusCode >= 500 && err.statusCode < 600) { logger.warn( { @@ -208,6 +216,10 @@ async function getPkgReleases(purl) { logger.info({ purl }, 'Not authorised to look up docker tags'); return null; } + if (err.statusCode === 429) { + logger.warn({ purl, err }, 'docker registry failure: too many requests'); + throw new Error('registry-failure'); + } if (err.statusCode >= 500 && err.statusCode < 600) { logger.warn({ purl, err }, 'docker registry failure: internal error'); throw new Error('registry-failure'); -- GitLab