From 50ccee7507fae70b3c5a56cdbcbeeb079e839dbc Mon Sep 17 00:00:00 2001 From: Justin Van Patten Date: Fri, 20 Jun 2025 08:45:37 -0700 Subject: [PATCH 1/2] dependencies: pulumi v3.178.0 Update Pulumi to v3.178.0. --- go.mod | 6 +++--- go.sum | 14 ++++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 3eb04ce4..9b2ef33d 100644 --- a/go.mod +++ b/go.mod @@ -30,8 +30,8 @@ require ( github.com/pulumi/opentofu v0.0.0-20250318202137-3146daceaf73 github.com/pulumi/providertest v0.3.0 github.com/pulumi/pulumi-terraform-bridge/v3 v3.108.0 - github.com/pulumi/pulumi/pkg/v3 v3.177.0 - github.com/pulumi/pulumi/sdk/v3 v3.177.0 + github.com/pulumi/pulumi/pkg/v3 v3.178.0 + github.com/pulumi/pulumi/sdk/v3 v3.178.0 github.com/stretchr/testify v1.10.0 github.com/zclconf/go-cty v1.16.2 google.golang.org/grpc v1.72.1 @@ -203,7 +203,7 @@ require ( github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect - github.com/pulumi/esc v0.14.2 // indirect + github.com/pulumi/esc v0.14.3 // indirect github.com/pulumi/inflector v0.1.1 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.13.1 // indirect diff --git a/go.sum b/go.sum index 9a54fbea..47c591dc 100644 --- a/go.sum +++ b/go.sum @@ -774,6 +774,8 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+ github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= +github.com/pgavlin/fx/v2 v2.0.3 h1:ZBVklTFjxcWvBVPE+ti5qwnmTIQ0Gq6nuj3J5RKDtKk= +github.com/pgavlin/fx/v2 v2.0.3/go.mod h1:Cvnwqq0BopdHUJ7CU50h1XPeKrF4ZwdFj1nJLXbAjCE= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4= @@ -793,8 +795,8 @@ github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSg github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= -github.com/pulumi/esc v0.14.2 h1:xHpjJXzKs1hk/QPpgwe1Rmif3VWA0QcZ7jDvTFYX/jM= -github.com/pulumi/esc v0.14.2/go.mod h1:0dNzCWIiRUmdfFrhHdeBzU4GiDPBhSfpeWDNApZwZ08= +github.com/pulumi/esc v0.14.3 h1:Zli+9LiSDT/W+Fsfr8tITxCo+5wn969tLrE4KLv44G8= +github.com/pulumi/esc v0.14.3/go.mod h1:XnSxlt5NkmuAj304l/gK4pRErFbtqq6XpfX1tYT9Jbc= github.com/pulumi/inflector v0.1.1 h1:dvlxlWtXwOJTUUtcYDvwnl6Mpg33prhK+7mzeF+SobA= github.com/pulumi/inflector v0.1.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= github.com/pulumi/opentofu v0.0.0-20250318202137-3146daceaf73 h1:1Cld5Dmfe0s5bfNByLFkyipLkWTZE9MO34jVkfPhg/c= @@ -803,10 +805,10 @@ github.com/pulumi/providertest v0.3.0 h1:Dv10aoFaNQBDRtK8cRbd2uk9vEhpC/NryN+0y7N github.com/pulumi/providertest v0.3.0/go.mod h1:aTxVfdxP/Pe0iPbokjBp99x0XaY4fkZB2CjIS5wysMs= github.com/pulumi/pulumi-terraform-bridge/v3 v3.108.0 h1:ypXrqGaIe652X51dTlJSVW9JdzNYsns3yKp+6C+KF5w= github.com/pulumi/pulumi-terraform-bridge/v3 v3.108.0/go.mod h1:OURQCCIz/jBcXs1oUsL38P5SamBGc2HJBCcmva4LJi4= -github.com/pulumi/pulumi/pkg/v3 v3.177.0 h1:ia1F+KJI5atHRiaoC9J+d5dGVjiVrHsAdHjpkprIivI= -github.com/pulumi/pulumi/pkg/v3 v3.177.0/go.mod h1:xUW/FZGNemCO+aTqlKoRGbLE1Bq+2uOFbmTW5OD1Hnk= -github.com/pulumi/pulumi/sdk/v3 v3.177.0 h1:k3CEjq+EJsCGOmAPxjEwNEsAFaRoqQzzlti4aqrrLBA= -github.com/pulumi/pulumi/sdk/v3 v3.177.0/go.mod h1:AD2BrIxFG4wdCLCFODrOasXhURwrD/8hHrwBcjzyU9Y= +github.com/pulumi/pulumi/pkg/v3 v3.178.0 h1:A0IG0OEextrLhVbW9ZpuZU0uILvupJSxWsGjXzeJoeg= +github.com/pulumi/pulumi/pkg/v3 v3.178.0/go.mod h1:RkrGrl/kMr1JYsJlfrKCtCViwhMcwFfrYNTRQw4RamM= +github.com/pulumi/pulumi/sdk/v3 v3.178.0 h1:24jNMvy6cMshwmW88Jm3k8ON2M4d0U2ocemQRcQElXQ= +github.com/pulumi/pulumi/sdk/v3 v3.178.0/go.mod h1:XA+4kQ4ja6b5miOG/l5zp3xdqoA4NoPpmp2SZ37JK40= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E= From fbd69ea2c89560fbf49e303724f560a9ed59f719 Mon Sep 17 00:00:00 2001 From: Justin Van Patten Date: Fri, 20 Jun 2025 09:26:55 -0700 Subject: [PATCH 2/2] Specify RefreshBeforeUpdate on partial failures Pulumi v3.178.0 now supports indicating a resource should be refreshed by default from partial failures. Previously, it was only possible to indicate this on successful provider operations. With this, if a Module CustomResource partially fails during Create (e.g. one of it's children has failed), it can report a partial failure using `ErrorResourceInitFailed` and now indicate that it should be refreshed before being updated. This way, on the next `pulumi up`, the Module resource will be refreshed before `Update` as intended, giving the Module resource an opportunity to "retry" for any of the failed children. --- pkg/modprovider/module.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/modprovider/module.go b/pkg/modprovider/module.go index dd578c03..16372f73 100644 --- a/pkg/modprovider/module.go +++ b/pkg/modprovider/module.go @@ -299,9 +299,10 @@ func (h *moduleHandler) initializationError(outputs resource.PropertyMap, reason contract.AssertNoErrorf(err, "plugin.MarshalProperties failed") detail := pulumirpc.ErrorResourceInitFailed{ - Id: moduleStateResourceID, - Properties: props, - Reasons: reasons, + Id: moduleStateResourceID, + Properties: props, + Reasons: reasons, + RefreshBeforeUpdate: true, } return rpcerror.WithDetails(rpcerror.New(codes.Unknown, reasons[0]), &detail) }