I have been using S3 as the private module source to share private modules with other teams. Managing versions and publication with S3 source can be a tedious work so I build an experimental CLI tool to automate them. It is open-source and free to use at GitHub GitHub - haoliangyu/terrac: A minimal private module registry for Terraform and OpenTofu
It is a minimal wrapper CLI on a cloud storage service, such as S3 or GCP Cloud Storage. It provides simple commands to pack, upload, and generate the source URL for a module. Published modules are stored in the storage service and downloaded directly from there. Terrac helps maintain the metadata and the history of each release. You can consider it as a package manager (like npm) for terraform.
You may ask why not use a cloud solution (like Terraform Cloud) or an open-source solution (like Citizen). Although they have more features and may provide better user experience, they have many components and simply are a bit complex to run. Particularly, in a regulated environment, simplicity means much fewer things to consider and maintain.
I just finish the fundamental parts of this tool and it is basically functional. Feel free to try or comment. I would love to know if it is a thing that is wanted by the community, or just yet another personal toy