Announcing Apply Requirements
Malcolm Matalka
On this page
Introduction
A goal at Terrateam is to minimize the number of new concepts needed to use the product. If you know how to use Terraform and GitHub, that should be all you need to know to use Terrateam.
Background
One feature of Terrateam is to restrict when an apply
operation can be executed. For example, only after the pull request has been approved. We originally tried using GitHub Branch Protection rules, where we would only allow an apply
if GitHub said the pull request is mergeable.
Challenges with Branch Protection
But we have run into issues using Branch Protection. A common request is that Terrateam should block a merge until all changes have been applied. This means that Terrateam cannot use the state of the pull request to determine if an apply
can be performed. Unfortunately, GitHub’s API does not expose what is blocking a pull request from being merged, it just returns true
or false
, so we cannot use GitHub to determine if only our runs are what is blocking the merge.
Introducing Apply Requirements
We’ve added a new configuration called apply_requirements
. The documentation can be found here. The apply_requirements
configuration supports specifying how many approvals are necessary, if there can be any merge conflicts, and which status checks must pass before an apply
can be performed.
Additional Features
It also supports creating pending status checks for applies when a pull request is created, ensuring that all applies have been performed prior to being mergeable.
Conclusion
Try out Terrateam today and start applying changes to your infrastructure today.