summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md82
1 files changed, 33 insertions, 49 deletions
diff --git a/README.md b/README.md
index 673e199..5f3c089 100644
--- a/README.md
+++ b/README.md
@@ -2,36 +2,23 @@
The client source repository for [Software Over The Air](http://advancedtelematic.github.io/rvi_sota_server/) updates.
+Click [here](http://advancedtelematic.github.io/rvi_sota_server/cli/client-commands-and-events-reference.html) for the complete `Command` and `Event` API reference used for communicating with the client.
+
## Prerequisites
The simplest way to get started is via [Docker](http://www.docker.com), which is used for compiling and running the client.
Alternatively (and optionally), local compilation requires a stable installation of Rust and Cargo. The easiest way to install both is via [Rustup](https://www.rustup.rs).
-## Running the client
-
-With Docker installed, `make run` will start the client.
-
-### Makefile targets
+## Configuration
-Run `make help` to see the full list of targets, which are:
+See [here](http://advancedtelematic.github.io/rvi_sota_server/cli/client-startup-and-configuration.html) for full details on configuring the client on startup.
-Target | Description
--------------: | :----------
-run | Run the client inside a Docker container.
-clean | Remove all compiled libraries, builds and temporary files.
-test | Run all cargo tests.
-doc | Generate documentation for the sota crate.
-clippy | Run clippy lint checks using the nightly compiler.
-client | Compile a new release build of the client.
-image | Build a Docker image for running the client.
-deb | Create an installable DEB package of the client.
-rpm | Create an installable RPM package of the client.
-version | Print the version that will be used for building packages.
+### Makefile configuration
-## Configuration
+Run `make help` to see the full list of targets.
-You can configure how the client starts with `make run` by setting the following environment variables:
+With Docker installed, `make run` will start the client. You can configure how the client starts by setting the following environment variables:
Variable | Default value | Description
-------------------: | :------------------------ | :------------------
@@ -49,55 +36,52 @@ Variable | Default value | Description
For example, running `CONFIG_ONLY=true make run` will output a newly generated `sota.toml` to stdout then quit.
-### Further customization
-
-Every value in the generated `sota.toml` config file can be overwritten in the `run/sota.toml.env` file.
+Every value in the generated `sota.toml` config file can be overwritten in the `run/sota.toml.env` file. In addition, each config value is available as a command line flag when starting the client. Command line flags take precedence over the values set in the config file. Run `sota_client --help` to see a full list.
-In addition, each config value is available as a command line flag when starting the client. Command line flags take precedence over the values set in the config file. Run `sota_client --help` to see a full list.
-
-## Testing on GENIVI Development Platform over RVI
-
-### Starting the SOTA Server
+## GENIVI Development Platform over RVI
See the full documentation at [rvi_sota_server](http://advancedtelematic.github.io/rvi_sota_server/).
-Here is a quickstart:
+### Starting the SOTA Server
- git clone git@github.com:advancedtelematic/rvi_sota_server.git rvi_sota_server
- cd rvi_sota_server
- ./sbt docker:publishLocal
- cd deploy/docker-compose
- docker-compose -f docker-compose.yml -f core-rvi.yml -f client-rvi.yml up -d
+To get started:
-Login to the UI and create a new Device/Vehicle. Copy the newly generated Device UUID (e.g. "9ea653bc-3486-44cd-aa86-d936bd957e52") into the `client-rvi.yml` file as environment variable `DEVICE_ID`:
+ git clone https://github.com/advancedtelematic/rvi_sota_server rvi_sota_server
+ cd rvi_sota_server
+ ./sbt docker:publishLocal
+ cd deploy/docker-compose
+ docker-compose -f docker-compose.yml -f core-rvi.yml -f client-rvi.yml up -d
-```
- environment:
- RVI_BACKEND: "rvi_backend"
- DEVICE_ID: "9ea653bc-3486-44cd-aa86-d936bd957e52"
-```
+Log in to the UI and create a new Device/Vehicle. Click the device name to view it then copy the UUID from the URL (e.g. "9ea653bc-3486-44cd-aa86-d936bd957e52").
-Restart the RVI device node with the new DEVICE_ID by re-running:
+In the `client-rvi.yml` file, replace the `DEVICE_ID` environment variable with the UUID copied above. Now restart the RVI device node with:
docker-compose -f docker-compose.yml -f core-rvi.yml -f client-rvi.yml up -d
### Configuring sota.toml
-The `uuid` field in the `[device]` section must match the DEVICE_ID of the RVI node (e.g. "9ea653bc-3486-44cd-aa86-d936bd957e52").
+See `tests/toml/genivi.toml` for a sample config.
-The `rvi` and `dbus` fields in the `[gateway]` section must be `true`.
+The `uuid` field in the `[device]` section must match the DEVICE_ID of the RVI node (e.g. "9ea653bc-3486-44cd-aa86-d936bd957e52"). In addition, set the `rvi` and `dbus` fields in the `[gateway]` section to `true`.
As the RVI device node is running inside a docker container (and thus cannot access 127.0.0.1 on the host), all URI fields should contain non-loopback IP addresses.
-See `tests/genivi.sota.toml` for a sample config. See full documentation for details.
-
-Now you can run the `sota_client`:
+Now you can start the client:
make client
- RUST_LOG=debug ./run/sota_client --config tests/genivi.sota.toml
+ RUST_LOG=debug run/sota_client --config tests/toml/genivi.sota.toml
### GENIVI Software Loading Manager
-See [genivi_swm](https://github.com/GENIVI/genivi_swm) on how to run the Software Loading Manager demo. It also contains instructions for creating an update image, which can be uploaded as a package to the SOTA Server.
+See [genivi_swm](https://github.com/GENIVI/genivi_swm) for complete instructions on how to run the Software Loading Manager (SWM) demo, including instructions on creating a new update image to upload to the SOTA Server.
+
+To get started:
+
+ git clone https://github.com/GENIVI/genivi_swm
+ cd genivi_swm
+ export PYTHONPATH="${PWD}/common/"
+ python software_loading_manager/software_loading_manager.py
+
+As the genivi_swm demo runs as root, remember to run the `sota_client` as root as well so that they can communicate on the same system bus.
-Now you can create an update campaign on the SOTA Server, using the same update_id as the uuid in the update image you created. Also, as the genivi_swm demo runs as root, remember to run the `sota_client` as root as well so that they can communicate on the same system bus.
+Now you can create an update campaign on the SOTA Server using the same update_id as the uuid in the update image you created.