As you <may have seen in recent announcements>, we...
# kubernetes
g
As you may have seen in recent announcements, we enabled the Server-side Apply feature by default in the
v3.22.0
version of
pulumi-kubernetes
. With this behavior enabled, you may encounter error messages about resource field conflicts. These errors are related to other controllers changing fields on shared resources. With the previous Client-side diff/apply behavior, these conflicts were not always apparent, but are now caught during preview and update. These errors are typically something that need to be resolved by the user, and are a legitimate difference that wasn’t detected by our previous Client-Side diff logic. Your options for resolving these conflicts are: 1. Disable SSA with the
enableServerSideApply
provider flag to use the previous behavior for now. This is the fastest way to unblock yourself, but as noted, will miss legitimate conflicts that are only detective with a Server-side diff. 2. Use the
ignoreChanges
resource option to selectively ignore changes to fields that another controller may update. Other controllers could be operators, admission controllers,
kubectl
, etc. 3. Use the
<http://pulumi.com/patchForce|pulumi.com/patchForce>
annotation to explicitly take ownership of the conflicting fields. Note that this might prevent other controllers from updating them. 4. Pin
pulumi-kubernetes
to a version previous to
v3.22.0
. Please let us know if you run into problems by filing an issue. Thanks for your patience as we work through this important transition point in the provider!
f
Thanks for the explanation! It also happens when k8s sets default values that were missed in the pulumi configuration. For example,
apiVersion: 'v1'
was missed in a
claimRef
of PersistentVolume resource. This was basically set by k8s. What will be the best way around it?
g
Would you mind filing an issue with more details so we can take a look? Thanks!