Right now there exists an old `upgrade` module in the CLI, though it isn't added to the list of available commands (should be removed, probably). This module is irrelevant now, as the upgrade mechanism was changed to use snapshots much more heavily.
A new upgrade mechanism should look like this:
1. Create a snapshot.
2. Download the snapshot.
3. Do a teardown.
4. Do a new bootstrap.
5. Upload the snapshot.
6. Restore the snapshot.
7. Upgrade the agents.
I feel like steps 6+7 could be arguably combined into the snapshot restore (with an argument to not install agents), because if you simple run a restore workflow then when it successfully completes it... hasn't successfully completed (because the agents aren't installed).
They should probably still be separate REST calls though (which would helpfully mean less development work for something like this since we'd only need to change the CLI, not anything else).
Actually, I'm not sure if this Jira is even relevant right now. The new upgrade mechanism will look somewhat different from what we have right now.