/
Installation Guide

Installation Guide

Prerequisites

  • UNIX - GSW is expected to be deployed on a UNIX machine and therefore Linux is only supported. The main reason GSW only supports Linux is because it uses shared memory as its IPC mechanism and relies on the /dev/shm directory for publishing shared memory. This requirement may cease to exist if other IPC mechanisms are implemented, but would be mainly for the purpose of developer QOL

    • If you are on Windows, then it is highly recommended to either use WSL or have a dual boot machine

Basic Ground Software

Basic ground software is defined as the entire backend which is responsible for receiving, interpreting and broadcasting data for other applications to use. Other applications include database logging and viewing telemetry.

Steps

  1. Navigate to Golang's website

  2. Install Golang. Presumably the latest version of Golang should work, but if not then try Golang 1.22

  3. Clone the GSW Repository

  4. There are two ways to run From the top level directory of GSW, run go build cmd/gsw_service.go

  5. Run scripts/create_service.sh

Database (InfluxDB)

InfluxDB V1 is currently the only supported database. It is not necessary to set up unless you want to be able to view telemetry as a graph using Grafana.

  1. Install InfluxDB V1

    1. Note that this is V1 specifically since this supports writing to the database by sending strings over UDP. Other versions can be supported if necessary. There is an interface that needs to be implemented to support other versions

    2. V1 is listed as InfluxDB OSS

  2. Overwrite /etc/influxdb/influxdb.confwith the attached file here:

    1. This makes a modification enabling the UDP feature and setting the database to “gsw”

Grafana

Grafana is a nice, industry-standard tool for viewing telemetry in a nice graph format. This requires using InfluxDB to query for data

  1. Install Grafana Install Grafana | Grafana documentation

  2. Run sudo systemctl start grafana-server.service for Linux

  3. If successful, http://localhost:3000/ should navigate to the Grafana instance

    1. Note: If you get a SSL_ERROR_RX_RECORD_TOO_LONG, check to see if the link is https and not http, unless you modified it in your configuration. Otherwise, try another browser.

  4. Login. The default username and password should both be “admin”

  5. Add an InfluxDB data source with the below settings

    1.  

      image-20250114-234829.png

      Note that “backplane” in “gsw..backplane” is an example. This is set in the configuration yaml

      image-20250114-234851.png

       

  6. Import or make your own Grafana dashboard. Some dashboards will be provided through GSW/data/grafana.