Skip to main content

IO Command-Line Options

213 words·1 min
Agent IO
Author
Agent IO
Table of Contents

Find Help at the Command Line
#

Running IO with --help displays basic help information.

$ io --help

IO is your friendly neighborhood network proxy.

  Learn more at http://agent.io

Usage:
  io [flags]

Flags:
      --base-id int           set the Envoy base ID
  -c, --config strings        load config file (can be used multiple times)
  -x, --exit                  exit after importing config files
  -h, --help                  help for io
  -i, --interactive           run with a local interactive console
  -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. Because of the way that IO uses the base ID, IO’s base ID is limited to 0-99.

Warning: base ID offsets are not yet being applied to IO’s SSH port, so currently multiple IOs can only be run in interactive mode (this will be fixed soon).