Quick start with snapcraft behind a proxy
This supplemental guide contains alternative steps for building Izuma Edge with snapcraft packaging in an environment with no direct Internet access (all access is routed through a proxy).
Prerequisites
In addition to the prerequisites for building without a proxy, you need:
-
A build machine (physical or VM) running a recent Ubuntu Linux version (such as Ubuntu 20.04) and a user with
sudo
rights. -
Information about the proxy in the form
protocol://proxy_user:proxy_password@proxy_host:proxy_port
(for examplehttp://myUser:[email protected]:8888
).If you are setting up a test environment, we recommend you use Apache 2.4.48 or newer as a proxy.
Build Izuma Edge
-
Set up the environment to use the proxy (replace the example proxy data in the first line below with the real details):
export proxy="http://myUser:[email protected]:8888" export http_proxy="$proxy" https_proxy="$proxy" sudo snap remove docker sudo apt update sudo apt install -y git docker.io coreutils git config --global http.proxy "$proxy" sudo usermod -a -G docker $(whoami) cat <<-EOT >/tmp/http-proxy.conf [Service] Environment="HTTP_PROXY=$proxy" Environment="HTTPS_PROXY=$proxy" EOT sudo mkdir -p /etc/systemd/system/docker.service.d sudo mv /tmp/http-proxy.conf /etc/systemd/system/docker.service.d/ sudo systemctl daemon-reload sudo systemctl restart docker
-
Follow the steps from the snapcraft quick guide to clone the
snap-pelion-edge
repository and generate/copy the required credentials.DON'T run the quick start's last step (building commands) because the commands are different when using a proxy. Instead, use the step below.
-
Build with the snapcraft Docker image:
docker build --no-cache -f Dockerfile --label snapcore/snapcraft --tag ${USER}/snapcraft:latest --build-arg http_proxy=$proxy --build-arg https_proxy=$proxy . docker run --rm -v "$PWD":/build --env "http_proxy=$proxy" --env "https_proxy=$proxy" -w /build ${USER}/snapcraft:latest bash -c "sudo http_proxy=$proxy https_proxy=$proxy apt-get update && snapcraft --debug"