diff --git a/CHANGELOG.md b/CHANGELOG.md index e85a3f8bb4..be776d2489 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - Fix Helm charts being ignored by policy packs. (https://github.com/pulumi/pulumi-kubernetes/pull/2133) - Fixes to allow import of helm release (https://github.com/pulumi/pulumi-kubernetes/pull/2136) +- Keep managed-by label in SSA mode if already present (https://github.com/pulumi/pulumi-kubernetes/pull/2138) ## 3.20.3 (August 9, 2022) diff --git a/provider/pkg/provider/provider.go b/provider/pkg/provider/provider.go index db08a79e83..35ce2fb0d1 100644 --- a/provider/pkg/provider/provider.go +++ b/provider/pkg/provider/provider.go @@ -1308,8 +1308,9 @@ func (k *kubeProvider) Check(ctx context.Context, req *pulumirpc.CheckRequest) ( } else { metadata.AssignNameIfAutonamable(newInputs, news, urn) - if !k.serverSideApplyMode { - // Set a "managed-by: pulumi" label on all created k8s resources. + // Set a "managed-by: pulumi" label on resources created with Client-Side Apply. To avoid churn on previously + // created resources, keep the label in SSA mode if it's already present on the resource. + if !k.serverSideApplyMode || metadata.HasManagedByLabel(oldInputs) { _, err = metadata.TrySetManagedByLabel(newInputs) if err != nil { return nil, pkgerrors.Wrapf(err,