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

Update example on https://www.pulumi.com/tf2pulumi/ #13904

Open
meagancojocar opened this issue Jan 29, 2025 · 1 comment
Open

Update example on https://www.pulumi.com/tf2pulumi/ #13904

meagancojocar opened this issue Jan 29, 2025 · 1 comment
Labels
product/iac Docs issues for the IaC product

Comments

@meagancojocar
Copy link
Collaborator

meagancojocar commented Jan 29, 2025

Problem description

The program this generates doesn't run for me: https://www.pulumi.com/tf2pulumi/

@meagancojocar meagancojocar added needs-triage Needs attention from the triage team product/iac Docs issues for the IaC product labels Jan 29, 2025
@github-project-automation github-project-automation bot moved this to 🤔 Triage in Docs 📚 Jan 29, 2025
@interurban interurban removed the needs-triage Needs attention from the triage team label Feb 3, 2025
@interurban interurban moved this from 🤔 Triage to 🧳 Backlog in Docs 📚 Feb 3, 2025
@thoward
Copy link
Contributor

thoward commented Feb 4, 2025

First step is to figure out which examples are broken. This page has example programs in TF HCL for Aws, Azure, and GKE, and converts each those to four languages, TypeScript, Python, Go, and C#. So, we need to test all of:

AWS:

  • aws-tf -> aws-ts
  • aws-tf -> aws-py
  • aws-tf -> aws-go
  • aws-tf -> aws-csharp

Azure:

  • azure-tf -> azure-ts
  • azure-tf -> azure-py
  • azure-tf -> azure-go
  • azure-tf -> azure-csharp

GKE:

  • gke-tf -> gke-ts
  • gke-tf -> gke-py
  • gke-tf -> gke-go
  • gke-tf -> gke-csharp

(I'll test and come back and check these off if they are passing).

The seed examples are hardcoded into this file:
https://github.com/pulumi/docs/blob/master/content/migrate/tf2pulumi.md?plain=1

And the service that handles the conversion is located here:
https://github.com/pulumi/home/tree/master/infrastructure/tf2pulumi-service

One immediate issue that jumps out at me is that the service is just shelling out to pulumi convert and uses a fixed version string to select the version of the Pulumi CLI to download and use. This is currently set to 3.95.0 (code ref, last updated about 2 years ago) while the latest release of Pulumi CLI is 3.148.0. I am guessing that we have improved the conversion tool since then.

That said, I would also think that pinning the version of the CLI should ensure that the hardcoded examples will continue to work as expected. I suspect the issue is changes in the underlying providers, which are not pinned, leading to API drift over time.

Last folks who worked on the backend service were @mikhailshilkov and @justinvp.

@thoward thoward moved this from 🧳 Backlog to 🔧 In Progress in Docs 📚 Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
product/iac Docs issues for the IaC product
Projects
Status: 🔧 In Progress
Development

No branches or pull requests

3 participants