Nomad
Rookout Driver
Name: java-rookout
The Rookout Nomad driver is used to execute Java applications packaged into a Java Jar file and automatically add the Rookout SDK to them.
Rookout is a developer solution for Cloud Native debugging and live-data collection. Rookout’s Non-Breaking Breakpoints let you collect any type of data on the fly with no extra coding, redeployments, or restarts.
More info about the Rookout SDK is available in the Rookout docs.
Prerequisites
Using this driver requires you to have a Rookout token which you can get by signing up.
This driver is based on the Nomad Java driver.
- Clone the driver's repo:
git clone https://github.com/rookout/rookout-nomad-driver
- Change to the cloned dir:
cd rookout-nomad-driver
- Create a plugin dir (unless you already have one for your Nomad installation):
mkdir plugins
- Copy the corresponding binary from the
bin
folder, for example:cp ./bin/java-rookout-linux-x64 plugins/java-rookout
- Make sure that the driver has execution permission:
chmod +x ./plugins/java-rookout
- When running the Nomad agent, be sure to set the plugins dir accordingly, for example:
sudo nomad agent -dev -plugin-dir=/home/user/rookout-nomad-driver/plugins
Task Configuration
The java-rookout
driver accepts all configuration options of the java
driver.
Set the rookout_token
config key to your Rookout token, or define it as a variable and pass it as a parameter.
For example:
task "run-with-rookout" {
driver = "java-rookout"
config {
rookout_token = "ea15c38c4e05cf4549b..."
}
}
Additional Rookout configuration can be passed as environment variables like so:
env {
ROOKOUT_REMOTE_ORIGIN="https://github.com/Rookout/tutorial-java"
}