I’m attempting to develop a Terraform provider repository type for Nexus repository manager.
I have been following the documentation on the provider network mirror protocol here:
My difficulty here is that the official provider registry (https://registry.terraform.io/) does not follow this format at all. Making this task incredibly difficult.
Does Hashicorp provide an official provider network protocol that follows this format? Alternatively, is it possible to have the CLI use the format of the official registry with a mirror?
The service at registry.terraform.io is an origin registry rather than a mirror of a registry, so it implements the provider registry protocol instead.
The key difference is that a provider registry only serves providers belonging to its own hostname and can provide authoritative signatures of the packages, whereas a mirror can offer providers for any hostname but does not authenticate them.
The mirror protocol exists to allow serving providers to Terraform CLI when running in a situation where it cannot (or should not) access origin registries over the internet. Consequently there is not any public, shared server for that protocol, although Terraform CLI contains a client for it.