anchor.diff:  :icons: font
   :toc: left
   :toclevels: 3
  +
  +== Introduction
  +
  +The SOTA client is fully open source. If you wish, you can download and build the absolute latest version directly from https://github.com/advancedtelematic/rvi_sota_client[its GitHub repo]. However, ATS recommends using the provided binaries or building from the `stable` branch, as the latest master may not always be fully compatible with ATS Garage.
  +
  +This document describes link:#_starting_the_sota_client[how to manually install and set up the SOTA client], provides link:#_sota_client_config_file_guide[a line-by-line guide to the config file], and then describes link:#_api_documentation[the UNIX Domain Sockets API] for the SOTA client to communicate with the software loading manager.
   
   == Starting the SOTA client
   
  
positive.code: <4> The frequency, in seconds, with which the SOTA client should poll the server for updates.
  <5> The location SOTA Client should use for temporary package storage until they are processed by the software loading manager.
  <6> The software loading manager backend to use. Possible values are `deb`, `rpm`, and `off`. If an external software loading manager is in use, this should be set to `off`.
  <7> The certificate authorities SOTA Client trusts. Defaults taken from Mozilla Servo.
  
  === [network]
  
  
negative.code: ==== Configuration
  
  To communicate with the SOTA Client over unix domain sockets, `socket = true` must be defined in the `[gateway]` section of the config file. Additionally, the names of the two sockets are configurable in the link:#__network[[network]] section.
  
  The SOTA Client will create the commands socket, but the software loading manager must create the events socket. Note that it must be readable and writable by root, and be at the location configured in `sota.toml`.
  
  ==== DownloadComplete
  
  