diff --git a/docker/openappsec-envoy-attachments/Dockerfile b/docker/openappsec-envoy-attachments/Dockerfile index 9722d63..3f9d59a 100755 --- a/docker/openappsec-envoy-attachments/Dockerfile +++ b/docker/openappsec-envoy-attachments/Dockerfile @@ -1,45 +1,16 @@ FROM alpine -# Bash for scripting & verbose utils RUN apk add --no-cache bash -# Where we stage attachment files -ENV ENVOY_ATTACHMENT_ROOT=/envoy/attachment +# Copy your versioned envoy directory +COPY envoy /envoy/attachment/versions -# Versioned Envoy libs directory -COPY envoy ${ENVOY_ATTACHMENT_ROOT}/versions -# Base libs -COPY lib/libnano_attachment.so ${ENVOY_ATTACHMENT_ROOT}/libnano_attachment.so -COPY lib/libshmem_ipc_2.so ${ENVOY_ATTACHMENT_ROOT}/libshmem_ipc_2.so -COPY lib/libnano_attachment_util.so ${ENVOY_ATTACHMENT_ROOT}/libnano_attachment_util.so -COPY lib/libosrc_compression_utils.so ${ENVOY_ATTACHMENT_ROOT}/libosrc_compression_utils.so +# Copy required shared libraries +COPY lib/libnano_attachment.so /envoy/attachment/libnano_attachment.so +COPY lib/libshmem_ipc_2.so /envoy/attachment/libshmem_ipc_2.so +COPY lib/libnano_attachment_util.so /envoy/attachment/libnano_attachment_util.so +COPY lib/libosrc_compression_utils.so /envoy/attachment/libosrc_compression_utils.so -# Create the script inline; no external file needed -RUN cat >/usr/local/bin/prepare_attachment.sh <<'EOF' && chmod +x /usr/local/bin/prepare_attachment.sh -#!/usr/bin/env bash -set -euo pipefail - -log() { echo "[prepare-attachment] $(date -Iseconds) $*"; } - -# Require ENVOY_VERSION at runtime (fail fast with a clear message) -: "${ENVOY_VERSION:?ENVOY_VERSION env var is required (e.g., 1.27)}" - -log "Starting preparation for ENVOY_VERSION=${ENVOY_VERSION}" - -# Create destination and copy shared libs -mkdir -p "${ENVOY_ATTACHMENT_ROOT}/shared" - -log "Copying base libs from ${ENVOY_ATTACHMENT_ROOT} to ${ENVOY_ATTACHMENT_ROOT}/shared" -cp -rv "${ENVOY_ATTACHMENT_ROOT}/lib"* "${ENVOY_ATTACHMENT_ROOT}/shared" - -log "Copying versioned libs from ${ENVOY_ATTACHMENT_ROOT}/versions/${ENVOY_VERSION}" -cp -v "${ENVOY_ATTACHMENT_ROOT}/versions/${ENVOY_VERSION}/lib"* "${ENVOY_ATTACHMENT_ROOT}/shared" - -log "Preparation complete. Final contents of shared:" -ls -l "${ENVOY_ATTACHMENT_ROOT}/shared" || true - -log "All done." -EOF - -# Run the script when the container starts (great for initContainers) -ENTRYPOINT ["/usr/local/bin/prepare_attachment.sh"] +# Copy prepare script into container +COPY prepare_attachment.sh /prepare_attachment.sh +RUN chmod +x /prepare_attachment.sh