dmlittle/scenery

Add support for Terraform/Terragrunt Apply

Closed this issue · 6 comments

I would be nice if this would also parse output for terraform/terragrunt apply.

Hi @jaken551, thanks for opening up an issue! Could you elaborate more on what functionality you'd like to add? When you say terraform apply, do you mean parsing the output from the new feature in Terraform that provides a plan and asks to continue before applying? Or where you envisioning something else?

As for supporting Terragrunt there is already an issue about it #8 and it would require some major refactoring to the way scenery parses its input. I don't work with Terragrunt but if you (or anyone else) wants to add support for it I'm happy to get those changes merged (as long as non-terragrunt input stays working).

Hey @dmlittle, that is exactly what I was envisioning. The Terragrunt support would just be a bonus. If I could run terraform apply | scenery and have the same great output as terraform plan | scenery that would be awesome! I suppose handling the input to verify the plan might be a little tricky.

I see the value of adding this functionality but it is a bit tricky since scenery is reading the output from the terraform plan/apply output but the response to continue with the apply (yes/no) is no done within scenery.

If you want to work on this functionality please give it a go! I can answer any questions you have while working on it. Otherwise, I'll probably work on this whenever I get some free time. I currently don't use Terraform 0.12 so I don't have much experience on how the new apply workflow works.

Here is how landscape handled it: coinbase/terraform-landscape#53

@kipkoan thanks for the reference! I'll try tackling this feature when I get some free time.

Scenery is not actively maintained and the repo will be archived momentarily. I no longer have the time to maintain this tool nor do I think it should be kept being used as Terraform 0.11 has been deprecated for over a year now (scenery can only parse Terraform 0.11 plan outputs). Terraform 0.14 has some plan output changes as well as introduced the concept of concise diff plan outputs which does most of what scenery currently does.

If you'd like to add new functionality as you cannot upgrade your terraform version feel free you fork the repo.