As the default update strategy is not Immediate, when you edit objects in the cluster definition those changes are not applied immediately. Instead what happens is the changes are saved as annotations on the PlanetScale Cluster object in annotations called pendingChanges. ps-rollout then uses these annotations to apply changes to the cluster in a more orderly manner. 


This is because when ps-rollout runs against a cluster it is aware of where masters and replicas are located. This enables it to know when (and if) it needs to failover a master to a replica before it can apply a change to the master. Changes to the configuration that affect tablets and require a tablet restart, like adding memory, changing the number of CPUs or changing tablet configuration flags are best handled by ps-rollout.


ps-rollout can be run as a CLI or a web UI because it has a built in web server. If you run ps-rollout as a server users will be able to connect to it using a browser and then choose to manually update clusters.