• Blog
  • Announcing Apply Requirements

Announcing Apply Requirements

Malcolm Matalka
Malcolm Matalka

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.