Skip to content

Upgrade GCP examples to pulumi-gcp v9 #2985

Closed

Description

@pose

The GCP examples in this repo are a major version behind. pulumi-gcp is on 9.x, but almost every GCP example still pins 8.x, and the Java one is older still. These examples are what customers copy, and they are also the source for the registry how-to-guides via tools/mktutorial, so the drift is user-visible.

Getting to v9 now is worth doing on its own merits, and it also de-risks the upcoming v10 upgrade: if these examples are still on v8 when v10 lands, every failure has to be triaged as either an 8-to-9 break or a 9-to-10 break before it can be acted on. Related: pulumi/pulumi-gcp#3931.

gcp-ts-vm-multi-nic is already on 9.x and needs no work.

TypeScript

  • gcp-ts-agent-sandbox
  • gcp-ts-cloudrun
  • gcp-ts-docker-gcr-cloudrun
  • gcp-ts-functions
  • gcp-ts-gke
  • gcp-ts-gke-hello-world
  • gcp-ts-gke-serviceaccount
  • gcp-ts-k8s-ruby-on-rails-postgresql
  • gcp-ts-oidc-provider-pulumi-cloud
  • gcp-ts-serverless-raw
  • gcp-ts-slackbot
  • kubernetes-ts-multicloud
  • multicloud-ts-buckets
  • policy-packs/gcp-ts

Python

  • gcp-py-cloudrun-cloudsql
  • gcp-py-functions
  • gcp-py-gke
  • gcp-py-instance-nginx
  • gcp-py-network-component
  • gcp-py-serverless-raw
  • gcp-py-webserver
  • policy-packs/gcp-python

Go

  • gcp-go-functions
  • gcp-go-functions-raw
  • gcp-go-gke
  • gcp-go-instance
  • gcp-go-webserver

.NET

  • gcp-cs-functions
  • gcp-cs-gke

Java

  • gcp-java-gke-hello-world — its pom.xml version range is stale by two majors, not one

Other

  • secrets-provider/gcloud

Acceptance criteria

  • Every example above pins pulumi-gcp 9.x, in whichever manifest its language uses.
  • Each example has been run successfully, or has a recorded reason it was skipped.
  • Any code change required by the 8-to-9 break is cross-checked against the v9 migration guide. If an example needed a change the guide does not mention, the guide gets updated.
  • The regenerated registry how-to-guides render correctly. N/A as written: the per-example GCP how-to-guides were retired from the registry and 301'd to pulumi.com/dev/examples/, sourced from pulumi/marketing-web. Nothing regenerates from this repo.

Activity

  1. self-assigned this
    on Aug 21, 2026
  2. added this to the 0.140 milestone on Aug 21, 2026
  3. pose commented on Sep 4, 2026

    @pose
    MemberAuthor

    Done in #2991. All 31 examples now pin pulumi-gcp 9.x, re-verified against master at 2d507c1 rather than from the PR: TypeScript on 9.35.1, Python on >=9.0.0,<10.0.0, Go on sdk/v9 v9.35.1, .NET on 9.*, Java on [9.0,10.0), and secrets-provider/gcloud on 9.35.1.

    No source change was required by the 8-to-9 break in any language, so there was nothing to cross-check against the v9 migration guide and it needs no update. The only code edits were the Go import paths.

    One acceptance criterion is not achievable as written. The per-example GCP how-to-guides no longer live in the registry: all 29 were retired and redirected to pulumi.com/dev/examples/, and the pages are now sourced from pulumi/marketing-web, which mirrors this repo on its own cadence. There is nothing here to regenerate, so I am closing rather than leaving it open on a step with no owner in this repo.

    The typecheck failures found along the way are tracked separately in #2993, with #2994 merged and #2992 open. None of them is caused by the v9 upgrade; all reproduce against the old v8 pins.

    gcp-ts-vm-multi-nic is on 9.31.0 rather than 9.35.1. Still 9.x, so in scope of the criterion, but worth a bump next time someone is in there.

  4. added theissue type on Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

kind/taskWork that's part of an ongoing epicneeds-triageNeeds attention from the triage teamresolution/fixedThis issue was fixed

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions