Announcing Apply Requirements

Malcolm Matalka avatar

Malcolm Matalka

Cover for Announcing Apply Requirements

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.

Infrastructure as Code. Optimized.

Ready to get started?

Experience powerful infrastructure orchestration, seamlessly integrated with GitHub.