open-nomad/website/content/docs/drivers/external/rookout.mdx
2021-08-09 11:19:36 +02:00

53 lines
2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
layout: docs
page_title: 'Drivers: Rookout'
description: The Rookout driver is used to run your Java app with Rookout.
---
# 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](https://rookout.com) is a developer solution for Cloud Native debugging and live-data collection. Rookouts 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](https://docs.rookout.com).
## Prerequisites
Using this driver requires you to have a Rookout token which you can get by [signing up](http://rookout.com).
This driver is based on the Nomad [Java driver](https://www.nomadproject.io/docs/drivers/java).
1. Clone the driver's repo: `git clone https://github.com/rookout/rookout-nomad-driver`
2. Change to the cloned dir: `cd rookout-nomad-driver`
3. Create a plugin dir (unless you already have one for your Nomad installation): `mkdir plugins`
4. Copy the corresponding binary from the `bin` folder, for example: `cp ./bin/java-rookout-linux-x64 plugins/java-rookout`
5. Make sure that the driver has execution permission: `chmod +x ./plugins/java-rookout`
6. 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`](https://www.nomadproject.io/docs/drivers/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:
```hcl
task "run-with-rookout" {
driver = "java-rookout"
config {
rookout_token = "ea15c38c4e05cf4549b..."
}
}
```
Additional Rookout configuration can be passed as environment variables like so:
```hcl
env {
ROOKOUT_REMOTE_ORIGIN="https://github.com/Rookout/tutorial-java"
}
```