Terrateam executes the following steps when it receives an event from GitHub:

  1. Is it a Terrateam event? - Only events related to pull requests are processed.
  2. Does the pull request include infrastructure changes? - The list of changed files is examined and if any changes match your Terrateam configuration, the pull request is considered an infrastructure change.
  3. Can the user perform this operation? - The initiator of the plan or apply is evaluated against the RBAC rules to ensure that they have permission to perform the change.
  4. Has the pull request passed apply requirements? - If the user has initiated an apply, verify that the pull request has passed all configured checks.
  5. Do plans exist? - If the user has initiated an apply, do plans exist for the changes?
  6. Are there any locks? - If another user has a change that is in progress that impacts the same set of resources as those in the pull request, Terrateam does not allow an apply. A change being "in progress" means it has either been merged to the main branch or applied. This check ensures that the code is synchronized with your deployed infrastructure.
  7. Are there any conflicting operations? - Check that no apply is currently in progress that would conflict with this change.
  8. Initiate the Terrateam GitHub Action - If all of these checks have passed, initiate the Terrateam GitHub Action. The GitHub Action performs the plan or apply on the changes the user specified.
  9. Report results back to user - When the GitHub Action completes, it reports the results to the Terrateam service which then reports them back to the user.

All feedback is reported to the pull request via comments, users can stay in GitHub through the entire process. Terrateam is built on GitOps principles which means it is entirely configured within the repository.

For a more detailed explaination, see the How it Works section of the documentation.

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 .