# Pulumi Kubernetes v4.34.0: CRDs as provider extensions

DevFeed: [Pulumi Kubernetes v4.34.0: CRDs as provider extensions](<https://devfeed.tech/articles/pulumi-kubernetes-v4-34-0-crds-as-provider-extensions-19012.md>)

Original publisher: [Read original article](<https://www.pulumi.com/blog/kubernetes-crds-as-provider-extensions/>)

Author: Guinevere Saenger

Published: 2026-08-28T00:00:00Z

Content type: release

Language: en

Sources: [Pulumi](<https://devfeed.tech/sources/pulumi.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [ingress-nginx](<https://devfeed.tech/topics/ingress-nginx.md>)

Tags: [extensions](<https://devfeed.tech/tags/extensions.md>), [install](<https://devfeed.tech/tags/install.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [migration](<https://devfeed.tech/tags/migration.md>), [product](<https://devfeed.tech/tags/product.md>), [providers](<https://devfeed.tech/tags/providers.md>), [release](<https://devfeed.tech/tags/release.md>), [releases](<https://devfeed.tech/tags/releases.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

## AI overview

Pulumi Kubernetes provider v4.34.0 adds support for extending the provider with Kubernetes Custom Resource Definitions through a manifest and the new --extension flag. The release generates SDKs, supports all supported Pulumi languages including YAML, uses a single provider instance, and provides a migration path from crd2pulumi.

## Source excerpt

We're really excited to bring you v4.34.0, the newest version of the Pulumi Kubernetes provider, which includes improved support for Kubernetes Custom Resource Definitions (CRDs). As with any release, we've also shipped standard dependency updates and bug fixes. This provider release includes the newest resources for Kubernetes v1.37.0, which was recently cut. So that in itself is very exciting! But the feature we're proudest of is that you can now extend the Kubernetes provider with any Kubernetes Custom Resource Definition of your choice by passing its manifest file to Pulumi, using the new --extension flag. We believe first-class CRD support in Pulumi is becoming more important than ever. For example, since the retirement of the ingress-nginx controller earlier this year, the recommended path for cluster ingress is Gateway API, which is maintained and shipped as CRDs. Generating a Pulumi SDK for CRDs In your Pulumi project root, run: pulumi package add kubernetes --extension "name=gateway-networking crd-manifest=gateway-api-crds.yaml" You will see the custom SDK appear in a new sdks/ folder, as well as a new parameterization reference in Pulumi.yaml. Single provider instance Your new CRD schema exists as an extension to your existing provider and will be managed under the same provider instance, allowing you to use a single provider configuration and kubeconfig. SDKs as dependencies Additionally, your code no longer needs to ship SDK files as part of the project. The provider extension is referenced in your project file and its SDK, like all dependencies, can be regenerated via pulumi install. You can choose to version the extension SDK, or continue to check the files into version control if you so desire. Full language support, including for YAML Kubernetes CRDs can now be provisioned with Pulumi in all supported languages. Unified CLI experience pulumi package add --extension extends your CRD schema into the Pulumi Kubernetes provider, using the same CLI as any