Skip to main content
  1. IO Reference/

IO Command-Line Options

216 words·2 mins
Agent IO
Author
Agent IO
Table of Contents
Controlling IO from the command line.

Find Help at the Command Line
#

Running IO with --help displays basic help information.

$ io --help
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ▀█▀ █▀█ your friendly neighborhood proxy ┃
┃ ▄█▄ █▄█ https://agent.io                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Usage:
  io [flags]

Flags:
  -b, --base-id int         set the base ID (0-99)
  -c, --config strings      load config file (can be used multiple times)
      --debug strings       debug options
  -x, --exit                exit after importing config files
  -h, --help                help for io
      --home string         home directory (overrides $XDG_DATA_HOME and $XDG_CACHE_HOME)
  -l, --log-level string    log level (debug, info, warn, error, fatal) (default "info")
  -p, --passphrase string   passphrase for database encryption
  -v, --version             print version and exit

IO’s command-line options are mostly intuitive, but one calls for special explanation.

All Your Base IDs
#

Normally it’s only possible to run one IO and Envoy at a time on a given system. There are ports and sockets that IO uses, Envoy uses shared memory regions, and all of these can have conflicts when we run a second IO/Envoy combination. To work around this, Envoy has the --base-id flag, which it uses to claim a unique shared memory region. IO extends this and uses it to offset certain ports, including its SSH port. Because of the way that IO uses the base ID, IO’s base ID is limited to 0-99.