alpine-grpc-base

Alpine image with gRPC and protobuf python tools as a generic base for XOS containers. This exists because building prebuilt binary wheels of certain python modules, specifically grpcio and grpcio-tools takes >10 minutes on Alpine (because of musl libc?).

By making a base image the compilation time is avoided and having a shared base image can speed image downloads.

Characteristics

  • Has no XOS-specific code and it's own VERSION independent of XOS development, so changes will happen more slowly, only when Alpine or included packages have new releases.

  • Installed via apk:

    • Standard toolchain (gcc, make, etc.) for building native extensions in Python
    • Libraries to build dependencies - librdkafka, libressl, libffi
    • python2, pip, setuptools
  • Installed via pip:

    • gRPC python libraries, and googleapi common protobuf definitions
    • kafkaloghandler
    • PyYAML
    • Twisted

Building

Run make build to build the container image, make push to send to a registry.

Testing

Currently the only test is to perform a container image build.