diff --git a/pkg/plugins/autodiscovery/terraform/manifest_template.go b/pkg/plugins/autodiscovery/terraform/manifest_template.go index 5ac6f4819d..c21fb69dd1 100644 --- a/pkg/plugins/autodiscovery/terraform/manifest_template.go +++ b/pkg/plugins/autodiscovery/terraform/manifest_template.go @@ -15,6 +15,9 @@ sources: type: provider namespace: {{ .ProviderNamespace }} name: {{ .ProviderName }} + {{- if .ProviderHostname }} + hostname: {{ .ProviderHostname }} + {{- end }} versionfilter: kind: '{{ .VersionFilterKind }}' pattern: '{{ .VersionFilterPattern }}' diff --git a/pkg/plugins/autodiscovery/terraform/providers.go b/pkg/plugins/autodiscovery/terraform/providers.go index aa407640d0..341971be3b 100644 --- a/pkg/plugins/autodiscovery/terraform/providers.go +++ b/pkg/plugins/autodiscovery/terraform/providers.go @@ -94,11 +94,17 @@ func (t Terraform) getTerraformManifest(filename, provider, versionFilterPattern return nil, err } + var providerHostname string + if p.Hostname.String() != "registry.terraform.io" { + providerHostname = p.Hostname.String() + } + params := struct { ActionID string TerraformLockFile string Platforms []string Provider string + ProviderHostname string ProviderNamespace string ProviderName string VersionFilterKind string @@ -111,6 +117,7 @@ func (t Terraform) getTerraformManifest(filename, provider, versionFilterPattern TerraformLockFile: filename, Platforms: t.spec.Platforms, Provider: p.ForDisplay(), + ProviderHostname: providerHostname, ProviderNamespace: p.Namespace, ProviderName: p.Type, VersionFilterKind: t.versionFilter.Kind,