This is a Masterpoint's reusable and sharable collection of Terraform Root Modules (Components). Each Component is a set of Terraform modules, resources, data sources and local expressions that represent an higher abstraction layer of infrastructure comparing to an average community child module. It can be easily integrated into the architecture and removed if needed.
It's Open Source and licensed under the APACHE2.
Components
- GitHub Repositories: responsible for managing GitHub repositories, including permissions, webhooks, pages, etc.
Trunk Linter
To maintain code quality we use a collection of linters, all managed by Trunk.
To install trunk on your machine you can use brew: brew install trunk-io
. You can also install trunk via the official instructions.
Usage
To run the linters, simply run trunk check
from the root of the project. This will check any files that you have changed in your current branch.
To automatically apply formatting changes, run trunk fmt
.
Automating Trunk
Trunk can manage git hooks, and is configured to run fmt
on pre-commit and check
on pre-push. This should help to prevent code being kicked-back by CI.
Trunk is automated in CI using GitHub Actions, and PRs will be blocked if the linters fail.