Skip to content

Joule Command Line Interface (CLI)

How to interact with a Joule node from the command line.

joule

Usage:

joule [OPTIONS] COMMAND [ARGS]...

Options:

  -n, --node TEXT  override the default node (see joule node list)
  --version        Show the version and exit.
  --help           Show this message and exit.

joule admin

Administer the local node. All commands requires superuser (sudo) privilege to run.

Usage:

joule admin [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule admin authorize

Grant a local user CLI access. Use sudo -E to store the credentials in the current user's environment. Otherwise this command will grant the root user CLI access (credentials will be stored in /root/.joule).

Usage:

joule admin authorize [OPTIONS]

Options:

  -c, --config TEXT  main configuration file
  -u, --url TEXT     joule API URL (optional)
  --help             Show this message and exit.

joule admin erase

Erase ALL data on the local node. May also delete authorization for masters (API users and Lumen connections) and follower nodes.

Danger

This command cannot be undone, use with caution!

Usage:

joule admin erase [OPTIONS]

Options:

  -c, --config TEXT  main configuration file
  -l, --links        delete masters and followers as well as data
  --yes              automatically confirm operation
  --help             Show this message and exit.

joule admin initialize

Run initial system configuration. This command will perform the following operations:

  • Create a set of default configuration files in /etc/joule
  • Enable and start a systemd service /etc/systemd/system/joule.service
  • Provision a system user account named joule to run the systemd service.

Use command line flags to override the system defaults.

Usage:

joule admin initialize [OPTIONS]

Options:

  --dsn TEXT            PostgreSQL DSN  [required]
  --bind TEXT           IP address (0.0.0.0 for all)
  --port TEXT           TCP port (default is 8080)
  --name TEXT           Node name (default is random)
  --generate-user-file  Create file for dynamically managing users
  --help                Show this message and exit.

joule archive

Manage Joule archives. See [archive docs] for more information on importing and exporting archive data

Usage:

joule archive [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule archive inspect

Display the contents of an archive

Usage:

joule archive inspect [OPTIONS] ARCHIVE

Options:

  -v, --verbose  display more information
  --help         Show this message and exit.

joule archive upload

Upload archive(s) to a Joule node

Usage:

joule archive upload [OPTIONS] PATH

Options:

  -f, --flush          remove archives after successful upload
  -e, --quit-on-error  quit upload on error
  -v, --verbose        display info messages
  --help               Show this message and exit.

joule data

Interact with data streams.

Usage:

joule data [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule data filter

Filter stream data.

Usage:

joule data filter [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.
joule data filter mean

Apply a moving average (mean) filter.

Usage:

joule data filter mean [OPTIONS] SOURCE DESTINATION

Options:

  -w, --window INTEGER  window size  [required]
  --start TEXT          timestamp or descriptive string
  --end TEXT            timestamp or descriptive string
  --help                Show this message and exit.
joule data filter median

Apply a median filter.

Usage:

joule data filter median [OPTIONS] SOURCE DESTINATION

Options:

  -w, --window INTEGER  window size  [required]
  --start TEXT          timestamp or descriptive string
  --end TEXT            timestamp or descriptive string
  --help                Show this message and exit.

joule event

Manage event streams.

Usage:

joule event [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule event copy

Copy events to a different stream.

Usage:

joule event copy [OPTIONS] SOURCE DESTINATION

Options:

  -s, --start TEXT                timestamp or descriptive string
  -e, --end TEXT                  timestamp or descriptive string
  -a, --action [ignore|replace|prompt]
                                  action to take if events already exist in
                                  the destination
  -n, --new                       copy starts at the last timestamp of the
                                  destination
  -d, --destination-node TEXT     node name
  --help                          Show this message and exit.

joule event info

Display event stream information.

Usage:

joule event info [OPTIONS] PATH

Options:

  --help  Show this message and exit.

joule event move

Move an event stream to a different folder.

Usage:

joule event move [OPTIONS] SOURCE DESTINATION

Options:

  --help  Show this message and exit.

joule event rename

Rename an event stream.

Usage:

joule event rename [OPTIONS] STREAM NAME

Options:

  --help  Show this message and exit.

joule folder

Manage folders.

Usage:

joule folder [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule folder copy

Recursively copy a folder to a new, empty location

Usage:

joule folder copy [OPTIONS] SOURCE DESTINATION

Options:

  -s, --start TEXT             timestamp or descriptive string
  -e, --end TEXT               timestamp or descriptive string
  -d, --destination-node TEXT
  --help                       Show this message and exit.

joule folder delete

Delete a folder and all contents.

Usage:

joule folder delete [OPTIONS] FOLDER

Options:

  -r, --recursive
  --help           Show this message and exit.

joule folder list

Display folder hierarchy (directory layout).

Example
$> joule stream list

    ├── demo
       ├── f1
          └── stream0(1)
       ├── copied2(6)
       ├── copy one(5)
       └── stream1(4)
    └── random
        ├── 10hertz(3)
        ├── output(2)
        └── output2(7)

Usage:

joule folder list [OPTIONS] [PATH]

Options:

  -l, --layout  include stream layout
  -s, --status  include stream status
  -i, --id      show ID's
  --help        Show this message and exit.

joule folder move

Move a folder to a new location.

Usage:

joule folder move [OPTIONS] SOURCE DESTINATION

Options:

  --help  Show this message and exit.

joule folder rename

Rename a folder.

Usage:

joule folder rename [OPTIONS] FOLDER NAME

Options:

  --help  Show this message and exit.

joule follower

Manage node followers.

Usage:

joule follower [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule follower delete

Remove a follower

Usage:

joule follower delete [OPTIONS] NAME

Options:

  --help  Show this message and exit.

joule follower list

Display node followers

Usage:

joule follower list [OPTIONS]

Options:

  --help  Show this message and exit.

joule master

Manage node access.

Usage:

joule master [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule master add

Authorize a new node master.

For users specify a username (for documentation only). For joule/lumen masters specify an domain name or IP address. If the master node is not hosted at the default location, specify the full URL.

Usage:

joule master add [OPTIONS] {user|joule|lumen} IDENTIFIER

Options:

  -k, --key TEXT                desired API key, must be 32 characters, omit
                                for a random key
  -u, --remote-access-url TEXT  URL for remote access to this node, omit to
                                automatically detect
  --help                        Show this message and exit.

joule master delete

Revoke access for a user or Joule/Lumen node.

Specify the type of master and the name as displayed by the 'master list' command

Usage:

joule master delete [OPTIONS] {user|joule|lumen} NAME

Options:

  --help  Show this message and exit.

joule master list

Display all users and nodes with access to the current node.

Usage:

joule master list [OPTIONS]

Options:

  --help  Show this message and exit.

joule module

Retrieve module information.

Usage:

joule module [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule module info

Display module information

Usage:

joule module info [OPTIONS] NAME

Options:

  --help  Show this message and exit.

joule module list

List currently executing modules

Usage:

joule module list [OPTIONS]

Options:

  -s, --statistics  include memory and CPU statistics
  --help            Show this message and exit.

joule module logs

Display a module's log output

Usage:

joule module logs [OPTIONS] NAME

Options:

  --help  Show this message and exit.

joule node

Configure local settings.

Usage:

joule node [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule node add

Add a new node (requires API key)

Use the information provided by 'joule master add user'

Usage:

joule node add [OPTIONS] NAME URL KEY

Options:

  --help  Show this message and exit.

joule node default

Change the default node.

Usage:

joule node default [OPTIONS] NAME

Options:

  --help  Show this message and exit.

joule node delete

Remove a node.

Usage:

joule node delete [OPTIONS] NAME

Options:

  --help  Show this message and exit.

joule node info

Display information about a node.

Usage:

joule node info [OPTIONS]

Options:

  --help  Show this message and exit.

joule node list

Display authorized nodes.

Usage:

joule node list [OPTIONS]

Options:

  --help  Show this message and exit.

joule proxy

Proxied site information.

Local URL's proxied by Joule.

Usage:

joule proxy [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule proxy info

Display proxy information

Usage:

joule proxy info [OPTIONS] NAME

Options:

  --help  Show this message and exit.

joule proxy list

Display all configured proxies

Usage:

joule proxy list [OPTIONS]

Options:

  --help  Show this message and exit.

joule stream

Manage data streams.

Usage:

joule stream [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

joule stream annotations

Display stream annotations.

Usage:

joule stream annotations [OPTIONS] STREAM

Options:

  -s, --start TEXT  timestamp or descriptive string
  -e, --end TEXT    timestamp or descriptive string
  -c, --csv         display in raw csv format
  --delete          remove annotations for this stream
  --help            Show this message and exit.

joule stream delete

Delete a data stream

Usage:

joule stream delete [OPTIONS] STREAM

Options:

  --help  Show this message and exit.

joule stream info

Display stream information.

Usage:

joule stream info [OPTIONS] PATH

Options:

  -e, --elements  show element information
  --help          Show this message and exit.

joule stream move

Move a data stream to a different folder

Usage:

joule stream move [OPTIONS] SOURCE DESTINATION

Options:

  --help  Show this message and exit.

joule stream rename

Rename a data stream.

Usage:

joule stream rename [OPTIONS] STREAM NAME

Options:

  --help  Show this message and exit.