Launcher
Launcher is a process management and configuration tool that lets you launch, monitor and shutdown hundreds of processes across several machines in a controlled manner, defined through launch configurations.
Most of the action happens behind the scene. Once configured, interaction with the application is mainly done via the RTI control panel.
Launcher control card in the RTI control panel
Launcher UI on Windows. On MacOS and Linux, the application has no graphical user interface.
In evaluation mode, the Launcher is limited to three launch configurations, each of which is limited to three launch items.
Installing
Download the package (Windows, MacOS or Linux). The install process is similar to that of the RTI.
Once installed, you’ve got Launcher in your start menu (Windows), and a launcher
command to play with in your favorite command-line shell (Windows, MacOS, Linux).
Configuration
TODO explanation
For now, the output of launcher --example
:
# This is an example launch configuration file.
# It's not pretty but shows all available options and defaults.
#
# You can also have multiple named configurations in one file, e.g:
# configuration one:
# items:
# ...
# configuration numero dos:
# items:
# ...
#
# Launch actions: setup, launch, shutdown, cleanup
version:
description: ''
inherit:
abstract: false
directory:
environment:
ENV_VAR_A: Environment variable
variables:
variable_a: Variable - can be accessed using in e.g. 'run' and 'script' field of launch actions
parameters:
parameter_a:
label: Parameter A
description: This shows up in the launcher UI
type: ''
default_value: ''
items:
My first launch item:
inherit:
abstract: false
directory:
environment:
ENV_VAR_A: This overrides the configuration environment variable for this item
variables:
variable_a: This overrides the configuration variable for this item
setup:
launch:
directory:
run: myprocess.exe
arguments:
script:
- echo A
- "echo B # note that 'run/arguments' and 'script' are mutually exclusive"
interpreter: bash
window: Normal
no_window: false
redirect: false
wait: false
delay: 0
redirect_channel:
environment:
ENV_VAR_A: This overrides the item environment variable for this launch action
variable_substitution: true
shutdown:
cleanup:
host:
station:
link_url: ''
link_title: ''
link_description: ''
check_http:
url:
interval: 3000
grace_period: 3000
check_client:
application:
client_id:
interval: 1000
grace_period: 3000
check_script:
check_subscribe:
wait_for:
should_run: false
auto_restart: 0
kill_delay: 0
kill: false
restart_delay: 0
remote:
remote_action_a:
title: Lamp on
description: Turn on the lamp
disabled_when_launched: false
offset: false
icon:
sort_weight: 0
host:
station:
directory:
run:
arguments:
script:
- lampctl on
interpreter: bash
window: Normal
no_window: false
redirect: false
wait: false
delay: 0
redirect_channel:
environment:
variable_substitution: true
setup:
launch:
shutdown:
cleanup:
Usage Examples
TODO