Skip to content

Releases: pulumi/pulumi-kubernetes

v4.18.1

13 Sep 23:00
7155e2e
Compare
Choose a tag to compare

Added

  • Schemagen is now a library that can be consumed by other packages. (#3187)

Changed

  • Updated beta Kubernetes client libraries to stable v1.31 release. (#3196)

v4.18.0

11 Sep 23:34
730d9d8
Compare
Choose a tag to compare

Important

The enableSecretMutable and enableConfigMapMutable options may become the default behavior in a future v5 release of the provider.

Programs that depend on the replacement of Secrets and ConfigMaps (e.g. to trigger updates for downstream dependencies like Deployments) are recommended to explicitly specify immutable: true.

Added

  • The new enableSecretMutable provider configuration option treats changes to Secrets as updates instead of replacements (similar to the enableConfigMapMutable option).

    The default replacement behavior can be preserved for a particular Secret by setting its immutable field to true. (#2291)

  • A warning is now emitted if an object has finalizers which might be blocking deletion. (#1418)

  • EXPERIMENTAL: Generic await logic is now available as an opt-in feature. Running a program with PULUMI_K8S_AWAIT_ALL=true will now cause Pulumi to await readiness for all resources, including custom resources.

    Generic readiness is determined according to some well-known conventions (like the "Ready" condition) as determined by cli-utils.

    Pulumi's current behavior, without this feature enabled, is to assume some resources are immediately available, which can cause downstream resources to fail.

    Existing readiness logic is unaffected by this setting. (#2996)

  • EXPERIMENTAL: The pulumi.com/waitFor annotation was introduced to allow for custom readiness checks. This override Pulumi's own await logic for the resource (however the pulumi.com/skipAwait annotation still takes precedence).

    The value of this annotation can take 3 forms:

    1. A string prefixed with jsonpath= followed by a JSONPath expression and an optional value.

      The JSONPath expression accepts the same syntax as kubectl get -o jsonpath={...}.

      If a value is provided, the resource is considered ready when the JSONPath expression evaluates to the same value. For example this resource expects its "phase" field to have a value of "Running":

      `pulumi.com/waitFor: "jsonpath={.status.phase}=Running"`
      

      If a value is not provided, the resource will be considered ready when any value exists at the given path, similar to kubectl wait --for jsonpath=.... This resource will wait until it has a webhook configured with a CA bundle:

      `pulumi.com/waitFor: "jsonpath={.webhooks[*].clientConfig.caBundle}"`
      
    2. A string prefixed with condition= followed by the type of the condition and an optional status. This matches the behavior of
      kubectl wait --for=condition=... and will wait until the resource has a matching condition. The expected status defaults to "True" if not specified.

      `pulumi.com/waitFor: "condition=Synced"`
      
      `pulumi.com/waitFor: "condition=Reconciling=False"`
      
    3. A string containing a JSON array of multiple jsonpath= and condition= expressions.

      `pulumi.com/waitFor: '["jsonpath={.foo}", "condition=Bar"]'`
      
  • Pulumi will now emit logs for any Kubernetes "Warning" Events associated with resources being created, updated or deleted. (https://github.com/pulumi/pulumi-kubernetes/pull/3135/files)

Fixed

  • The immutable field is now respected for ConfigMaps when the provider is configured with enableConfigMapMutable.
    (#3181)

  • Fixed a panic that could occur during deletion. (#3157)

v4.17.1

16 Aug 20:47
2cc176d
Compare
Choose a tag to compare

Fixed

  • Fixed a panic that would occur when updating ServiceAccounts. (#3166)
  • Fixed a panic that could occur when using clusterIdentifier provider configuration. (#3168)

v4.17.0

13 Aug 21:35
3c2367c
Compare
Choose a tag to compare

Changed

  • Updated Kubernetes schemas and libraries to v1.31.0. (#3144)

Fixed

  • Services with selectors targeting 0 Pods will no longer hang indefinitely. (#605)
  • Services without selectors will no longer hang indefinitely. (#799)

v4.16.0

08 Aug 00:55
b06e1f9
Compare
Choose a tag to compare

Added

  • clusterIdentifier configuration can now be used to manually control the replacement behavior of a provider resource. (#3068)

  • Pod errors now include the pod's last termination state, as well as the pod's termination message if available. (#3091)

    The pod's termination message can be helpful in CrashLoopBackOff situations but will only be reported if it was correctly configured.

    By default, the pod's termination message is read from /dev/termination-log. This location can be configured with terminationMessagePath.

    Use terminationMessagePolicy: FallbackToLogsOnError to use the pod's logs as its termination message.

  • Documentation is now generated for all languages supported by overlay types. (#3107)

Fixed

  • Updated logic to accurately detect if a resource is a Patch variant. (#3102)
  • Added Java as a supported language for CustomResource overlays. (#3120)
  • Status messages reported during updates are now more accurately scoped to the affected resource. (#3128)
  • PersistentVolumeClaims with a bind mode of WaitForFirstConsumer will no longer hang indefinitely. (#3130)
  • [java] Fixed an issue where child resources could not be registered by Chart v4. (#3119)

v4.15.0

10 Jul 19:00
1dca605
Compare
Choose a tag to compare

Changed

  • CustomResource should have plain apiVersion and kind properties (#3079)

Fixed

  • Prevent CustomResourceDefinitions from always being applied to the cluster during preview operations (#3096)

v4.14.0

28 Jun 22:14
04941ef
Compare
Choose a tag to compare

Added

  • TypedDict input types for the Python SDK (#3070)

Changed

  • The Release resource no longer ignores empty lists when merging values. (#2995)

Fixed

  • Chart v4 now handles an array of assets. (#3061)
  • Fix previews always failing when a resource is to be replaced (#3053)

v4.13.1

05 Jun 00:48
38511bd
Compare
Choose a tag to compare

Added

  • Kustomize Directory v2 resource (#3036)
  • CustomResource for Java SDK (#3020)

Changed

  • Update to pulumi-java v0.12.0 (#3025)

Fixed

  • Fixed Chart v4 fails on update (#3046)
  • Fixed a panic that occurs when diffing Job resources containing replaceUnready annotations and an unreachable cluster connection. (#3024)
  • Fixed spurious diffing for updates when in renderYaml mode (#3030)

v4.12.0

21 May 23:23
fa7330c
Compare
Choose a tag to compare

Added

  • Added a new Helm Chart v4 resource. (#2947)
  • Added support for deletion propagation policies (e.g. Orphan). (#3011)
  • Server-side apply conflict errors now include the original field manager's name. (#2983)

Changed

  • Pulumi will now wait for DaemonSets to become ready. (#2953)
  • The Release resource's merge behavior for valueYamlFiles now more closely matches Helm's behavior. (#2963)

Fixed

  • Helm Chart V3 previews no longer fail when the cluster is unreachable. (#2992)
  • Fixed a panic that could occur when a missing field became null. (#1970)

v4.12.0-alpha.1: Merge branch 'master' of github.com:pulumi/pulumi-kubernetes into bla…

24 Apr 17:02
Compare
Choose a tag to compare