Closed skyzyx closed 10 months ago
As of this writing, there is no publicly available OpenTF implementation, so I cannot say for sure. Still, tfschema doesn't depend on the Terraform CLI at runtime; it depends on the provider's cache and protocol. Thus, it can be expected to work as long as these are compatible.
Thank you for answering.
From a technical perspective, I expect that it will be a no-op for the time being as OpenTF anticipates maintaining compat/interop for the foreseeable future. (However, OpenTF has stated that some functionality may be added to OpenTF that is a superset of what's in base Terraform. [source])
From a process perspective:
If there is a bug in OpenTF that does not exist in Terraform (or vice-versa), will bug reports (as they pertain to this project) be treated equally on both platforms?
Will testing be performed with code targeting both platforms?
For OpenTF's potential future "superset" functionality, will that be treated as a first-class citizen?
First, this project is one of my hobby projects, and I'm not a competitor of HashiCorp or OpenTF. As a maintainer of this project, my stance is neutral, but as you know, maintaining compatibility for forks is not for free. For now, I feel it's too early to discuss potential something. Please wait until someone finds actual compatible issues, then start talking about them.
FYI: While not fully tested yet, tasting tofu alpha2 looks like tfschema works as is.
[tofu@opentofu|✔]$ cat main.tf
provider "aws" {}
[tofu@opentofu|✔]$ tofu --version
OpenTofu v1.6.0-alpha2
on darwin_arm64
[tofu@opentofu|✔]$ tofu init
(snip.)
[tofu@opentofu|✔]$ go run ../../main.go resource show aws_iam_user
+----------------------+-------------+----------+----------+----------+-----------+
| ATTRIBUTE | TYPE | REQUIRED | OPTIONAL | COMPUTED | SENSITIVE |
+----------------------+-------------+----------+----------+----------+-----------+
| arn | string | false | false | true | false |
| force_destroy | bool | false | true | false | false |
| id | string | false | true | true | false |
| name | string | true | false | false | false |
| path | string | false | true | false | false |
| permissions_boundary | string | false | true | false | false |
| tags | map(string) | false | true | false | false |
| tags_all | map(string) | false | true | true | false |
| unique_id | string | false | false | true | false |
+----------------------+-------------+----------+----------+----------+-----------+
I've added the OpenTofu alpha release to the test matrix in #52. This issue will remain open until a stable version is released.
Closed by #55
I've cut a new release, tfschema v0.7.8, which includes the official OpenTofu support. I also updated the description to clarify it.
btw. you can also integrate tenv that support Terraform as well as OpenTofu (and Terragrunt :) ) in one tool. It allow you to simplify version management.
https://opentf.org/announcement
We want to understand how tfschema is affected by the OpenTF announcement, and what the plans for support are moving forward.