Automate your Module version management for your Terragrunt/OpenTofu/Terraform infrastructure.
Agronomist continuously monitors and reports on module updates, ensuring your IaC stays current, secure, and maintainable with minimal effort.
- Scans
.hcland.tffiles and findssourcewith?ref=pointing to Git repositories. - Queries releases/tags to suggest a new version.
- Generates JSON report and optionally updates refs in-place.
- Generates human-readable reports with updates using Markdown.
- Supports blacklist filtering to ignore specific repositories, modules, or files.
- Can be used via local CLI, GitHub Action, or GitLab CI.
- Python 3.10+
- Git
- GitHub/GitLab token (PAT)
# Download the latest wheel from releases
# https://github.com/Ops-Talks/agronomist/releases/latest
# Install globally with pipx
pipx install agronomist-X.Y.Z-py3-none-any.whlmake build-docker
# Artifacts in dist/
pipx install dist/agronomist-*-py3-none-any.whlpoetry build
pipx install dist/agronomist-*-py3-none-any.whlagronomist report --root . --json report.json
agronomist report --root . --markdown report.md --json report.json
agronomist update --root . --json report.jsonpoetry install
poetry run agronomist report --root . --json report.json
poetry run agronomist report --root . --markdown report.md --json report.json
poetry run agronomist update --root . --json report.json- Getting started: docs/getting-started.md
- CLI reference: docs/cli.md
- Configuration: docs/configuration.md
- Resolvers: docs/resolvers.md
- Reports: docs/reports.md
- GitHub Action: docs/github-action.md
- GitLab CI: docs/gitlab-ci.md
- Testing: docs/testing.md
# Install test dependencies
make install-test-deps
# Run all workflow tests
make test-workflows
# Run unit tests only
make test-unit
# Run integration tests only
make test-integrationFor comprehensive testing guide, see docs/testing.md.