xchapter7x / clarity

A declaritive test framework for Terraform
MIT License
139 stars 8 forks source link

Support for 0.12 HCL #1

Closed ahelal closed 4 years ago

ahelal commented 4 years ago

Hi,

Thank you very much for the project. Any intention to support HCL2 ?

Cheers.

xchapter7x commented 4 years ago

Hey @ahelal ,

Glad you found value in this project. I've been debating if I should continue work on clarity or shift focus to conftest which is another project i'm a maintainer of, which also supports the ability to test hcl/hcl2.

I'd be curious on your thoughts on where the most value is moving forward.

Thanks in advance for your thoughts. :)

ahelal commented 4 years ago

Hi @xchapter7x

Thank you for pointing out conftest, I will have a look first. Initially it might just be okay to use it :)

Cheers,

aheumaier commented 4 years ago

Hi @xchapter7x ,

Openening this topic again since I it seems to provide a great value for my work. I there any intention to provide HCL2/ TF >=0.12.x support?

I would be able to provide some help.

Cheers,

xchapter7x commented 4 years ago

Hi @aheumaier ,

im glad to hear this is adding value to your work.

I've reopened the issued and ill look into adding hcl2 support shortly.

In the meantime, I'd be really interested in hearing about your experience and use case. If you wouldnt mind taking some time to share that would be greatly appreciated. Thanks :)

-John

aheumaier commented 4 years ago

Thanks for taking a second look at this.

For a large automotive customer project TF 0.12 on Azure is set. Since this is done TDD I am looking at the TF landscape for frameworks that testing cleanly complicated setups. Besides the ugly limited terratest we try to decide to invest in extending this or just missing a better approach ...

Your policy based approach with Cucumber based BDD seems close to what I am looking for .

-Andreas

xchapter7x commented 4 years ago

thanks for the context.

I was exploring incorporating hcl2, and im thinking ill do this in a few PRs. It seems ill need to migrate to using go modules to leverage the hcl v2 packages.

then ill incorporate the support for hcl2.

happy to accept any PRs you might have for this issue or any other features you might find valuable.

Ill start the modules migration today and update this issue as it goes.

aheumaier commented 4 years ago

Love to see this moving to go.mod

A quick look seems to boils down to replace hcl.Unmarshall with is removed in hcl2/hcl and replaced by several other options

One issure coming back over and over in several tool is the lack of var expansion support ) in TF tooling. I agree on the point that this is implemented in TF already - but haven't found a solid solution so far that actually resolves this issue in other tools.

xchapter7x commented 4 years ago

One issure coming back over and over in several tool is the lack of var expansion support ) in TF tooling. I agree on the point that this is implemented in TF already - but haven't found a solid solution so far that actually resolves this issue in other tools.

I've been kicking around an idea for an approach to address the problem set where ENV Var expansion would seem most valuable. ill keep dropping my thoughts here: https://github.com/xchapter7x/clarity/issues/4

xchapter7x commented 4 years ago

@aheumaier Check out the latest RC: https://github.com/xchapter7x/clarity/releases/tag/v0.6.2-rc.13

I don't know your use case, but there is now support for hcl2. Let me know if it works for you.

If not, please provide a sample hcl which shows the functionality that is not compatible.

Thanks for your involvement :)

xchapter7x commented 4 years ago

https://github.com/xchapter7x/clarity/releases/tag/v0.7.0 now comes with support for hcl2 by swapping the given from Terraform to HCL2