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

Trouble converting Terraform to Pulumi with the Helm provider #58

Open
mplewis opened this issue Oct 10, 2021 · 3 comments
Open

Trouble converting Terraform to Pulumi with the Helm provider #58

mplewis opened this issue Oct 10, 2021 · 3 comments
Assignees
Labels
customer/feedback Feedback from customers kind/enhancement Improvements or new features

Comments

@mplewis
Copy link

mplewis commented Oct 10, 2021

Problem description

Hello, I am using the following guide to convert my Terraform stack to Pulumi:

https://www.pulumi.com/docs/guides/adopting/from_terraform/

I am having trouble with the following step:

Next, run tf2pulumi. It will convert the entire project whose directory you are in and put the resulting code in the local directory.

I see the following output when I run this command:

❯ tf2pulumi --target-language typescript
error: no resource plugin 'helm' found in the workspace or on your $PATH

I believe the issue is there is no Helm plugin to correspond with the Helm Terraform provider in my TF stack:

❯ pulumi plugin ls
NAME          KIND      VERSION  SIZE    INSTALLED     LAST USED
aws           resource  3.38.1   256 MB  5 months ago  5 months ago
aws           resource  3.34.0   253 MB  6 months ago  6 months ago
aws           resource  3.32.2   251 MB  6 months ago  6 months ago
digitalocean  resource  3.8.0    38 MB   5 months ago  5 months ago
digitalocean  resource  3.6.0    38 MB   6 months ago  6 months ago
kubernetes    resource  2.9.1    70 MB   5 months ago  5 months ago
kubernetes    resource  2.8.3    66 MB   6 months ago  6 months ago
random        resource  3.2.0    29 MB   5 months ago  5 months ago
random        resource  3.1.1    29 MB   6 months ago  6 months ago

Affected product version(s)

❯ tf2pulumi version
v0.11.1

Suggestions for a fix

I think that for now, my resolution is to comment the Helm provider and resources out, then try to manually resolve this by converting these resources into Pulumi kubernetes/helm/v3.

This error message seems a bit misleading in that there is no Helm plugin available, so it would be nice if it could give me a bit more context on what I should do here.

Long-term, it would be nice to support automatic migration from the official Hashicorp Helm provider into Pulumi kubernetes/helm/v3.

@mplewis mplewis added the needs-triage Needs attention from the triage team label Oct 10, 2021
@leezen
Copy link

leezen commented Oct 11, 2021

@mplewis That's correct that there's no corresponding bridged Helm provider. The Helm Release resource should behave fairly similarly to the Terraform Helm helm_release resource.

Makes sense that the error message could be clearer here in terms of plugin availability vs. not having a plugin installed.

@leezen leezen added kind/enhancement Improvements or new features and removed needs-triage Needs attention from the triage team labels Oct 11, 2021
@susanev susanev transferred this issue from pulumi/docs Apr 2, 2022
@lukehoban lukehoban transferred this issue from another repository Jul 7, 2023
@Frassle Frassle transferred this issue from pulumi/pulumi-terraform-bridge Oct 9, 2023
@mikhailshilkov
Copy link
Member

A customer is trying to convert (pulumi convert --from terraform --language python --out pulumi) terraform modules:

They get something like

Converting from terraform...

warning: failed to install provider "helm": could not find latest version for provider helm: 401 HTTP error fetching plugin from https://api.github.com/repos/pulumi/pulumi-helm/releases/latest
Converting to python...
Installing dependencies...
... (shortened)

and the process seemingly succeeds but the resulting Python file is almost empty (just module imports).

The modules are almost entirely based on the helm TF provider and its helm_release resource, which we should ideally convert to our kubernetes.helm.Release.

Related to pulumi/pulumi-kubernetes#2744

If converting to our Release is troublesome (as this comment suggests), we should still generate the code and let them use a locally bridged provider (or do that automatically, as #186 suggests).

@stooj
Copy link

stooj commented Jan 21, 2025

This is still an issue with the improved Terraform import tooling in v3.145.0.

warning: failed to install provider "helm": could not find latest version for provider helm: 404 HTTP error fetching plugin from https://api.github.com/repos/pulumi/pulumi-helm/releases/latest. If this is a private GitHub repository, try providing a token via the GITHUB_TOKEN environment variable. See: https://github.com/settings/tokens

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer/feedback Feedback from customers kind/enhancement Improvements or new features
Projects
None yet
Development

No branches or pull requests

5 participants