summaryrefslogtreecommitdiffstats
path: root/docs/part-2/0_Abstract.md
blob: aa7ddc45809eb08e0e62803e86e897f892180b8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# XDS internals (advanced documentation)

## Abstract

This 2nd part is the "technical" documentation of all XDS pieces/tools that allows
for example to fine tune XDS configuration or rebuild all XDS tools from scratch.

## Prerequisites

To build xds binaries you need to install first [Go](https://golang.org/doc/install) version 1.8.1 or higher and some other tools. To build `xds-server` and `xds-agent`
you also need to install in addition `nodejs`.

**Ubuntu:**

```bash
# Install various tools
sudo apt-get install git make npm curl git zip unzip

# Install Go
source /etc/os-release
wget -O- "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x52B59B1571A79DBC054901C0F6BC817356A3D45E" | sudo apt-key add -
sudo bash -c "cat >> /etc/apt/sources.list.d/golang.list <<EOF
deb http://ppa.launchpad.net/longsleep/golang-backports/ubuntu ${VERSION_CODENAME} main
EOF"
sudo apt-get update
sudo apt-get install golang-go

# Install nodejs LTS version and angular-cli (only mandatory for xds-server and xds-agent)
sudo npm install --global n @angular/cli
sudo n lts
```

**openSUSE:**

```bash
# Install various tools
sudo zypper install git make npm curl zip unzip

# Install Go
# ( the value 'DISTRO' can be set to {openSUSE_Leap_42.2, openSUSE_Leap_42.3, openSUSE_Tumbleweed} )
source /etc/os-release; export DISTRO="openSUSE_Leap_$VERSION"
sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/go/${DISTRO}/devel:languages:go.repo
sudo zypper --gpg-auto-import-keys ref
sudo zypper install go1.9

# Install nodejs LTS version and angular-cli (only mandatory for xds-server and xds-agent)
sudo npm install --global n @angular/cli
sudo n lts
```

Don't forget to open new user session after installing these packages.