🔢 Mojo Release Versioning

Mojo Release Versioning

Mojo and its components all follow strict semantic versioning. Major release of Mojo and its components will always remain backwards compatible with previous releases in the same major version.

Migration between major releases must be done with care and documentation will be provided to do so.

Current release versions

Mojo Component Releases

Component Location Latest Release Available Tags
Coordinator /mojo/coordinator 3.1.0 3, 3.1, 3.1.0
Cache /mojo/redis 7.2.4 7.2.4
Consoler /mojo/consoler 1.0.3 1, 1.0, 1.0.3
Database /mojo/postgres 16.3 16.3
DHCP /mojo/tor/dhcpd 1.0.1 1, 1.0, 1.0.1
Grub Builder /mojo/tor/grub-builder 1.0.1 1, 1.0, 1.0.1
iPXE Builder+ /mojo/tor/ipxe-builder c1834f-1.0.1 c1834f-1, c1834f-1.0, c1834f-1.0.1
Proxy /mojo/tor/traefik 2.11.0 2.11.0
PXE Helper /mojo/tor/pxe-helper 1.0.4 1, 1.0, 1.0.4
Samba++ /mojo/tor/samba 1.0.1 1, 1.0, 1.0.1
Static Server /mojo/tor/nginx 1.25.3 1.25.3
TFTP /mojo/tor/tftpd 1.0.1 1, 1.0, 1.0.1
UI /mojo/yoda-gui 2.1.0 2, 2.1, 2.1.0

+ The ipxe-builder component is built with a matrix of ipxe versions for backwards compatibility with legacy systems. It is currently built from the following ipxe commit hashes. These have been well tested. If you require newer ipxe features please let us know and we can add a new ipxe hash into our testing environment and distribute a new tag for said hash.

  • c1834f - default
  • f22879
  • e09e11

++ Samba is only included in the enterprise distribution of Mojo Platform

Changing Versions

The current versions of each Mojo component can be found in your Mojo configuration file located at configs/mojo.env in your installation directory. The configuration options that control component versions are as follows:

CONTAINER_COORDINATOR_IMAGE="download.metify.io/mojo/coordinator:3.1"
CONTAINER_COORDINATOR_GUI_IMAGE="download.metify.io/mojo/yoda-gui:2.1"
CONTAINER_COORDINATOR_DB_IMAGE="download.metify.io/mojo/postgres:16.3"
CONTAINER_COORDINATOR_REDIS_IMAGE="download.metify.io/mojo/redis:7.2.4"
CONTAINER_COORDINATOR_MOCK_IMAGE="download.metify.io/mojo/redfish-mock:latest"
CONTAINER_COORDINATOR_CONSOLER_IMAGE="download.metify.io/mojo/consoler:1.0"
CONTAINER_TOR_GRUB_BUILDER_IMAGE="download.metify.io/mojo/tor/grub-builder:1.0"
CONTAINER_TOR_IPXE_BUILDER_IMAGE="download.metify.io/mojo/tor/ipxe-builder:c1834f-1.0"
CONTAINER_TOR_PROXY_IMAGE="download.metify.io/mojo/tor/traefik:2.11.0"
CONTAINER_TOR_STATIC_SERVER_IMAGE="download.metify.io/mojo/tor/nginx:1.25.3"
CONTAINER_TOR_DHCP_IMAGE="download.metify.io/mojo/tor/dhcpd:1.0"
CONTAINER_TOR_TFTPD_IMAGE="download.metify.io/mojo/tor/tftpd:1.0"
CONTAINER_TOR_PXE_HELPER_IMAGE="download.metify.io/mojo/tor/pxe-helper:1.0"

By default all Mojo components are locked to a minor or bugfix release. Running sudo ./mojo-launcher --update will update all of the Mojo components in your Mojo installation. As Mojo components are released the component tags are also updated. For example, when version 3.1.4 is released, the tag 3.1.4 is created and tags 3.1 and 3 are updated to be equal to version 3.1.4. This allows you to set the component tag to the level of updates you wish to receive. Setting the component tag version to a minor release (3.1) will update your Mojo installation with all bugfix releases but will not update to a new minor version (3.2) when it is released.

Since minor releases are fully backwards compatible you have the option of changing a component’s version to something less specific, such as a major version (download.metify.io/mojo/coordinator:3), to pull all minor and bugfix releases of the component. This will update a component from 3.1.X to 3.2.X automatically as new minor releases become available. This is safe to do as all minor releases of Mojo components are backwards compatible. This will ensure your Mojo installation has the newest available features and components.

If you would not like --update to update any of your components you can set the versions to specific bugfix releases (download.metify.io/mojo/coordinator:3.1.3). This will lock your component to a specific version which will not be updated.

Version Compatibility

The Mojo Platform is a collection of components that all work together to deliver a complete bare-metal provisioning solution. Specific component versions require other components of a particular version. This is tracked in Mojo Platform releases. A Mojo Platform release is a collection of Mojo Component versions that have been well tested and are expected to work together.

The version of Mojo Platform you are running depends on the version of the Mojo Installer that was used to install it. Mojo Installer version and Mojo Platform version are the same thing. The version of the installer that you downloaded and installed Mojo with can be found in the file called MOJO_INSTALLER_VERSION in the root of your Mojo installation directory. The version in that file is your version of Mojo Platform.

Enterprise customers do not need to worry about platform version compatibility. Our hardware appliance handles all platform version upgrades for you.

Mojo Platform Releases

If you do need to update your Mojo configuration file with new component versions please be sure you are using compatible versions from a specific Mojo Platform release below.

* indicates this is a change from the previous Mojo Platform release.

Releases

Component v2.1.x (September 2024) v2.0.x (July 2024) v1.x.x (March 2024) Beta
Coordinator 3.1* 3.0* 2* 1
UI 2.1* 2.0* 1 1
Database 16.3 16.3* 15.6* 15.3
Proxy 2.11.0 2.11.0 2.11.0* 2.10.7
Cache 7.2.4 7.2.4 7.2.4 7.2.4
Static Server 1.25.3 1.25.3 1.25.3 1.25.3
Consoler 1 1 1 1
DHCP 1 1 1 1
Grub Builder 1 1 1 1
iPXE Builder 1 1 1 1
PXE Helper 1 1 1 1
Samba 1 1 1 1
TFTP 1 1 1 1