Update Dockerfile

This commit is contained in:
Daniel-Eisenberg 2025-08-21 00:00:38 +03:00 committed by GitHub
parent 76a3f1386c
commit dde30a85bd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,45 +1,16 @@
FROM alpine FROM alpine
# Bash for scripting & verbose utils
RUN apk add --no-cache bash RUN apk add --no-cache bash
# Where we stage attachment files # Copy your versioned envoy directory
ENV ENVOY_ATTACHMENT_ROOT=/envoy/attachment COPY envoy /envoy/attachment/versions
# Versioned Envoy libs directory # Copy required shared libraries
COPY envoy ${ENVOY_ATTACHMENT_ROOT}/versions COPY lib/libnano_attachment.so /envoy/attachment/libnano_attachment.so
# Base libs COPY lib/libshmem_ipc_2.so /envoy/attachment/libshmem_ipc_2.so
COPY lib/libnano_attachment.so ${ENVOY_ATTACHMENT_ROOT}/libnano_attachment.so COPY lib/libnano_attachment_util.so /envoy/attachment/libnano_attachment_util.so
COPY lib/libshmem_ipc_2.so ${ENVOY_ATTACHMENT_ROOT}/libshmem_ipc_2.so COPY lib/libosrc_compression_utils.so /envoy/attachment/libosrc_compression_utils.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
# Create the script inline; no external file needed # Copy prepare script into container
RUN cat >/usr/local/bin/prepare_attachment.sh <<'EOF' && chmod +x /usr/local/bin/prepare_attachment.sh COPY prepare_attachment.sh /prepare_attachment.sh
#!/usr/bin/env bash RUN chmod +x /prepare_attachment.sh
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"]