1. Proposed title of this feature request
Machine Config Operator should use server-side apply for MachineSet boot image updates to support GitOps workflows
2. What is the nature and description of the request?
The Machine Config Operator currently uses JSON merge patch (jsonmergepatch.CreateThreeWayJSONMergePatch with types.MergePatchType) when updating MachineSet image fields for boot image management.
This approach does not establish proper field ownership through managedFields metadata. The request is to replace this with server-side apply using MachineSetApplyConfiguration and v1.ApplyOptions with FieldManager: "machine-config-operator" to properly claim ownership of managed fields. This would align with how MCO already handles other resources like MachineConfiguration and MachineConfigNode objects.
3. Why does the customer need this? (List the business requirements here)
- Enable GitOps to distinguish between MCO-managed and GitOps-managed image fields using managedFieldsManagers configuration
- Prevent false "out of sync" alerts in GitOps tools that cause confusion
4. List any affected packages or components.
Machine Config Operator (machine-config-operator)
GitOps (ArgoCD).