summaryrefslogtreecommitdiffstats
path: root/docs/part-2/1_xds-server/4_debug.md
blob: dbd6dfd731868ddafd11472827414be229103d03 (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
# 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*.