Build xds-server from scratch


Install Go, npm, nodejs and some other tools.

Refer to Prerequisites chapter for more details.


Native build

Clone sources under $ROOTDIR/src/ in order respect directory hierarchy that match Go package import logic (see How to Write Go Code for more details).

Then use delivered Makefile :

# Declare ROOTDIR, can be any location (for example xds-build)

# Create directory hierarchy that match Go package import logic
mkdir -p $ROOTDIR/src/
cd $ROOTDIR/src/

# Clone sources
git clone
# or git clone ssh://

# Build xds-server
# (note that GOPATH will correctly be set by Makefile)
cd xds-server
make all

Generate xds-server package / tarball

make package-all

And to install xds-server (by default in /opt/AGL/xds/server):

make install


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.


Used DESTDIR to specify another install directory

make install DESTDIR=$HOME/opt/xds-server

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:

# Clone docker-worker-generator git repo
git clone
# Start build that will create a docker image
cd docker-worker-generator
make build FLAVOUR=xds