diff --git a/config/module/registry.go b/config/module/registry.go index 3ea31708d..bef8b3373 100644 --- a/config/module/registry.go +++ b/config/module/registry.go @@ -21,7 +21,6 @@ import ( const ( defaultRegistry = "registry.terraform.io" - defaultApiPath = "/v1/modules" registryServiceID = "registry.v1" xTerraformGet = "X-Terraform-Get" xTerraformVersion = "X-Terraform-Version" @@ -48,11 +47,7 @@ func (e errModuleNotFound) Error() string { func (s *Storage) discoverRegURL(module *regsrc.Module) *url.URL { regURL := s.Services.DiscoverServiceURL(svchost.Hostname(module.RawHost.Normalized()), serviceID) if regURL == nil { - regURL = &url.URL{ - Scheme: "https", - Host: module.RawHost.String(), - Path: defaultApiPath, - } + return nil } if !strings.HasSuffix(regURL.Path, "/") { @@ -85,6 +80,9 @@ func (s *Storage) lookupModuleVersions(module *regsrc.Module) (*response.ModuleV } service := s.discoverRegURL(module) + if service == nil { + return nil, fmt.Errorf("host %s does not provide Terraform modules", module.RawHost.Display()) + } p, err := url.Parse(path.Join(module.Module(), "versions")) if err != nil { @@ -135,6 +133,9 @@ func (s *Storage) lookupModuleLocation(module *regsrc.Module, version string) (s } service := s.discoverRegURL(module) + if service == nil { + return "", fmt.Errorf("host %s does not provide Terraform modules", module.RawHost.Display()) + } var p *url.URL var err error