Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenTofu support #50

Closed
skyzyx opened this issue Aug 29, 2023 · 8 comments
Closed

OpenTofu support #50

skyzyx opened this issue Aug 29, 2023 · 8 comments

Comments

@skyzyx
Copy link

skyzyx commented Aug 29, 2023

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.

@minamijoyo
Copy link
Owner

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.

@skyzyx
Copy link
Author

skyzyx commented Aug 30, 2023

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:

  1. 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?

  2. Will testing be performed with code targeting both platforms?

  3. For OpenTF's potential future "superset" functionality, will that be treated as a first-class citizen?

@minamijoyo
Copy link
Owner

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.

@minamijoyo minamijoyo changed the title OpenTF support OpenTofu support Oct 17, 2023
@minamijoyo
Copy link
Owner

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     |
+----------------------+-------------+----------+----------+----------+-----------+

@minamijoyo
Copy link
Owner

I've added the OpenTofu alpha release to the test matrix in #52.
This issue will remain open until a stable version is released.

@minamijoyo
Copy link
Owner

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.

@kvendingoldo
Copy link

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.

@skyzyx
Copy link
Author

skyzyx commented Apr 10, 2024

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.

What does this have to do with tfschema?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants