-
-
Notifications
You must be signed in to change notification settings - Fork 108
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
Implement pipeform
for Terraform Operations
#926
Comments
This sounds like a bug in pipeform. Per the docs, it says it's supported.
This would definitely be a welcome enhancement. It would likely benefit your tooling for terraform as well. We can sponsor this development in pipeform, if you're interested.
Yes, this is not good. It should probably work the way you described above, allowing individual resources to be expanded. They shouldn't "disappear". Ideal World
|
Really? I can't find the docs. |
@suzuki-shunsuke here is what I am referring to. Are we talking about the same thing? |
I think it means pipeform can provide TUI for these commands, but it doesn't mean pipeform can output Terraform's conventional outoputs to stdout. |
For pipeform to output the conventional Terraform command output, pipeform needs to convert the output of I checked the output of For instance, {
"@level": "info",
"@message": "github_issue_label.fooo: Plan to create",
"@module": "terraform.ui",
"@timestamp": "2025-01-15T22:33:03.343780+09:00",
"change": {
"resource": {
"addr": "github_issue_label.fooo",
"module": "",
"resource": "github_issue_label.fooo",
"implied_provider": "github",
"resource_type": "github_issue_label",
"resource_name": "fooo",
"resource_key": null
},
"action": "create"
},
"type": "planned_change"
} We can see the resource github_issue_label.fooo is created, but we can't see the attributes of the resource. # github_issue_label.fooo will be created
+ resource "github_issue_label" "fooo" {
+ color = "FF0000"
+ description = "foo"
+ etag = (known after apply)
+ id = (known after apply)
+ name = "fooo"
+ repository = "hoge"
+ url = (known after apply)
} |
So unfortunately, to provide both TUI and the conventional output, we need to run |
TUI has no meaning if you run |
@suzuki-shunsuke if the objective is to also support the regular terraform output, I think that could still be accomplished.
Isn't the workaround as simple as:
|
Oh, I see. Sounds good. |
We need to improve pipeform.
We need to discuss these problems with pipeform's maintainers. |
I'll get the conversation started by opening an issue in the project and linking to this topic. |
@suzuki-shunsuke the terraform plan handling was just resolved in: |
Describe the Feature
Improve the console DX of terraform operations by presenting the user with a friendly UI to show terrafom progress.
https://github.com/magodo/pipeform
Expected Behavior
Running
atmos terraform plan
andatmos terraform apply
will launch the pipeform UI. Note, this does not requirepipeform
to be installed, as it will be used as a native Go module.Use Case
On the command line, the output from terraform is overwhelming and doesn't convey the overall progress of the operation. Terraform will feel much friendlier if we present the user with a progress indicator.
Describe Ideal Solution
The UI would be enabled by default, but can be disabled via the
atmos.yaml
configuration.pipeform.mp4
Requirements:
CI=true
environment variable is set, then UI should be automatically disabled--no-ui
flag is explicitly passed, then the UI should be disabled.Alternatives Considered
No response
Additional Context
The pipeform library is licensed MPL2 and is not currently implemented as a Go module. We've contacted the @magodo (author) and he said he would accept a PR converting it to a library. As part of this implementation, we will need to first open a PR for that work.
The text was updated successfully, but these errors were encountered: