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
Navigate to Golang's website
Install Golang. Presumably the latest version of Golang should work, but if not then try Golang 1.22
Clone the GSW Repository
There are two ways to run From the top level directory of GSW, run
go build cmd/gsw_service.go
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.
Install InfluxDB V1
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
V1 is listed as InfluxDB OSS
Overwrite
/etc/influxdb/influxdb.conf
with the attached file here: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
Install Grafana Install Grafana | Grafana documentation
Run
sudo systemctl start grafana-server.service
for LinuxIf successful, http://localhost:3000/ should navigate to the Grafana instance
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.
Login. The default username and password should both be “admin”
Add an InfluxDB data source with the below settings
Note that “backplane” in “gsw..backplane” is an example. This is set in the configuration yaml
Import or make your own Grafana dashboard. Some dashboards will be provided through GSW/data/grafana.