A platform team publishes modules to the HCP Terraform private registry. They want every Git release tag such as v2.4.0 to become a distinct, pinnable module version automatically, with no one typing a version number into HCP Terraform. Which publishing type should they choose?
Select an answer to reveal the explanation.
Short Explanation
Tags are your release stamps. With tag-based publishing, every semantic version tag you push turns into a version consumers can pin, with no typing required in HCP Terraform.
Full Explanation
The HCP Terraform private registry supports two VCS publishing types. With tag-based publishing, the registry reads release tags in the repository; tags must be semantic versions, optionally prefixed with v, and each new matching tag publishes a new module version that consumers can pin with a version constraint. A tag prefix can be set when one repository holds several modules. With branch-based publishing, the administrator names an existing branch and supplies the module version manually; the repository does not need a matching tag, and a new version is not derived from each merge, so it does not meet the requirement that versions appear automatically from release tags. No-code provisioning is a capability enabled on a module so that users can deploy it without writing configuration; it has nothing to do with how versions are published. Run triggers queue runs in one workspace after another workspace applies; they do not publish registry versions. Exam caveat: branch-based publishing has its own uses, such as enabling module testing in the registry, but versioning is then a manual step. Operational check: push a new tag such as v2.4.1 to the connected repository and confirm the module page lists that version within a few minutes.