Tool for reporting used module versions vs available module versions

Are there any tools to report on what module versions are referenced by your infrastructure live and infrastructure modules repos, vs the latest release available (For bonus points, the release notes too)?

It would be super helpful knowing all the versions used in the life repo.

Example:
Running the tool against infrastructure-live, would output each module it found in the terraform.tfvars files, group the results by module, showing what version is being referenced, and what the latest version is available, if an update is available. Each group would show the link to the module’s release page, followed by the path where the module was found:

Module:
https://github.com/example/infrastructure-modules/data-stores/aurora/releases
+---------------------------+----------+--------+
|Module Path                | Deployed | Update |
+---------------------------+----------+--------+
|prod/data-stores/aurora    | v1.3.3   | v1.4.0 |
|staging/data-stores/aurora | v1.3.4   | v1.4.0 |
|dev/data-stores/aurora     | v1.4.0   | latest |
+---------------------------+----------+--------+

We don’t have such a tool yet, but that’s a fantastic idea. Should be straightforward to do for upgrading Terraform modules, as the code has a consistent format… But a bit trickier with updating versions of scripts/binaries, as those are installed from Packer or Bash scripts or whatever else, and can have many different formats. Perhaps a best-effort “grep” solution would be good enough though!

My thoughts exactly :slight_smile: