great article. My lesson learnt was to lock terraform providers and modules to a specific version to avoid unwanted strange changes.
using always the latest version can break things.
The docker provider needs extra work.
I love terraform cloud as well.
Sadly, adding extra parts such as terratest will make the deployment more complex and the system too