From ef8d9199baee5f93da2597457b74e41a9176e1e3 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Fri, 30 Jan 2026 13:06:18 -0600 Subject: [PATCH] fix: add C NIF compilation to k8s Dockerfile Match the root Dockerfile changes: - Add libsnmp-dev build dependency - Add libsnmp40 runtime dependency - Copy c_src and compile C NIF before Elixir compilation - Add TERM=dumb for cross-architecture builds --- k8s/Dockerfile | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/k8s/Dockerfile b/k8s/Dockerfile index 1d005f47..a6ee36e3 100644 --- a/k8s/Dockerfile +++ b/k8s/Dockerfile @@ -22,11 +22,13 @@ ARG RUNNER_IMAGE="docker.io/debian:${DEBIAN_VERSION}" FROM ${BUILDER_IMAGE} AS builder ENV MIX_OS_DEPS_COMPILE_PARTITION_COUNT=6 +# Disable TTY for cross-architecture builds +ENV TERM=dumb # install build dependencies RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential git \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential git libsnmp-dev \ && rm -rf /var/lib/apt/lists/* # prepare build dir @@ -61,6 +63,11 @@ RUN --mount=type=cache,target=/root/.mix \ COPY priv priv +COPY c_src c_src + +# Compile the C NIF before Elixir compilation +RUN cd c_src && make + COPY lib lib # Compile the release @@ -83,7 +90,7 @@ FROM ${RUNNER_IMAGE} AS final RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libstdc++6 openssl libncurses6 locales ca-certificates iputils-ping snmp \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libstdc++6 openssl libncurses6 locales ca-certificates iputils-ping snmp libsnmp40 \ && rm -rf /var/lib/apt/lists/* # Set the locale