Rework search directories for agent-config.json files.
[src/xds/xds-agent.git] / README.md
index fa9c98e..312ffd1 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # XDS - X(cross) Development System Agent
 
-XDS-agent is an agent that should run on your local host when you use XDS.
+XDS-agent is a client that should run on your local / user development machine when you use XDS.
 
 This agent takes care, among others, of starting [Syncthing](https://syncthing.net/)
 tool to synchronize your project files from your local host to XDS build server
@@ -16,24 +16,25 @@ used to remotely cross build applications.
 ```bash
 export DISTRO="Debian_8.0"
 wget -O - http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/app-Development/${DISTRO}/Release.key | sudo apt-key add -
-sudo bash -c "cat >/etc/apt/sources.list.d/AGL.list<<EOL
-#AGL
+sudo bash -c "cat >> /etc/apt/sources.list.d/AGL.list<<EOL
 deb http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/app-Development/${DISTRO}/ ./
 EOL
 "
 sudo apt-get update
-sudo apt-get install agl-xds-agent-bin
+sudo apt-get install agl-xds-agent
 ```
 
 The value 'DISTRO' can be set to {Debian_8.0, Debian_9.0, xUbuntu_16.04, xUbuntu_16.10, xUbuntu_17.04}
 
 Update the package
+
 ```bash
 sudo apt-get update
-sudo apt-get upgrade agl-xds-agent-bin
+sudo apt-get upgrade agl-xds-agent
 ```
 
 The files are install here:
+
 ```bash
 /opt/AGL/agl-xds-agent
 ```
@@ -41,6 +42,7 @@ The files are install here:
 ### Install package for rpm distro type
 
 #### openSUSE
+
 ```bash
 export DISTRO="openSUSE_Leap_42.2"
 sudo zypper ar http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/app-Development/${DISTRO}/isv:LinuxAutomotive:app-Development.repo
@@ -51,25 +53,23 @@ sudo zypper install agl-xds-agent
 The value 'DISTRO' can be set to {openSUSE_Leap_42.2, openSUSE_Leap_42.3, openSUSE_Tumbleweed}
 
 Update the package
+
 ```bash
 sudo zypper ref
 sudo zypper install --force agl-xds-agent
 ```
 
 The files are install here:
+
 ```bash
 /opt/AGL/agl-xds-agent
 ```
 
 ## How to install on other platform
 
-You need to download `xds-agent` tarballs from xds dashboard by clicking
-on download icon ![download icon](./resources/images/download_icon.jpg) of
-configuration page.
-
-> **NOTE** : you can also download released tarballs from github [releases page](https://github.com/iotbzh/xds-agent/releases).
+Download released tarballs from github [releases page](https://github.com/iotbzh/xds-agent/releases).
 
-Then unzip this tarball any where into your local disk.
+Then unzip this tarball any where into your local disk (for example: /opt/AGL/xds or C:\AGL\xds).
 
 ## Configuration
 
@@ -77,22 +77,33 @@ xds-agent configuration is driven by a JSON config file (named `agent-config.jso
 The tarball mentioned in previous section includes this file with default settings.
 
 Here is the logic to determine which `agent-config.json` file will be used:
-1. from command line option: `--config myConfig.json`
-2. `$HOME/.xds/agent-config.json` file
-3. `<current dir>/agent-config.json` file
-4. `<xds-agent executable dir>/agent-config.json` file
 
-Supported fields in configuration file are (all fields are optional and listed
-values are the default values):
-```
+1. from command line option: `--config myConfig.json`
+1. `$HOME/.xds/agent/agent-config.json` file
+1. `/etc/xds-agent/agent-config.json` file
+1. `<xds-agent executable dir>/agent-config.json` file
+
+Supported fields in configuration file are (all fields are optional and example
+below corresponds to the default values):
+
+- **httpPort** : http port of agent REST interface
+- **logsDir**  : directory to store logs (eg. syncthing output)
+- **xds-apikey** : xds-agent api-key to use (always set value to "1234abcezam")
+- **syncthing.binDir** : syncthing binaries directory (default: executable directory)
+- **syncthing.home"** : syncthing home directory (usually .../syncthing-config)
+- **syncthing.gui-address** : syncthing gui url (default http://localhost:8384)
+- **syncthing.gui-apikey** : syncthing api-key to use (default auto-generated)
+
+```json
 {
-    "httpPort": "8010",                             # http port of agent REST interface
-    "logsDir": "/tmp/logs",                         # directory to store logs (eg. syncthing output)
+    "httpPort": "8010",
+    "logsDir": "/tmp/logs",
+    "xds-apikey": "1234abcezam",
     "syncthing": {
-        "binDir": ".",                              # syncthing binaries directory (default: executable directory)
-        "home": "${HOME}/.xds/syncthing-config",    # syncthing home directory (usually .../syncthing-config)
-        "gui-address": "http://localhost:8384",     # syncthing gui url (default http://localhost:8384)
-        "gui-apikey": "123456789",                  # syncthing api-key to use (default auto-generated)
+        "binDir": ".",
+        "home": "${HOME}/.xds/agent/syncthing-config",
+        "gui-address": "http://localhost:8384",
+        "gui-apikey": "1234abcezam",
     }
 }
 ```
@@ -102,6 +113,7 @@ values are the default values):
 ## Start-up
 
 Simply to start `xds-agent` executable
+
 ```bash
 ./xds-agent &
 ```
@@ -112,17 +124,17 @@ Simply to start `xds-agent` executable
 You can now use XDS dashboard and check that connection with `xds-agent` is up.
 (see also [xds-server README](https://github.com/iotbzh/xds-server/blob/master/README.md#xds-dashboard))
 
-
 ## Build xds-agent from scratch
 
 ### Dependencies
 
-Install and setup [Go](https://golang.org/doc/install) version 1.8 or
+Install and setup [Go](https://golang.org/doc/install) version 1.8 or
 higher to compile this tool.
 
 ### Building
 
 Clone this repo into your `$GOPATH/src/github.com/iotbzh` and use delivered Makefile:
+
 ```bash
  mkdir -p $GOPATH/src/github.com/iotbzh
  cd $GOPATH/src/github.com/iotbzh
@@ -132,6 +144,7 @@ Clone this repo into your `$GOPATH/src/github.com/iotbzh` and use delivered Make
 ```
 
 And to install xds-agent (by default in `/usr/local/bin`):
+
 ```bash
 make install
 ```
@@ -142,7 +155,9 @@ make install
 >```
 
 #### Cross build
+
 For example on a Linux machine to cross-build for Windows, just execute:
+
 ```bash
 export GOOS=windows
 export GOARCH=amd64