# Retrieving the Upgrade
You will be able to retrieve the most recent version of Kloudless with the following command:
sudo ke_fetch_upgrade [--system]
That will download the latest available upgrade and instruct you on how to proceed.
There are two types of updates available:
Code Updates Code updates are performed by default. They are quick updates that download a new version of the code. Only daemons and web services need to be restarted.
System Upgrades For more significant changes and major upgrades where changes to the system’s packages and configuration are required, a system upgrade can be performed via the
--systemflag. This downloads a new root filesystem, writes it to a new partition, and then reboots the system to boot from that instead. Hence, a reboot is required. Note: An external data drive must be configured on the instance if you wish to persist data between upgrades. Otherwise, all configuration information and encryption keys will remain unused on the older partition and will be irretrievably lost on the next upgrade. You may also take a snapshot or other backup of the data partition after configuration to protect against loss of its information.
Note: System upgrades for Docker are currently unsupported. For Docker system upgrades a new container will be provided by Kloudless Support.
# After Upgrading
After a system upgrade has taken place, the machine will reboot and apply any required configuration changes. This machine can then be used as a base image for future use (either for clustered or standalone deployments). If using this as a base image for a clustered deployment, the data disk should be included in the snapshot.