feat: make install/uninstall, multi-stage build for container image
Adapt the Makefile and Dockerfile for a multi-stage build of the container image. It is now not anymore required to have go locally installed to build the container image.
Inside the multi-stage build, the newly create make install command will be executed. The compiled files will than be copied to a new base image with less dependencies.
Further improvement would be to use instead of debian:10 scratch, because the application does not have any C dependencies (CGO_ENABLED=0).
Additionally it is now possible to build the container image with alternative container runtimes like podman instead of docker.
make build/container-image CONTAINER_RUNTIME=podman
The used base image names are now defined as fully qualified image names (with registry host), to support local container registry mirror configurations.
The new introduces targets make install
and make uninstall
can
be used to install the application during the packaging process of
other distributions like Arch Linux, Debian, Ubuntu and so on.