Skip to main content
The SDK Mode is suitable only for development, testing, and scenarios that require more manual or static control over execution, or for working with a-posteriori data collection or rosbag replay.
This mode only enables a subset of the Over-The-Air (OTA) features and won’t get Heex run at startup that are available in Agent Installer Mode.
Only the configuration OTA update of triggers, tags, status, Kernel reconfiguration is available.
You will have to manage the launch, versions, and future version updates of your implementations and kernel in your own deployment process.

SDK Mode Prerequisites

  • Heex SDK
  • Your implementations executables
  • A system configuration file of your production environment
  • HeexCLI (only for Automated execution)

Running Heex locally in SDK Mode

We assumes you already have:
  • created a system and have its SYSTEM_ID
  • the heex CLI installed and have an API key (or login)
  • the Heex SDK downloaded and extracted
  • your implementations executables copied in the ~/Heex_SDK_<version>/implementations folder.
Launch of the entire Heex application, including the Kernel, implementations, and retrieval of the configuration using this heex CLI straightforward command:
heex sdk run --api-key <YOUR_API_KEY> --system-id <SYSTEM_ID> --path-to-sdk <Heex_SDK>
Note that you can skip using the --api-key if you have already set up a userconfig with the CLI. This avoid having the API key on every CLI command.
You can also skip the --path-to-sdk if you are already inside the ~/Heex_SDK_<version> folder.
For more options, see the CLI page for the SDK Mode.
Cleanup
We recommend that you stop Heex Orchestrator using CTRL+C.

Individual execution

You can also have more control over how does your implementation and the Heex Kernel get run. Here are the indivudual steps:
1

Get the system configuration

heex system get-sys-conf --api-key <YOUR_API_KEY> --system-id <SYSTEM_ID> --output-file ~/Heex_SDK_<version>/kernel/systemConfs/systemConf.json
For more options, see here.
2

Run your implementations

You have 2 options to run your implementations:
  • [RECOMMENDED] Automated execution: Delegate the launch of your implementation to the Heex Kernel.
    1. Put all your implementations inside the ~/Heex_SDK_<version>/implementations folder.
    2. Let only the relevant implementations executable get launched and orchestrated by the Kernel.
  • Manual execution: Manually handle the launch and orchestratation your implementations.
    1. Just run them independently as you see fit. Make sure not to place them in the ~/Heex_SDK_<version>/implementations folder.
    2. It is then your responsibility to managed them (start, stop, restart, etc.).
3

Run the Kernel manually

Use:
~/Heex_SDK_<version>/kernel/heexOrchestrator