.. -*- coding: utf-8; indent-tabs-mode: nil; -*-

fbhyve
======

Synopsis
--------

**service fbhyve** [ **start** | **stop** | **restart** | **kill** | **poll** | **status** ] [**name**]...


Description
-----------

An :file:`rc.d` script to start :manpage:`bhyve(8)` virtual machines.

Every VM is lives its own dedicated :manpage:`tmux(1)` session and has
its console windows therein. The sessions have names that are derived from
the name of the corresponding VM.


Extra Commands
~~~~~~~~~~~~~~

The extra command ``kill`` is like switching the power off immediately.
It can also be used to cleanup if some spurious artifacts have been left
around that hinder normal starts.

The ``stop`` command initiates a clean shutdown by properly terminating
:manpage:`bhyve(8)` with `SIGTERM`.


Configuration Variables
~~~~~~~~~~~~~~~~~~~~~~~

`fbhyve_enable`
  Act as default for all listed VMs.
  Default: NO

`fbhyve_list`
  The list of names of VMs to start to (aka. "profiles" or "sessions").
  Default: empty

`fbhyve_configdir`
  Directory where by default the configuration files for all VMs live.
  Default: :file:`/usr/local/etc/fbhyve`

`fbhyve_tmux_session_prefix`
  All tmux session names will have this prefix string. The effective session
  name will have the VM's name appended.

Each VM that is listed in `fbhyve_list` can be configured individually with:

`fbhyve_<vm>_enable`
  Enable or disable the virtual machine.
  Default: ``$fbhyve_enable``

`fbhyve_<vm>_config`
  The :manpage:`bhyve_config(5)` style configuration file with configuration
  variables for the virtual machine.
  Default: ``${fbhyve_configdir}/<vm>.conf``


Files
-----

- :file:`/var/run/fbhyve`

    Directory where some runtime data and PID files are stored.


See also
--------

:manpage:`bhyve(8)`, :manpage:`bhyve_config(5)`, :manpage:`rc.conf(5)`,
:manpage:`tmux(1)`
