Changelogs » Pulumi-kubernetes

PyUp Safety actively tracks 274,040 Python packages for vulnerabilities and notifies you when to upgrade.



-   Replace workload resources if any field in `.spec.selector` changes. (
  -   Update pulumi deps to v2.15.0 (
  -   Add package/module registration for NodeJS and Python (


-   Fixed a gRPC error for larger Helm charts in the .NET SDK [4224](
  -   Update pulumi deps to v2.14.0 (


-   Error on delete if cluster is unreachable (
  -   Update pulumi deps to v2.13.2 (


-   Add support for previewing Create and Update operations for API servers that support dry-run (
  -   Fix panic introduced in 1355 (
  -   (NodeJS) Add ready attribute to await Helm charts (
  -   Update Helm to v3.4.0 and client-go to v1.19.2 (
  -   Update Helm to v3.4.1 and client-go to v1.19.3 (
  -   Fix panic when provider is given kubeconfig as an object instead of string (
  -   Fix concurrency issue in Helm + .NET SDK [1311]( and [1374](


-   Revert Helm v2 deprecation warnings (


Important Note
  Helm v2 support is [EOL](, and will no longer be supported upstream
  as of next month. Furthermore, the stable/incubator chart repos will likely
  [stop working]( after November 13, 2020. Deprecation warnings have
  been added for any usage of Pulumi's `helm.v2` API, and this API will be removed at a future date. Our `helm.v3` API is
  backward compatible, so you should be able to update without disruption to existing resources.
  Bug Fixes
  -   Set plugin version for Go SDK invoke calls (
  -   Python: Fix generated examples and docs to prefer input/output classes (
  -   Update Helm v3 mod to v3.3.2 (
  -   Update Helm v3 mod to v3.3.3 (
  -   Change error to warning if internal autoname annotation is set (
  -   Deprecate Helm v2 SDKs (


Bug Fixes
  -   Fix Python type hints for lists (
  -   Fix Python type hints for integers (
  -   Fix Helm v3 default namespace handling (
  -   Update Helm v3 mod to v3.3.1 (


Note: There is a minor breaking change in the .NET SDK for Helm v3. As part of the switch to using native
  Helm libraries in 1291, the Helm.V3.Chart class no longer inherits from the ChartBase class. Most users should
  not be affected by this change.
  Bug Fixes
  -   Upgrade version of pyyaml to fix a [security vulnerability]( (
  -   Fix Helm api-versions handling in all SDKs. (
  -   Update .NET Helm v3 to use native client. (
  -   Update Go Helm v3 to use native client. (
  -   Python: Allow type annotations on transformation functions. (

2.5.1 not secure

Bug Fixes
  -   Fix regression of .get methods in NodeJS SDK. (
  -   Upgrade to Pulumi v2.9.0, which adds type annotations and input/output classes to Python (
  -   Switch Helm v3 logic to use native library. (
  -   Bump python requests version dependency. (
  -   Update NodeJS Helm v3 to use native client. (
  -   [sdk/nodejs] Remove unneccessary constructor overloads. (

2.5.0 not secure

  -   Add support for k8s v1.19.0. (
  -   Handle kubeconfig contents or path in provider. (
  -   Add type annotations to Python SDK for API Extensions, Helm, Kustomize, and YAML. (
  -   Update k8s package deps to v0.18.8. (
  -   Move back to upstream json-patch module. (

2.4.3 not secure

Bug Fixes
  -   Rename Python's yaml.ConfigFile file_id parameter to file. (
  -   Remove the ComponentStatus resource type. (

2.4.2 not secure

Bug Fixes
  -   Fix server-side diff when immutable fields change. (
  -   Update json-patch mod to fix hangs on pulumi update. (

2.4.1 not secure

Bug Fixes
  -   Handle networking/v1beta1 Ingress resources. (
  -   Add NodeJS usage examples for Helm, Kustomize, and YAML resources. (
  -   Add Python usage examples for Helm, Kustomize, and YAML resources. (
  -   Add v3 Helm package for Go SDK. (
  -   Add Go usage examples for Helm, Kustomize, and YAML resources. (
  -   Add yaml.ConfigGroup to Python SDK. (
  -   Add C usage examples for Helm, Kustomize, and YAML resources. (

2.4.0 not secure

Bug Fixes
  -   Fix error parsing Helm version (
  -   Fix prometheus-operator test to wait for the CRD to be ready before use (
  -   Fix suppress deprecation warnings flag (
  -   Set additionalSecretOutputs on Secret data fields (
  -   Set supported environment variables in SDK Provider classes (
  -   Python SDK updated to align with other Pulumi Python SDKs. (
  -   Add support for Kustomize. (
  -   Implement GetSchema to enable example and import code generation. (
  -   Only show deprecation messages when new API versions exist in current cluster version (

2.3.1 not secure

  -   Update resource deprecation/removal warnings. (
  Bug Fixes
  -   Fix regression in TypeScript YAML SDK (

2.3.0 not secure

  - NodeJS SDK updated to align with other Pulumi NodeJS SDKs. (
  - .NET SDK updated to align with other Pulumi .NET SDKs. (
  - Deprecated resources are now marked as `Obsolete`.
  - Many classes are moved to new locations on disk while preserving the public namespaces and API.
  - Several unused argument/output classes were removed without any impact on resources (e.g. `DeploymentRollbackArgs`).
  - Fixed the type of some properties in `JSONSchemaPropsArgs` (there's no need to have 2nd-level inputs there):
  - `InputList<InputJson>` -> `InputList<JsonElement>`
  - `InputMap<Union<TArgs, InputList<string>>>` -> `InputMap<Union<TArgs, ImmutableArray<string>>>`
  Bug Fixes
  -   Fix incorrect schema consts for apiVersion and kind (

2.2.2 not secure

-   2.2.1 SDK release process failed, so pushing a new tag.


  -   Update deprecated/removed resource warnings. (
  -   Update to client-go 1.18. (
  -   Don't replace Service on .spec.type change. (
  Bug Fixes
  -   Fix regex in python `include-crds` logic (

2.2.0 not secure

  -   Support helm v3 `include-crds` argument. (
  -   Bump python requests version dependency. (
  -   Add apiextensions.CustomResource to Go SDK. (

2.1.1 not secure

-   Python and .NET packages failed to publish for 2.1.0, so bumping release version.

2.1.0 not secure

  -   Add YAML support to Go SDK. (
  -   Add Helm support to Go SDK. (
  Bug Fixes
  -   fix(customresources): use a 3-way merge patch instead of strategic merge. (
  -   Fix required input props in Go SDK. (
  -   Update Go SDK using latest codegen packages. (
  -   Fix schema type for Fields and RawExtension. (
  -   Fix error parsing YAML in python 3.8 (
  -   Fix HELM_HOME handling for Helm v3. (

2.0.0 not secure

  -   Add consts to Go SDK. (
  -   Add `CustomResource` to .NET SDK (
  -   Upgrade to Pulumi v2.0.0
  Bug fixes
  -   Sort fetched helm charts into alphabetical order. (


and no longer appear in the Pulumi Kubernetes SDKs. These resources can now be found at
  discovery.v1beta1.EndpointSlice and discovery.v1beta1.EndpointSliceList.
  Major changes
  -   Add support for Kubernetes v1.17.0 (

1.6.0 not secure

  -   Add a Go SDK. ( (
  -   Add support for Kubernetes 1.18. ( (
  Bug fixes
  -   Update the Python `Provider` class to use parameter naming consistent with other resources. (
  -   Change URN for apiregistration resources. (

1.5.8 not secure

  -   Automatically populate type aliases and additional secret outputs in the .NET SDK.  (
  -   Update to Pulumi NuGet 1.12.1 and .NET Core 3.1.  (

1.5.7 not secure

Bug fixes
  -   Change URN for apiregistration resources. (
  -   Replace PersistentVolume if volume source changes. (
  -   Fix bool Python provider opts. (

1.5.6 not secure

Bug fixes
  -   Replace Daemonset if .spec.selector changes. (
  -   Display error when pulumi plugin install fails. (

1.5.5 not secure

Bug fixes
  -   Upgrade pulumi/pulumi dep to 1.11.0 (fixes 984). (

1.5.4 not secure

  -   Auto-generate aliases for all resource kinds. (
  Bug fixes
  -   Fix aliases for several resource kinds. (
  -   Don't require valid cluster for YAML render mode. (
  -   Fix .NET resources with empty arguments. (
  -   Fix panic condition in Pod await logic. (
  -   .NET SDK supports resources to work with YAML Kubernetes files and Helm charts.

1.5.3 not secure

Bug fixes
  -   Change invoke call to always use latest version. (

1.5.2 not secure

  -   Optionally render YAML for k8s resources. (

1.5.1 not secure

Bug fixes
  -   Specify provider version for invokes. (

1.5.0 not secure

  -   Update nodejs SDK to use optional chaining in constructor. (
  -   Automatically set Secret inputs as pulumi.secret. (
  -   Create helm.v3 alias. (
  Bug fixes
  -   Fix hang on large YAML files. (
  -   Use resourcePrefix all code paths. (

1.4.5 not secure

Bug fixes
  -   Handle invalid kubeconfig context. (

1.4.4 not secure

  -   Improve namespaced Kind check. (
  -   Add helm template `apiVersions` flag. (
  -   Move YAML decode logic into provider and improve handling of default namespaces for Helm charts. (
  Bug fixes
  -   Gracefully handle unreachable k8s cluster. (
  -   Fix deprecation notice for CSINode. (

1.4.3 not secure

Bug fixes
  -   Revert invoke changes. (

1.4.2 not secure

  -   Move YAML decode logic into provider. (
  -   Improve handling of default namespaces for Helm charts. (
  Bug fixes
  -   Fix panic condition in Ingress await logic. (
  -   Fix deprecation warnings and docs. (
  -   Fix projection of array-valued output properties in .NET. (

1.4.1 not secure

Bug fixes
  -   Fix deprecation warnings and docs. ( and /pulumi/pulumi-kubernetes/pull/921).

1.4.0 not secure


1.3.4 not secure

  -   Use HELM_HOME as default if set. (
  -   Use `namespace` provided by `KUBECONFIG`, if it is not explicitly set in the provider (

1.3.3 not secure

  -   Add `Provider` for .NET. (

1.3.2 not secure

  -   Add support for .NET. (

1.3.1 not secure

  -   Add support for helm 3 CLI tool. (

1.3.0 not secure

  -   Increase maxBuffer for helm template exec. (
  -   Add StreamInvoke RPC call, along with stream invoke implementations for
  kubernetes:kubernetes:watch, kubernetes:kubernetes:list, and kubernetes:kubernetes:logs. (858, 873, 876).

1.2.3 not secure

Bug fixes
  -   Correctly merge provided opts for k8s resources. (
  -   Fix a bug that causes helm crash when referencing 'scoped packages' that start with ''. (

1.2.2 not secure

  -   Stop using initialApiVersion annotation. (
  -   Cache the parsed OpenAPI schema to improve performance. (

1.2.1 not secure

  -   Cache the OpenAPI schema to improve performance. (
  -   Aggregate error messages from Pods on Job Read. (
  -   Improve interactive status for Jobs. (

1.2.0 not secure

  -   Add logic to check for Job readiness. (
  -   Automatically mark Secret data and stringData as secret. (
  -   Auto-alias resource apiVersions. (
  -   Provide detailed error for removed apiVersions. (

1.1.0 not secure

Major changes
  -   Add support for Kubernetes v1.16.0 (
  -   Implement customTimeout for resource deletion. (
  -   Increase default readiness timeouts to 10 mins. (
  -   Add suppressDeprecationWarnings flag. (
  -   Warn for invalid usage of Helm repo parameter. (
  -   Add PodAggregator for use by resource awaiters. (

1.0.1 not secure

  -   Warn for deprecated apiVersions.
  Bug fixes
  -   Fix await logic for extensions/v1beta1/Deployment
  -   Fix error reporting

1.0.0 not secure

Bug fixes
  -   Fix name collisions in the Charts/YAML Python packages
  -   Implement `{ConfigFile, ConfigGroup, Chart}get_resource`
  -   Upgrade Pulumi dependency to 1.0.0.


  Bug fixes
  -   Do not leak unencrypted secret values into the state file (fixes


  -   Refactor and update the docs of the repo for 1.0. (
  -   Document await logic in the SDKs. (
  -   Document await timeouts and how to override. (
  -   Improve CustomResource for Python SDK. (
  -   Clean up Python SDK get methods. (
  -   Remove undocumented kubectl replace invoke method. (
  -   Don't populate `.status` in input types (
  -   Allow a user to pass CustomTimeouts as part of ResourceOptions (fixes
  -   Don't panic when an Asset or an Archive are passed into a resource definition (
  Bug fixes
  -   Fix error messages for resources with default namespace. (
  -   Correctly compute version number for plugin to send with registration requests (fixes


  -   Add .get() to Python SDK. (

0.25.6 not secure

Bug fixes
  -   Align YAML parsing with core Kubernetes supported YAML subset. (
  -   Handle string values in the equalNumbers function. (
  -   Properly detect readiness for Deployment scaled to 0. (
  -   Fix a bug that caused crashes when empty array values were added to resource inputs. (

0.25.5 not secure

Bug fixes
  -   Fall back to client-side diff if server-side diff fails. (
  -   Fix namespace arg for Python Helm SDK (
  -   Detect namespace diff for first-class providers. (
  -   Fix values arg for Python Helm SDK (
  -   Fix Python Helm LocalChartOpts to inherit from BaseChartOpts (

0.25.4 not secure

  This release reverts the default diff behavior back to the pre-`0.25.3` behavior. A new flag has
  been added to the provider options called `enableDryRun`, that can be used to opt in to the new
  diff behavior. This will eventually become the default behavior after further testing to ensure
  that this change is not disruptive.
  Major changes
  -   Disable dryRun diff behavior by default. (
  -   Improve error messages for StatefulSet. (
  Bug fixes
  -   Properly reference override values in Python Helm SDK (
  -   Handle Output values in diffs. (

0.25.3 not secure

Bug fixes
  -   Allow `yaml.ConfigGroup` to take URLs as argument
  -   Return useful errors when we fail to fetch URL YAML
  -   Use JSON_SCHEMA when parsing Kubernetes YAML, to conform with the expectations of the Kubernetes
  core resource types. (
  -   Don't render emoji on Windows. (
  -   Emit a useful error message (rather than a useless one) if we fail to parse the YAML data in
  `kubernetes:config:kubeconfig` (
  -   Provide useful contexts in provider errors, particularly those that originate from the API
  server (
  -   Expose all Kubernetes types through the SDK
  -   Use `opts` instead of `__opts__` and `resource_name` instead of `__name__` in Python SDK
  -   Properly detect failed Deployment on rollout. (
  -   Use dry-run support if available when diffing the actual and desired state of a resource
  -   Fix panic when `.metadata.label` is mistyped
  -   Fix unexpected diffs when running against an API server that does not support dry-run.

0.25.2 not secure

  -   The Kubernetes provider can now communicate detailed information about the difference between a resource's
  desired and actual state during a Pulumi update. (
  -   Refactor Pod await logic for easier testing and maintenance (
  -   Update to client-go v12.0.0 (
  -   Fallback to JSON merge if strategic merge fails (
  Bug fixes
  -   Fix Helm Chart resource by passing `resourcePrefix` to the yaml template resources (

0.25.1 not secure

  -   Unify diff behavior between `Diff` and `Update`. This should result in better detection of state drift as
  well as behavior that is more consistent with respect to `kubectl`. (
  -   The Kubernetes provider now supports the internal features necessary for the Pulumi engine to detect diffs between the actual and desired state of a resource after a `pulumi refresh` (
  -   The Kubernetes provider now sets the `""` annotation to the last deployed configuration for a resource. This enables better interoperability with `kubectl`.
  Bug fixes
  -   Add more props that force replacement of Pods (

0.25.0 not secure

Major changes
  -   Add support for Kubernetes v1.15.0 (
  -   Enable multiple instances of Helm charts per stack (
  -   Enable multiple instances of YAML manifests per stack (
  Bug fixes
  -   None

0.24.0 not secure

  BREAKING: This release changes the behavior of the provider `namespace` flag introduced
  in `0.23.0`. Previously, this flag was treated as an override, which ignored namespace
  values set directly on resources. Now, the flag is a default, and will only set the
  namespace if one is not already set. If you have created resources using a provider
  with the `namespace` flag set, this change may cause these resources to be recreated
  on the next update.
  Major changes
  -   BREAKING: Change the recently added `transformations` callback in Python to match JavaScript API (
  -   BREAKING: Remove `getInputs` from Kubernetes resource implementations. (
  -   BREAKING: Change provider namespace from override to default. (
  -   Enable configuring `ResourceOptions` via `transformations` (
  -   Changing k8s cluster config now correctly causes dependent resources to be replaced (
  -   Add user-defined type guard `isInstance` to all Kubernetes `CustomResource` implementations (
  Bug fixes
  -   Fix panics during preview when `metadata` is a computed value (

0.23.1 not secure

Major changes
  -   None
  -   Update to use client-go v11.0.0 (
  -   Deduplicate provider logs (
  Bug fixes
  -   Fix namespaceable check for diff (

0.23.0 not secure

  This release fixes a longstanding issue with the provider namespace flag. Previously, this
  flag was erroneously ignored, but will now cause any resources using this provider to be
  created in the specified namespace. **This may cause resources to be recreated!** Unset the
  namespace parameter to avoid this behavior. Also note that this parameter takes precedence
  over any namespace defined on the underlying resource.
  The Python SDK now supports YAML manifests and Helm charts, including `CustomResourceDefinitions`
  and `CustomResources`!
  Major changes
  -   Put all resources in specified provider namespace (
  -   Add Helm support to Python SDK (
  Bug fixes
  -   Fix Helm repo quoting for Windows (
  -   Fix Python YAML SDK (

0.22.2 not secure

  This release improves handling for CustomResources (CRs) and CustomResourceDefinitions (CRDs).
  CRs without a matching CRD will now be considered deleted during `pulumi refresh`, and `pulumi destroy`
  will not fail to delete a CR if the related CRD is missing.
  See for details.
  Major changes
  -   None
  -   Improve error handling for "no match found" errors (
  Bug fixes
  -   None

0.22.1 not secure

Major changes
  -   Add basic YAML support to Python SDK (
  -   Add transforms to YAML support for Python SDK (
  -   Move helm module into a directory (
  -   Move yaml module into a directory (
  Bug fixes
  -   Fix Deployment await logic for old API schema (
  -   Replace PodDisruptionBudget if spec changes (

0.22.0 not secure

Major changes
  -   Add support for Kubernetes v1.14.0 (
  -   Add CustomResource to Python SDK (
  Bug fixes
  -   None

0.21.1 not secure

Major changes
  -   None
  -   Split up nodejs SDK into multiple files (
  Bug fixes
  -   Check for unexpected RPC ID and return an error (
  -   Fix an issue where the Python `pulumi_kubernetes` package was depending on an older `pulumi` package.
  -   Fix YAML parsing for computed namespaces (

0.21.0 not secure

  Updating to v0.17.0 version of `pulumi/pulumi`.  This is an update that will not play nicely
  in side-by-side applications that pull in prior versions of this package.
  See for more details.
  As such, we are rev'ing the minor version of the package from 0.16 to 0.17.  Recent version of `pulumi` will now detect, and warn, if different versions of `pulumi/pulumi` are loaded into the same application.  If you encounter this warning, it is recommended you move to versions of the `pulumi/...` packages that are compatible.  i.e. keep everything on 0.16.x until you are ready to move everything to 0.17.x.

0.20.4 not secure

Major changes
  -   None
  -   Allow the default timeout for awaiters to be overridden (
  Bug fixes
  -   Properly handle computed values in labels and annotations (

0.20.3 not secure

Major changes
  -   None
  -   None
  Bug fixes
  -   Move mocha dependencies to devDependencies (
  -   Include managed-by label in diff preview (

0.20.2 not secure

Major changes
  -   None
  -   Allow awaiters to be skipped by setting an annotation (
  -   Set managed-by: pulumi label on all created resources (
  -   Clean up docstrings for Helm package (
  -   Support explicit `deleteBeforeReplace` (
  Bug fixes
  -   Fix an issue with variable casing (
  -   Use modified copy of memcache client (

0.20.1 not secure

Bug fixes
  -   Fix namespace handling regression (
  -   Nest Input<T> inside arrays (

0.20.0 not secure

Major changes
  -   Add support for first-class Python providers (
  -   Upgrade to client-go 0.10.0 (
  -   Consider PVC events in Deployment await logic (
  -   Improve info message for Ingress with default path (
  -   Autogenerate Python casing table from OpenAPI spec (
  Bug fixes
  -   Use `node-fetch` rather than `got` to support Node 6 (
  -   Prevent orphaned resources on cancellation during delete (
  -   Handle buggy case for headless Service with no port (

0.19.0 not secure

Major changes
  -   Implement incremental status updates for `StatefulSet`
  -   Allow the `pulumi/kubernetes` YAML API to understand arbitrary URLs
  -   Add support for `.get` on CustomResources
  -   Add support for `.get` for first-class providers
  -   Fix Ingress await logic for ExternalName Services
  -   Fix replacement logic for Job
  ( and
  -   Fix Cluster/RoleBinding replace semantics
  -   Improve typing for `apiVersion` and `kind`

0.18.0 not secure

Major changes
  -   Allow Helm Charts to have `pulumi.Input` in their `values`
  -   Retry REST calls to Kubernetes if they fail, greatly improving resiliance against resorce
  operation ordering problems.
  -   Add support for creating CRDs and CRs in the same app
  -   Add incremental await for logic for `Ingress`
  -   Allow users to specify a Chart's source any way they can do it from the CLI
  -   "Fix" "bug" that cases Pulumi to crash if there is a duplicate key in a YAML template, to conform
  with Helm's behavior (
  -   Emit better error when the API server is unreachable
  -   Add support for Kubernetes v0.12.\* (
  -   Fix bug that spuriously requires `` to be specified in Kubernetes list types
  (_e.g._, `v1/List`) (,
  -   Add Kubernetes v0.13.\* support (
  -   Improve error message when `Service` fails to initialized
  -   Fix bug that causes us to erroneously report `Pod`'s owner