Upgrading Your Kubos Development Environment ============================================ New updates will be announced on the `Kubos website `__. There will be instructions depending on the specific release details of all the steps needed to upgrade for the newest release. Upgrading Kubos CLI ------------------- Inside of a vagrant box lives the Kubos CLI. Upon new Kubos releases there may be updates for the Kubos CLI. First SSH into your kubos-dev box: :: $ cd $ vagrant up $ vagrant ssh Then, upgrade the Kubos CLI: :: $ kubos update --cli New releases of the Kubos CLI may add or remove specific commands or command options. Tab completion is a feature that allows partially typed commands to be fully completed. Tab completion can also suggest possible arguments by pressing the key while typing a command. To keep tab completion synchronized with the Kubos CLI, run the following command: :: $ kubos update --tab-completion Upgrading the Kubos Source Modules ---------------------------------- To update the Kubos source modules your project will be built with run the following command: :: $ kubos update To check which version of the CLI you're using, use ``kubos version`` To list all of the available versions of the Kubos source modules run: :: $ kubos versions To activate and use a new version of the Kubos source run: :: $ kubos use The ``use`` command will checkout and replace the existing Kubos source modules. After running the ``use`` command, modules from the new version will be linked. If the new release holds new modules or has removed existing modules it may be necessary to re-link all modules to get rid of any module conflicts between new and old versions. To relink all of the Kubos source modules simply run: :: $ kubos link --all Downgrading the Kubos Source Modules ------------------------------------ In the event you want to downgrade to an older version of the Kubos source modules simply use the ``kubos use `` command with the older version number you want to downgrade to. Upgrading Kubos-dev Vagrant Box ------------------------------- Occasionally there will be an update or addition to one of the components of the kubos-dev Vagrant environment. When any of these components is changes we will package and release a new version of the kubos-dev box. If there's a new version of the box available you will see something similar to the following when you start the box: :: $ vagrant up ... ==> default: A newer version of the box 'kubostech/kubos-dev' is available! You currently ==> default: have version '0.2.2'. The latest is version '0.2.3'. Run ==> default: `vagrant box update` to update. ... To manually check if your box is up-to-date you can run: :: $ vagrant box outdated Beware - Updating your box will overwrite the filesystem inside the environment. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Moving projects into synced folders prevents them from being overwritten since their actual location is external to the box. For more information on setting up synced folders see the :ref:`mount-directory` section. To update the box run: :: $ vagrant box update $ vagrant destroy $ vagrant up Unfortunately the ``vagrant box update`` only downloads the changes but does not apply them to your local environment. It's required to destroy and re-create a new instance of the kubos-dev box.