We practice a pattern we call
terraform-root-modules which is where we implement fully working invocations of modules designed to be used at the “root” level. Terraform defines a “root module” as the current working directory holding the Terraform configuration files where the
terraform apply or
terraform get is run. That is, terraform considers the entry point itself a valid module.
This is a companion discussion topic for the original entry at https://docs.cloudposse.com/terraform-modules/root/