diff --git a/lib/datasource/terraform-provider/index.ts b/lib/datasource/terraform-provider/index.ts index 26fc1aa7ba33f08e435421bf5bae1d32db98fe24..2dcbd4f62cd0605bc15ec01ffaf0f57c1919c41d 100644 --- a/lib/datasource/terraform-provider/index.ts +++ b/lib/datasource/terraform-provider/index.ts @@ -60,6 +60,7 @@ async function queryRegistry( const currentVersion = dep.releases.find((release) => { return res.version === release.version; }); + // istanbul ignore else if (currentVersion) { currentVersion.releaseTimestamp = res.published_at; } @@ -78,6 +79,11 @@ async function queryReleaseBackend( const backendURL = registryURL + `/index.json`; const res = (await http.getJson<TerraformProviderReleaseBackend>(backendURL)) .body; + + if (!res[backendLookUpName]) { + return null; + } + const dep: ReleaseResult = { name: repository, versions: {}, diff --git a/lib/manager/terraform/__snapshots__/extract.spec.ts.snap b/lib/manager/terraform/__snapshots__/extract.spec.ts.snap index 6bbb0d354534a0747d462434887bb8a36b27a3d1..cb6a5a9029fc063b7d9267e3c11eb2727446fa27 100644 --- a/lib/manager/terraform/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/terraform/__snapshots__/extract.spec.ts.snap @@ -296,7 +296,9 @@ Object { "depName": "docker", "depNameShort": "docker", "depType": "terraform", - "lookupName": "terraform-providers/docker", + "registryUrls": Array [ + "https://releases.hashicorp.com", + ], }, Object { "currentValue": "2.7.0", diff --git a/lib/manager/terraform/providers.ts b/lib/manager/terraform/providers.ts index 27d76dffcbbb232a80c4520feecb2cc684a66422..98f6918c1863149391a471563e5949fe940435ef 100644 --- a/lib/manager/terraform/providers.ts +++ b/lib/manager/terraform/providers.ts @@ -55,7 +55,10 @@ export function analyzeTerraformProvider(dep: PackageDependency): void { if (is.nonEmptyString(dep.managerData.source)) { const source = sourceExtractionRegex.exec(dep.managerData.source); if (source) { - if (source.groups.hostname) { + // buildin providers https://github.com/terraform-providers + if (source.groups.namespace === 'terraform-providers') { + dep.registryUrls = [`https://releases.hashicorp.com`]; + } else if (source.groups.hostname) { dep.registryUrls = [`https://${source.groups.hostname}`]; dep.lookupName = `${source.groups.namespace}/${source.groups.type}`; } else {