summaryrefslogtreecommitdiffstats
path: root/docs/part-2/1_Prerequisites.md
blob: 2f0ef753751d7ed0440d2d7e55419ff320d9c4ca (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
52
53
54
55
56
57
58
59
60
61
# Prerequisites

XDS is written in Go and currently only build on Linux host has been validated.

So 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` and `python3` tools.

**Ubuntu:**

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

# 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 python3
sudo apt-get install python3
```

**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 python3
sudo zypper install python3
```

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

**All Linux distro:**

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

Angular developers that's plan to modify XDS Dashboard webapp (part of
`xds-agent` repo) may also need angular cli tool named `ng` :

```bash
# Install angular cli tool (ng)
sudo npm install --global n @angular/cli
```