#opentofu (2024-06)

Discuss OpenTofu-related topics

2024-06-03

Release notes from opentofu avatar
Release notes from opentofu
03:44:38 PM

v1.7.2 We’re proud to announce that OpenTofu 1.7.2 is now officially out This is a bugfix release and we encourage all OpenTofu 1.7.1 users to upgrade. What’s New?

Fixed - authorization header is not included for HTTP backends (<a class=”issue-link js-issue-link” data-error-text=”Failed to load title” data-id=”2304243089” data-permission-text=”Title is private” data-url=”https://github.com/opentofu/opentofu/issues/1656” data-hovercard-type=”issue”…

Release v1.7.2 · opentofu/opentofuattachment image

We’re proud to announce that OpenTofu 1.7.2 is now officially out This is a bugfix release and we encourage all OpenTofu 1.7.1 users to upgrade. What’s New?

Fixed - authorization header is not i…

Custom authorization header for http backend is dropped · Issue #1656 · opentofu/opentofuattachment image

OpenTofu Version OpenTofu v1.7.1 on darwin_arm64 OpenTofu Configuration Files terraform { backend “http” { address = “http://localhost:8000” headers = { “authorization” = “Bearer access-token” “Cac…

1
venkata.mutyala avatar
venkata.mutyala

Awesome…. I was waiting for a couple of patches to drop before i went to 1.7.X and now it’s been a couple.

Release v1.7.2 · opentofu/opentofuattachment image

We’re proud to announce that OpenTofu 1.7.2 is now officially out This is a bugfix release and we encourage all OpenTofu 1.7.1 users to upgrade. What’s New?

Fixed - authorization header is not i…

Custom authorization header for http backend is dropped · Issue #1656 · opentofu/opentofuattachment image

OpenTofu Version OpenTofu v1.7.1 on darwin_arm64 OpenTofu Configuration Files terraform { backend “http” { address = “http://localhost:8000” headers = { “authorization” = “Bearer access-token” “Cac…

2024-06-12

Hao Wang avatar
Hao Wang
 In addition to supporting `.tf` extension files as we do today, OpenTofu will support `.tofu` extension files. When two files have the same name, one with the `.tf` extension and one with the `.tofu` extension, OpenTofu will load only the `.tofu` file and ignore the `.tf` file. Hence, creating a mechanism that overrides specific files. This way the `.tofu` extension files will be used for OpenTofu specific features and syntax and the `.tf` extension files can be used for Terraform compatible features and syntax. Allowing users and module maintainers to use OpenTofu and Terraform in the same project without conflicts. 
2
James Humphries avatar
James Humphries

For curiosity. How do you feel about this @Hao Wang? Do you think its a good move, bad move?

Hao Wang avatar
Hao Wang

it is a good move, more flexible, and easy migration

Hao Wang avatar
Hao Wang

The current opentofu project is in good hands

1
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

oh, this is great!

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

@kevcube @Jeremy G (Cloud Posse) I think this solves our problem. https://github.com/cloudposse/terraform-yaml-stack-config/pull/93

#93 feat(remote-state): enable assume_role block in backend configuration to fix deprecation warning

what

Solves a deprecation warning for using role_arn parameter instead of assume_role configuration block.
Doesn’t use the complicated negation-of-try-contains ternary logic.. but it seems to work whether the value is present or not, being backwards compatible and not erroring if people don’t have assume_role blocks in their configuration. Please test because you guys are more familiar with the usage of this module than I am.

why

I was receiving this deprecation warning and wanted to silence it.

references

https://developer.hashicorp.com/terraform/language/settings/backends/s3#role_arn-1

kevcube avatar
kevcube

@Erik Osterman (Cloud Posse) both tofu and terraform seem to have the same support for this parameter though, the only issue is not supporting them before a certain version AFAIK. I tested my PR in Tofu + Terraform and it works in both if using latest version

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Ok, I believe you, it’s @Jeremy G (Cloud Posse) you need to convince

1
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Can you share what you tested in the PR

1
Jeremy G (Cloud Posse) avatar
Jeremy G (Cloud Posse)

@kevcube The issue is that Cloud Posse is not supporting the BSL licensed version of Terraform. If modules work with it, fine, but our main concern is maintaining support for Terraform 1.5.7. Anything that breaks Terraform 1.5.7 is not going to be allowed for the foreseeable future.

1
kevcube avatar
kevcube

@Jeremy G (Cloud Posse) I see, but I’d argue that versioned modules allow customers on old versions of terraform to retain compatibility. I always lean to the side of staying modern, but I know business is business. Let me know your thoughts on a module update, possibly with a breaking change to resolve this

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

The problem is we don’t have a good way of supporting major versions in the components monorepo. For our child modules, we handle this nicely and even have LTS branches for each major version. But in the monorepo, it’s not as straight forward.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

(its’ why we have plans to move components to a new org with a repo per component)

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

We’ll discuss this more internally on our ARB

1
Jeremy G (Cloud Posse) avatar
Jeremy G (Cloud Posse)

@kevcube Normally I’d agree with you about using versioned modules, but this is not the normal case. This particular module is used by nearly all the Cloud Posse components, and we would have to fork the module in order to provide ongoing updates to people who want to continue to use MPL-licensed Terraform 1.5.7 while at the same time supporting Tofu users. It would be a very large effort, with the only benefit being that a deprecation warning is removed.

That said, we are not indifferent to your concern about wanting things to work without generating warnings, and will come up with a way to provide that. It’s just not as easy as this PR. I’m hopeful we’ll have a solution rolled out in a couple of weeks.

1
Hao Wang avatar
Hao Wang

2 cents, tofu’s module source supports variables, if terraform can support this feature, it may work around this case

Hao Wang avatar
Hao Wang

or atoms can do something before that

kevcube avatar
kevcube

Ok @Jeremy G (Cloud Posse) I hear ya, thanks for the explanation, and admittedly a warning isn’t show-stopping.

2024-06-13

Hao Wang avatar
Hao Wang

This PR brings more dynamic in module versions https://opentofucommunity.slack.com/archives/C05RKE7PS72/p1718301319063179, and it may fix some --target 2-phase apply issues.

2024-06-14

2024-06-15

    keyboard_arrow_up