I am using an NGINX container which is based on Debian 11 — following the vouch-proxy build instructions failed spectacularly on the first step, reporting that “package embed is not in GOROOT”. It appears that Debian package installation gets you go 1.15 — and ’embed’ wasn’t added until 1.16. So … that’s not great.
As a note to myself — here are the additional packages I install to the base container:
apt-get update
apt-get upgrade
apt-get install vim wget net-tools procps git make gcc g++
To manually install golang on Debian:
- Find the version you want to run on https://golang.org/dl/ and wget that tar.gz file
- wget https://go.dev/dl/go1.19.linux-amd64.tar.gz
- tar -vxf go1.19.linux-amd64.tar.gz
- mv go /usr/local/
- vi /etc/bash.bashrc and append the following lines:
export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH - Log out and log back in. Test the go installation by running:
- go version
Now I am able to run their shell script to build the vouch-proxy binary:
- cd /opt
- git clone https://github.com/vouch/vouch-proxy.git
- cd vouch-proxy
- ./do.sh goget
- ./do.sh build
- cd configure
- cp config.yml_example_oidc config.yml
- ./vouch-proxy