Appendix
========

Environment Variables
---------------------

Environment variables can be used to control the behavior of the breakout
utility. They are equivalent to providing the corresponding command line
options. The following variables can be set:

.. code-block:: text

    BREAKOUT_USERNAME
    BREAKOUT_PASSWORD
    BREAKOUT_CONTROLLER
    BREAKOUT_LISTEN_ADDRESS
    BREAKOUT_UI_SERVER_PORT
    BREAKOUT_CONSOLE_START_PORT
    BREAKOUT_VNC_START_PORT
    BREAKOUT_LAB_CONFIG_NAME
    BREAKOUT_POPULATE_ALL
    BREAKOUT_VERIFY_TLS
    BREAKOUT_EXTRA_LF

Example Lab Configuration File Structure
----------------------------------------

Example YAML output from ``init`` for a single lab with one node (``n4``)
running on the remote host:

.. code-block:: yaml
    :linenos:

    lab_1:
      description: Imported from ums-oob-base-triangle.ng
      enabled: false
      label: ums-oob-base-triangle
      nodes:
      n4:
        devices:
        - device: serial0
          enabled: true
          listen_port: 9000
        - device: vnc
          enabled: true
          listen_port: 5900
        label: server-0


Enable the entire lab by changing ``enabled`` at the lab level to ``true``. The
first serial port (``serial0``, which is usually the console) on each running
node are enabled by default.

Run the local breakout like this:

.. code-block:: text

    $ bin/breakout run
    +--------+-----------------------+---------+------------+---------+----------+
    | LAB ID |       LAB LABEL       | NODE ID | NODE LABEL | DEVICE  | ADDRESS  |
    +--------+-----------------------+---------+------------+---------+----------+
    | lab_1  | ums-oob-base-triangle | n4      | server-0   | serial0 | TCP/9000 |
    +        +                       +         +            +---------+----------+
    |        |                       |         |            | vnc     | TCP/5900 |
    +--------+-----------------------+---------+------------+---------+----------+

    Running... Press Ctrl-C to stop.
