[SEBA-497]

Initial commit to alpine-grpc-base

Change-Id: I9ce594a7b9f08eef7ecc478b8da91d371d8a6414
6 files changed
tree: 4ea7b5c5eeacafaa9fe6c80a5893b8ea77278c0f
  1. .gitreview
  2. Dockerfile
  3. Makefile
  4. README.md
  5. VERSION
  6. requirements.txt
README.md

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.