Sarvar Muminov af2a806870 Implement a new policy check workflow (#1317)
* Adding policy_check support into yaml config

* Added policy check model and runtime structs

* Adding BuildPolicyCheckCommand to ProjectCommandBuilder

* Return incorrectly deleted code

* Remove BuildAutoPolicyPlanCommand from ProjectCommandBuilder

* Split runAutoCommand into two functions

runAutoPlanCommand - does what originally RunAutoplancommand was doing
except now it returns CommandResult and []models.ProjectCommandContext
runAutoPolicyCheckCommand - accepts CommandContext, CommandResult, and
[]models.ProjectCommandContext as arguments and runs PolicyCheckStep runner

* Refactor RunCommentCommand
* Remove BuildPolicyCheckCommand and rename StepCmdExec back to TerraformExec
* Add policy step runner logic and conftest interfaces.
* Add show step runner to policy check stage.

* Adding models.PolicyCheckCommand to buildCtx

This also means buildPlanAllCommands call buildCtx twice once with
models.PlanCommand and once with models.PolicyCheckCommand

* Adding new project_command_builder that supports policy_check

* Refactoring PolicyCheck specific logic into a PolicyCheckProjectCommandBuilder

* Moving events.CommandContext to models.CommandContext this will allow me
to remove buildCtx method and move ProjectCommandContext creation into
models package

* Policy Owners might be different types, for that reason we are
refactoring Owners into its own struct with specific keys defining
different owner types

Co-authored-by: Nish Krishnan <nishk@lyft.com>
Co-authored-by: Nish Krishnan <nishkrishnan@users.noreply.github.com>
2021-02-10 18:13:44 -08:00
2021-01-30 14:11:13 -05:00
2021-01-29 09:31:03 -08:00
2020-12-09 15:57:59 -05:00
2020-04-06 16:00:52 -07:00
2021-02-08 15:12:48 -08:00
2020-06-23 20:42:03 -07:00
2021-02-08 15:12:48 -08:00
2018-03-15 17:25:02 -07:00
2021-02-08 15:12:48 -08:00
2018-08-16 13:02:09 -10:00
2021-02-05 17:54:15 -05:00
2020-04-21 20:44:12 -07:00

Atlantis

Atlantis Logo

Terraform Pull Request Automation

Resources

What is Atlantis?

A self-hosted golang application that listens for Terraform pull request events via webhooks.

What does it do?

Runs terraform plan and apply remotely and comments back on the pull request with the output.

Why should you use it?

  • Make Terraform changes visible to your whole team.
  • Enable non-operations engineers to collaborate on Terraform.
  • Standardize your Terraform workflows.

Badges!

SuperDopeBadge Go Report Card codecov CircleCI Docker Image Metadata Slack Gitter chat

Stargazers over time

Stargazers over time

Description
Terraform Pull Request Automation
Readme 215 MiB