XBOS Docs
Search…
Local Server
The local server installation script handles the following:
    BOSSWAVE agent installation
    default entity and bankroll creation (bankroll requires external action)
    namespace configuration
    designated router authorization (requires external action)
    spawnpoint entity and spawnd installation, configuration
    watchdog installation:
      wdtop
      sdmon

Ubuntu Install

For the XBOS server, we recommend installing a recent version of Ubuntu Server. You can use a standard installation procedure here. We use the following defaults (when prompted during the installation):
    Partitioning: use guided partition on the full disk (no need to configure LVM)
    Updates: No automatic updates
    Software Selection: add OpenSSH server in addition to standard system utilities

Configuration

The configuration file config.sh must be filled out before the installation script is run. The local server installation script comes with a configuration file, which determines which steps run as well as establishes configuration parameters.
The segments of installation are explained below, and are marked as for a "personal install" (a computer not used as an XBOS server), a "server install", or both.
Download the template config file
1
curl -O https://raw.githubusercontent.com/SoftwareDefinedBuildings/XBOS/master/commissioning/config.sh
Copied!
Edit this file according to the below specifications.

BOSSWAVE Install

    for personal install
    for server install
You will configure the following in config.sh:
1
# name + email address to be attached to configured BOSSWAVE objects
2
# if this contains spaces, make sure to use quotes
3
BW2_DEFAULT_CONTACT=
4
5
# path to entity to use as an administrative entity for configuring/interacting with services
6
# Leave blank to have the installer configure this
7
BW2_DEFAULT_ENTITY=
8
9
# path to entity to use for bankrolling BOSSWAVE operations
10
# Leave blank to have the installer configure this (it will default to $BW2_DEFAULT_ENTITY)
11
BW2_DEFAULT_BANKROLL=
12
13
# name to use for git commits to config repo
14
GIT_USER=
15
# email to use for git commits to config repo
16
GIT_EMAIL=
Copied!
The XBOS installer runs the standard curl get.bw2.io/agent | bash installation.
Interactive note: if your default entity does not have any Ether funds, the installer will pause and ask if you want to continue. The installer will output the BOSSWAVE address representing your public "bank account", so it is simple to ask someone for funds.

Tool installs

    for personal install
    for server install
Several supplementary tools are helpful for interacting with an XBOS deployment.
The XBOS installer can:
    install the Go programming language (1.9)
      configure:
      1
      INSTALL_GO=true
      Copied!
    install the spawnctl tool for administrating and monitoring spawnpoint deployments:
      configure:
      1
      # Requires Go
      2
      INSTALL_SPAWNPOINT_CLIENT=true
      Copied!
    install the pundat tool for configuring the data archiver
      configure:
      1
      # Requires Go
      2
      INSTALL_PUNDAT_CLIENT=true
      Copied!

Namespace Configuration

    for server install
In XBOS, we strucutre the set of resources for a deployment site around a central namespace. A namespace is defined by a public/private key pair (VK/SK in BOSSWAVE parlance), and is referred to by an alias (a human-readable immutable alias of the public key). Additionally, a namespace must have a contract with a server for that server to be authorized to carry traffic for the namespace; this is how we configure a broker for the namespace.
The XBOS installer requires the following configuration
1
# set to false to ignore configuration for namespace
2
CONFIGURE_NAMESPACE=true
3
4
# path to entity to use as namespace authority.
5
# Leave blank to have the installer configure this
6
NAMESPACE_ENTITY=
7
8
# alias to use for the namespace.
9
# Leave blank to not configure an alias (or use the existing one for your provided NAMESPACE_ENTITY)
10
NAMESPACE_ALIAS=
11
12
# the VK of the designated router (DR) that will carry traffic for this namespace
13
# it is helpful to have the DR ready to make an offer. This will likely be given to you.
14
DESIGNATED_ROUTER_VK=
Copied!

Spawnpoint Configuration

    for server install
The XBOS installer invokes the automated spawnpoint installer. This will configure an entity and spawnd service for a server.
The XBOS installer requires the following configuration:
1
# if true, install spawnd server
2
INSTALL_SPAWNPOINT_SERVER=true
3
# entity to run the spawnd daemon.
4
# Leave blank to have the installer configure this
5
SPAWND_ENTITY=
6
# Spawnpoint system config
7
SPAWND_MEM_ALLOC="4G"
8
SPAWND_CPU_SHARES=2048
Copied!

Watchdog Configuration

    for server install
Watchdogs are a convenient way to track the health of deployed servers and services. The provided watchdogs monitor CPU, memory, disk space and uptime of core local services such as the BOSSWAVE agent and spawnd daemon.
The XBOS installer requires the following configuration:
1
# if true, install watchdog services (requires systemd)
2
INSTALL_WATCHDOGS=true
3
# need to provide a WD_TOKEN in order to configure watchdog services.
4
# This will be given to you
5
WD_TOKEN=
6
# need to provide the prefix for watchdog names.
7
# This will be given to you
8
WD_PREFIX=
Copied!

Installation

Use the following installation script
1
curl -O https://raw.githubusercontent.com/SoftwareDefinedBuildings/XBOS/master/commissioning/install.sh
2
byobu new-session
3
./install.sh
Copied!
Step-by-step instructions coming soon!
Last modified 1yr ago