How to apply updates to Deployments/StatefulSets without immediate Pod restart, allowing manual user-triggered restarts?

For instance: We should restart Pods one-by-one - restart the first Pod, verify its stability over 24 hours, then move to the next