Here we describe the options available on when running your Heex Runtime Environment.

Installer options

Once built, the installer should be run with administrator rights. The user has the possibility to add some instructions as stated in the following table. Here is how you do it.

.\HRE_<version>_Windows_7_x86_64_installer.exe --option1 argument --option2 argument2
OptionShortDescription
--help-hShow this help message and exit
--mode-mSet the HRE mode. Possibilities are upload-only(u), no-connectivity(n) or limited-connectivity(l)
--interactive-iEnable interactive mode during installation.
--uninstall-uUninstall

Installer Agent Kernel runtime configuration (-m)

Check kernel configuration for more information.

Deployment execution mode (-e)

On Windows, when called, the installer will launch your Agents and Kernel as windows services that’ll be automatically ran at system startup.
On Linux, the user can chose to either launch them as services or background processes since sometimes launching services is not possible (ie in docker environments). This choice is done via the --execution (or -e) command, added with either service or background as an argument. Please understand that when in background process mode, any system reboot will not automatically re-run your agents. Example:

./HRE_<version>_Ubuntu_20.04_x86_64_ES-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_installer -- -e background

Uninstallation (-u)

If you want to remove the running services (or background processes) and all the created folders, you can simply call the installer with the --uninstall option and it’ll proceed to do so, no other input needed.

Adding custom files

If for any reason you wish to include custom files/folders of any type, we have added a dedicated space for them: the additionalHreContent folder, which is located at the root of your SDK folder. Any file or folder you add inside it will be copied into the Heex Runtime Environment with the same arborescence (they shall be copied inside <HRE_root>/additionalHreContent/).

We’ve enhanced the flexibility of our installer by introducing the capability for users to run custom code before the Heex Runtime Environment launch. To avail of this feature, prior to create your installer, you create either or both of the following files within the additionalHreContent folder:

  • additionalHreContent/HRE_setup_header.sh (or additionalHreContent\HRE_setup_header.ps1 on Windows): The code added inside this file will be run (sourced on Linux, executed on Windows) before any of the HRE agents are started
  • additionalHreContent/HRE_setup_footer.sh (or additionalHreContent\HRE_setup_footer.ps1 on Windows): The code added inside this file will be run (sourced on Linux, executed on Windows) after any of the HRE agents are started

In addition to this, we have also added the possibility for the user to source files inside the Linux services in which the agents will be ran. To do so, please refer to the following paragraph

Linux services additional environment setup

Since the installation is done as root, the services (or background processes) do not have access to the user’s environment variables nor the .bashrc file. In some advanced use cases, you may need to set some settings before running the executables.

Sourcing custom files

You can source additional files before the executables are ran. You need to add their full paths in the bash array typed variable named FILES_TO_SOURCE_IN_SERVICES_ENV inside the additionalHreContent/HRE_setup_header.sh script.

⚠️ Warning:

Make sure to use full paths. The character ~ won’t correctly reference paths to your HOME directory.

📝 Note:

If you mean to source several files, know that the order of the declaration of each file in the list is the order in which we source the files.

Sourcing custom variables

You can also export variables into the services or background processes. For that, you will need to create a dedicated external shell script, and declared it in the additionalHreContent/HRE_setup_header.sh script as mentionned above to source it before the executable gets run.

📝 Note:

Any external custom script is expected to be reachable at the given static path.

Templated header file

The additionalHreContent/HRE_setup_header.sh is automatically generated and added into the packaged SDK, but if the file is not present, you can create it yourself at the root of the package, and paste the following inside it:

#!/bin/bash
###############################################################
## specific files to source in the service bash environments ##
###############################################################

## Replace the commented lines in the following FILES_TO_SOURCE_IN_SERVICES_ENV variable to source
## specific files inside the Agents environments before they are launched. Please ensure that
## the paths are full paths without any '~' in them.
## NOTE: THE SOURCING OF THE FILES IS DONE IN THE ORDER OF DECLARATION!

FILES_TO_SOURCE_IN_SERVICES_ENV=(
#    "path/to/file1.sh"
#    "path/to/file2.bash"
#    ...
) # it needs to be kept as a list

###############################################################
############# specific agents installer variables #############
###############################################################

## Following variable is for ROS1 and ROS2 environments only. If you set this to 1, the Agents
## Installer shall not look for any installed ROS distribution inside the /opt/ros folder and
## will not  source them in the Agents environment. By doing so, you will need to explicitly
## add the path to your ROS distribution's installation inside the FILES_TO_SOURCE_IN_SERVICES_ENV
## variable mentionned above.

DISABLE_AUTOMATIC_ROS_INSTALL_SEARCH=0

###############################################################
###############################################################

💡 Tip:

If you already have created the additionalHreContent/HRE_setup_header.sh script for other purposes, you can simply add the FILES_TO_SOURCE_IN_SERVICES_ENV list into it

ROS specific configuration

In the template written above, you might notice an additionnal variable defined in it: DISABLE_AUTOMATIC_ROS_INSTALL_SEARCH. If you do not work with ROS, you can ignore it. If you do, feel free to check out the specific ROS configuration page