Closed nopid closed 3 years ago
Hi @nopid ,
I've just merged your PR into a dev branch.
I'll make some changes to how the compilation is made, moving also the go
compilation into docker so a user will not need to have go
installed in the system to build the network plugin.
After that, I'll merge the dev branch into master and push the two versions of the network plugin.
Thanks a lot for your PRs
tl;dr a proper
go.mod
would help reproducible built and dependencies tracking.In order to support several architectures, the NetworkPlugin itself has to be ported to the other architectures. Fortunately, golang is perfect for the task.
Unfortunately, the current version of the Makefile does not compile, leading to a dependency error :
The
Sirupsen/logrus
module has been renamed tosirupsen/logrus
andgithub.com/docker/libnetwork v0.5.6
is still using the older version.The NetworkPlugin would have better reproducible compilation with a
go.mod
specifying dependecies precisely.I was able to recompile the plugin for ARM64 (see
nopid/katharanp
inside the docker hub) by adding an adhocgo.mod
and changing thego get
line of the Makefile into ago mod tidy
. This worked under Ubuntu 20 with golang 1.16.2. For some reason, the same depencies fail with golang 1.16.5 under macOS 11.4.Being no expert with docker, the other thing I cannot solve: is it possible to build a single name multiarch plugin in the docker hub that resolves into different architecture images like for classical images?