Announcing Apply Requirements

By Malcolm Matalka on Sep 19, 2022
Announcing Apply Requirements

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.

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.

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, GitHubs 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.

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

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.

Try out Terrateam today and start applying changes to your infrastructure today.

We use cookies and similar technologies to provide certain features, enhance the user experience and deliver content that is relevant to your interests. Depending on their purpose, analysis and marketing cookies may be used in addition to technically necessary cookies. By clicking on "Agree and continue", you declare your consent to the use of the aforementioned cookies. Here you can make detailed settings or revoke your consent (in part if necessary) with effect for the future. For further information, please refer to our Privacy Policy .