summaryrefslogtreecommitdiffstats
path: root/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server')
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.0_ Abstract.md44
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.1_Build.md84
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.2_Config.md91
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.3_how-to-run.md199
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.4_Debug.md47
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.5_Test.md43
6 files changed, 0 insertions, 508 deletions
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.0_ Abstract.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.0_ Abstract.md
deleted file mode 100644
index ab6c8c4..0000000
--- a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.0_ Abstract.md
+++ /dev/null
@@ -1,44 +0,0 @@
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/xds-docs-guides-devguides-book.yml -->
-
-# XDS - X(cross) Development System Server
-
-`xds-server` is a web server that allows user to remotely cross build applications.
-
-- The first goal is to provide a multi-platform cross development tool with near-zero installation.
-- The second goal is to keep application sources locally (on user's machine).
- - Make it compatible with existing IT policies (e.g. corporate backup or SCM).
- - Let user to continue to work as usual.
- - Use his favorite editor.
- - keep performance while editing/browsing sources.
- - Avoids manual operation
-
-This powerful and portable webserver (written in [Go](https://golang.org))
-exposes a REST interface over HTTP.
-
-`xds-server` uses [Syncthing](https://syncthing.net/) tool to synchronize
-projects files from user machine to build server machine or container.
-
-`xds-server` is commonly running on a build server (within a container or not)
-and [xds-agent](../2_xds-agent/0_abstract.html) must run on the developer/user machine in order
-to setup the following connection chain:
-
-```schema
- developer/user machine | build server or container
- ---------------------------|-----------------------------
- xds-cli <---> xds-agent <-|-> xds-server
-```
-
-**SEE ALSO**: [xds-cli](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-cli.git),
-a command-line tool that allows you to send commands to `xds-agent / xds-server`
-and for example build your application from command-line or from your favorite
-IDE (such as Netbeans or Visual Studio Code) through `xds-agent <=> xds-server`.
-
----
-
-Links to subchapters :
-
-- [Build from scratch](./1_build.html)
-- [Configuration](./2_config.html)
-- [How to run](./3_how-to-run.html)
-- [Debugging](./4_debug.html)
-- [Tests](./5_test.html)
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.1_Build.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.1_Build.md
deleted file mode 100644
index 11c18b3..0000000
--- a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.1_Build.md
+++ /dev/null
@@ -1,84 +0,0 @@
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/xds-docs-guides-devguides-book.yml --># Build xds-server from scratch
-
-## Dependencies
-
-Install [Go](https://golang.org/doc/install), [npm](https://www.npmjs.com/),
-[nodejs](https://nodejs.org/en/) and some other tools.
-
-Refer to [Prerequisites chapter](../1_Prerequisites.html) for more details.
-
-## Building
-
-### Native build
-
-Clone sources under `$ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds/xds-server`
-in order respect directory hierarchy that match Go package import logic (see
-[How to Write Go Code](https://golang.org/doc/code.html) for more details).
-
-Then use delivered Makefile :
-
-```bash
-# Declare ROOTDIR, can be any location (for example xds-build)
-ROOTDIR=$HOME/xds-build
-
-# Create directory hierarchy that match Go package import logic
-mkdir -p $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds
-cd $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds
-
-# Clone sources
-git clone https://gerrit.automotivelinux.org/gerrit/src/xds/xds-server
-# or git clone ssh://YOUR_USERNAME@gerrit.automotivelinux.org:29418/src/xds/xds-server
-
-# Build xds-server
-# (note that GOPATH will correctly be set by Makefile)
-cd xds-server
-make all
-```
-
-Generate xds-server package / tarball
-
-```bash
-make package-all
-```
-
-And to install `xds-server` (by default in `/opt/AGL/xds/server`):
-
-```bash
-make install
-```
-
-<!-- section-warning -->
-**Warning:**
-
-Makefile install rule and default values in configuration file are set
-to fit the docker setup.
-
-So you may need to adapt some settings when you want to install xds-server natively.
-<!-- end-section-warning -->
-
-<!-- section-note -->
-**Note:**
-
-Used `DESTDIR` to specify another install directory
-
-```bash
-make install DESTDIR=$HOME/opt/xds-server
-```
-
-<!-- end-section-note -->
-
-### XDS docker image
-
-As an alternative to a pre-build image, you can rebuild the container from scratch.
-
-`xds-server` has been integrated as a flavour of AGL SDK docker image.
-
-So to rebuild docker image just execute following commands:
-
-```bash
-# Clone docker-worker-generator git repo
-git clone https://git.automotivelinux.org/AGL/docker-worker-generator
-# Start build that will create a docker image
-cd docker-worker-generator
-make build FLAVOUR=xds
-```
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.2_Config.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.2_Config.md
deleted file mode 100644
index ba97d1f..0000000
--- a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.2_Config.md
+++ /dev/null
@@ -1,91 +0,0 @@
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/xds-docs-guides-devguides-book.yml -->
-
-# Configuration
-
-`xds-server` configuration is driven by a JSON config file (`server-config.json`).
-
-Here is the logic to determine which `server-config.json` file will be used:
-
-1. from command line option: `--config myConfig.json`
-1. `$HOME/.xds/server/server-config.json` file
-1. `/etc/xds/server/server-config.json` file
-1. `<xds-server executable dir>/server-config.json` file
-
-Supported fields in configuration file are:
-
-- **httpPort** : HTTP port of client webapp/REST API
-- **webAppDir** : location of client web application (default: webapp/dist)
-- **shareRootDir** : root directory where projects will be copied
-- **logsDir** : directory to store logs (eg. syncthing output)
-- **sdkScriptsDir** : directory where scripts, used to managed SDKs, are installed
-- **sdkDbUpdate** : define how SDK database(s) is(are) updated, supported values are:
- `disable`, `startup` (default: `startup`)
-- **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:8385>)
-- **syncthing.gui-apikey** : syncthing api-key to use (default auto-generated)
-
-All fields are optional and example below corresponds to the default values.
-
-```json
-{
- "httpPort": 8000,
- "webAppDir": "webapp/dist",
- "shareRootDir": "${HOME}/.xds/server/projects",
- "logsDir": "/tmp/logs",
- "sdkScriptsDir": "${EXEPATH}/scripts/sdks",
- "sdkDbUpdate": "startup",
- "syncthing": {
- "binDir": "./bin",
- "home": "${HOME}/.xds/server/syncthing-config",
- "gui-address": "http://localhost:8385",
- "gui-apikey": "123456789",
- }
-}
-```
-
->**Notes:**
->
->Environment variables are supported by using `${MY_VAR}` syntax.
->
-
-When `xds-server` is started as a systemd service, default environment variables
-are set into `/etc/default/xds-server` file.
-
-`xds-server` configuration is also driven by a JSON config file (`server-config.json`),
-and default JSON config is `/etc/xds/server/server-config.json`.
-
-<!-- section-note -->
-**Note:**
-You can use your own JSON config by settings `APP_CONFIG` variable of
-`/etc/default/xds-server` file to your file, for example `/home/MYUSER/.xds/server/server-config.json`
-<!-- end-section-note -->
-
-## Disable syncthing
-
-`CloudSync` synchronization type based on `syncthing` tool can be disabled by
-simply removing (or renaming) `"syncthing"` key in configuration file.
-Here is a JSON configuration file example where syncthing key as been renamed:
-
-```json
-{
- "httpPort": 8000,
- "webAppDir": "webapp/dist",
- "shareRootDir": "${HOME}/.xds/server/projects",
- "logsDir": "/tmp/logs",
- "sdkScriptsDir": "${EXEPATH}/scripts/sdks",
- "syncthing_DISABLE": {
- "binDir": "./bin",
- "home": "${HOME}/.xds/server/syncthing-config",
- }
-}
-```
-
-On benefit to do that is to increase XDS-Server startup time.
-
-<!-- section-note -->
-**Note:**
-
-- `CloudSync` (AKA syncthing) synchronization type can also be disabled when `"syncthing"` key is not defined in JSON configuration file.
-
-<!-- end-section-note -->
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.3_how-to-run.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.3_how-to-run.md
deleted file mode 100644
index 38bfbc3..0000000
--- a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.3_how-to-run.md
+++ /dev/null
@@ -1,199 +0,0 @@
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/xds-docs-guides-devguides-book.yml -->
-# How to run
-
-`xds-server` has been designed to easily compile and debug
-[AGL](https://www.automotivelinux.org/) applications. That's why `xds-server` has
-been integrated into AGL SDK docker container.
-
->**Note:** For more info about AGL SDK docker container, please refer to
-[AGL SDK Quick Setup](../../../../../getting_started/reference/getting-started/docker-container-setup.html)
-
-## Start xds-server
-
-There are several way to install xds-server and start-up depend of installation type:
-
-| Installation type | Supported<br> host OS | Start-up | Install instructions |
-|-------------------|-------------------------|---------------------------------------------------|----------------------|
-| Docker container | Linux or MacOS | Automatic based on systemd user service | [see Installation based on Docker container](../../part-1/server-part.html#docker-container) |
-| Virtual Machine | Linux, MacOS or Windows | Automatic based on systemd user service | [see Installation based on VirtualBox appliance](../../part-1/server-part.html#virtualbox-appliance) |
-| Native | Linux | Automatic based on systemd user service or manual | [see Native installation](../../part-1/server-part.html#native) |
-| Native | MacOS or Windows | Manually | [see Native installation](../../part-1/server-part.html#native) |
-
-### Automatic start-up based on systemd user service
-
-XDS server is started as a user service by Systemd.
-
-```bash
-/usr/lib/systemd/user/xds-server.service
-```
-
-Use well-known systemd commands to control `xds-server.service` service.
-
-```bash
-# Enter in docker container or VM
-# (optional, depending on installation type)
-ssh -p 2222 devel@localhost
-
-# Status XDS server:
-systemctl --user status xds-server
-
-# Restart XDS server
-systemctl --user restart xds-server
-```
-
-If needed you can change default setting by defining specific environment
-variables file
-
-```bash
-ssh -t -p 2222 devel@localhost vim /etc/default/xds-server
-```
-
-For example to control log level, just set LOG_LEVEL env variable.
-
-knowing that supported *level* are:
-
-- panic
-- fatal
-- error
-- warn
-- info
-- debug
-
-```bash
-docker exec ${CONTAINER_NAME} bash -c "echo 'LOG_LEVEL=debug' >> /etc/default/xds-server"
-ssh -p 2222 devel@localhost -- "systemctl --user restart xds-server"
-```
-
-### Manual start-up
-
-On **Linux or MacOS**, simply execute `xds-server` executable:
-
-```bash
-/opt/AGL/bin/xds-server
-```
-
-On **Windows**, simply execute `xds-server` executable:
-
-```batch
-C:\AGL\bin\xds-server.exe
-```
-
-<!-- section-note -->
-**Note:**
-
-Invoke `xds-server --help` to get more details about possible options that allow
-for example to change logging level or select another configuration file.
-
-<!-- end-section-note -->
-
-## XDS server REST API and Web application
-
-`xds-server` exposes a REST API and serves a basic web-application.
-
-REST API based url is `http://localhost:8000/api/v1/` when XDS server is
-running on your host (localhost) and basic web-application is available at
-`http://localhost:8000`.
-
-Just replace `localhost` by the host name or ip when `xds-server` is running
-on another host.
-
-```bash
-# Get version using REST API
-curl http://localhost:8000/api/v1/version
-
-# Open browser and local xds-server web-application
-xdg-open http://localhost:8000
-```
-
-Then follow instructions provided on this page to install and start `xds-agent`
-that must run locally on your machine.
-
-See also [xds-agent documentation](../2_xds-agent/0_abstract.html) for more details.
-
-## SDK cross-toolchain Management
-
-### Setup to add support of a new SDK family
-
-<!-- section-note -->
-**Optional step**: read this chapter only if you plan to add a new SDK family.
-<!-- end-section-note -->
-
-`xds-server` dynamically detects supported SDKs by scanning sub-directories of
-`sdkScriptsDir` directory (see [Configuration chapter](2_config.html)).
-
-Each sub-directory (usually name is the same as the SDK family) of `sdkScriptsDir`
-must contain a set of scripts that will be called by `xds-server` to managed SDKs
-of a specific family.
-
-These scripts are:
-
-- `add`: used to add/install a new SDK
-- `db-dump`: returned the list of available and installed SDKs (JSON format)
-- `db-update`: update SDKs database
-- `get-family-config`: returned SDK family configuration structure (JSON format)
-- `get-sdk-info`: extract SDK info (JSON format) from a SDK file/tarball
-- `remove`: used to remove an existing SDK
-
-For example, here 2 SDKs family (`agl` and `zephyr`) are defined:
-
-```bash
-# > tree ./sdks/
-./sdks/
-├── agl
-│ ├── add
-│ ├── db-dump
-│ ├── db-update
-│ ├── get-family-config
-│ ├── get-sdk-info
-│ └── remove
-├── README.md
-└── zephyr
- ├── add
- ├── db-dump
- ├── db-update
- ├── get-family-config
- ├── get-sdk-info
- └── remove
-```
-
-On startup `xds-server` will call in order:
-
-- `sdks/*/get-family-config` to get configuration of each SDK family.
-- `sdks/*/db-update` to update database (only when `SdkDbUpdate` is set to ̀`startup`,
- see [Configuration chapter](2_config.html) for more details)
-- `sdks/*/db-dump` scripts to get the initial list of available and installed SDKs.
-
-Please refer to `sdks/README.md` for more information about scripts definition
-and to understand how to add support of a new SDK family.
-
-### Install a new SDK
-
-Please refer to [Installing AGL SDKs](../../part-1/install-sdk.html) chapter.
-
-### Un-install a SDK from command line
-
-Used `sdks` command of `xds-cli` tool to managed SDKs.
-
-```bash
-# List installed SDKs
-xds-cli sdks ls
-List of installed SDKs:
- ID NAME STATUS VERSION ARCH
- c39e5998 poky-agl_aarch64_4.0.1 Installed 4.0.1 aarch64
- d610bfbf poky-agl-aarch64.current_on_iotbzh_download-3.99.1+snapshot Installed 3.99.1+snapshot aarch64.current_on_iotbzh_download
- a0ae663d poky-agl-corei7-64-3.99.1+snapshot Installed 3.99.1+snapshot corei7-64
- 87f0400b AGL-release-dab-3.99.3-m3ulcb-nogfx Installed 3.99.3 aarch64
- 352c0584 poky-agl-corei7-64-3.99.2+snapshot Installed 3.99.2+snapshot corei7-64
- d65fe750 AGL-release-eel-latest-qemux86-64 Installed 4.99.5 corei7-64
-
-# Un-install a SDK
-xds-cli sdks uninstall d65fe750
-SDK ID d65fe750-d3a7-38f5-83d8-3d3806054f8d successfully deleted.
-```
-
-### Un-install a SDK from XDS Dashboard
-
-Open XDS-Dashboard in web-browser and select `SDKs` entry in left side menu.
-
-If needed, switch to `BASIC SDKS VIEW` view and click on trash icon located
-in the top-right corner of SDK card.
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.4_Debug.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.4_Debug.md
deleted file mode 100644
index ceb3e5b..0000000
--- a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.4_Debug.md
+++ /dev/null
@@ -1,47 +0,0 @@
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/xds-docs-guides-devguides-book.yml -->
-# Debugging
-
-## XDS server architecture
-
-The server part is written in *Go* and web app (basic HTML) in *Angular4*.
-
-```bash
-|
-+-- bin/ # where xds-server binary file will be built
-|
-+-- conf.d/ # Linux configuration and startup files (systemd user service)
-|
-+-- glide.yaml # Go package dependency file
-|
-+-- lib/ # sources of server part (Go)
-|
-+-- LICENSE # XDS server license
-|
-+-- main.go # main entry point of of Web server (Go)
-|
-+-- Makefile # makefile including
-|
-+-- README.md # readme
-|
-+-- scripts/ # hold various scripts used for installation or startup
-|
-+-- test/ # XDS test suite
-|
-+-- tools/ # temporary directory to hold development tools (like glide)
-|
-+-- vendor/ # temporary directory to hold Go dependencies packages
-|
-+-- webapp/ # source client basic web application
-```
-
-## Debug server part (Go code)
-
-Install first [Visual Studio Code](https://code.visualstudio.com/) and
-[Go plugin](https://marketplace.visualstudio.com/items?itemName=lukehoban.Go)
-(`ext install lukehoban.Go`)
-
-Visual Studio Code launcher settings can be found into `.vscode/launch.json`.
-
-Please follow instructions of xds-agent [debugging chapter](../2_xds-agent/4_debug.html#debug-xds-agent-go-code),
-knowing that you execute these same instructions in `xds-server` repo, in other words
-by replacing *xds-agent* references by *xds-server*.
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.5_Test.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.5_Test.md
deleted file mode 100644
index 2376d43..0000000
--- a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/4_X(cross)_Development_System:_ Internals /3.4.4.2_xds-server/3.4.4.2.5_Test.md
+++ /dev/null
@@ -1,43 +0,0 @@
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/xds-docs-guides-devguides-book.yml -->
-# XDS Server Test
-
-## XDS Server test architecture
-
-The test part is written in go and source code is available in test directory.
-
-```bash
-|
-+-- test/ # where xds-server test source files
-|
-+-- test/main_test.go # main entry point of xds-server test
-|
-+-- test/fixtures # fixtures for running test
-```
-
-The test execution will locally launch xds-server and access the api through REST and test results, events, ...
-
-## Dependencies
-
-* sshd
-
-Make sure sshd is in your user PATH.
-
-## Launch test
-
-Use the following command to launch test in xds-server root directory:
-
-```bash
-make test
-```
-
-Launch only one test, for example launch TestSdks:
-
-```bash
-make test name=TestSdks
-```
-
-Increase test verbosity:
-
-```bash
-make test VERBOSE=1
-```