From 0630d9904f267de1adf080dbafa9934fd987e408 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Wed, 28 Feb 2024 16:37:00 +0100 Subject: [PATCH] [bitnami/logstash] Release 7.17.18-debian-12-r6 (#63440) Signed-off-by: Bitnami Containers --- bitnami/logstash/7/debian-12/Dockerfile | 6 +++--- .../opt/bitnami/.bitnami_components.json | 2 +- .../rootfs/opt/bitnami/scripts/logstash-env.sh | 2 ++ .../opt/bitnami/scripts/logstash/entrypoint.sh | 13 +++++++++++++ .../opt/bitnami/scripts/logstash/postunpack.sh | 17 ++++++++++++++++- bitnami/logstash/README.md | 2 ++ 6 files changed, 37 insertions(+), 5 deletions(-) diff --git a/bitnami/logstash/7/debian-12/Dockerfile b/bitnami/logstash/7/debian-12/Dockerfile index 84768a5d8f8d..bbe041cc690a 100644 --- a/bitnami/logstash/7/debian-12/Dockerfile +++ b/bitnami/logstash/7/debian-12/Dockerfile @@ -9,10 +9,10 @@ ARG TARGETARCH LABEL com.vmware.cp.artifact.flavor="sha256:c50c90cfd9d12b445b011e6ad529f1ad3daea45c26d20b00732fae3cd71f6a83" \ org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \ - org.opencontainers.image.created="2024-02-21T12:14:47Z" \ + org.opencontainers.image.created="2024-02-28T14:59:40Z" \ org.opencontainers.image.description="Application packaged by VMware, Inc" \ org.opencontainers.image.licenses="Apache-2.0" \ - org.opencontainers.image.ref.name="7.17.18-debian-12-r5" \ + org.opencontainers.image.ref.name="7.17.18-debian-12-r6" \ org.opencontainers.image.title="logstash" \ org.opencontainers.image.vendor="VMware, Inc." \ org.opencontainers.image.version="7.17.18" @@ -28,7 +28,7 @@ SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"] RUN install_packages ca-certificates curl procps zlib1g RUN mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ ; \ COMPONENTS=( \ - "yq-4.41.1-0-linux-${OS_ARCH}-debian-12" \ + "yq-4.42.1-0-linux-${OS_ARCH}-debian-12" \ "java-17.0.10-13-2-linux-${OS_ARCH}-debian-12" \ "logstash-7.17.18-1-linux-${OS_ARCH}-debian-12" \ ) ; \ diff --git a/bitnami/logstash/7/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/logstash/7/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json index e79c4085ee67..e1fd8b22043b 100644 --- a/bitnami/logstash/7/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/logstash/7/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json @@ -15,6 +15,6 @@ "arch": "amd64", "distro": "debian-12", "type": "NAMI", - "version": "4.41.1-0" + "version": "4.42.1-0" } } \ No newline at end of file diff --git a/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash-env.sh b/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash-env.sh index 41075b40cc98..ad72978c575a 100644 --- a/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash-env.sh +++ b/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash-env.sh @@ -69,7 +69,9 @@ unset logstash_env_vars # Paths export LOGSTASH_BASE_DIR="/opt/bitnami/logstash" export LOGSTASH_CONF_DIR="${LOGSTASH_BASE_DIR}/config" +export LOGSTASH_DEFAULT_CONF_DIR="${LOGSTASH_BASE_DIR}/config.default" export LOGSTASH_PIPELINE_CONF_DIR="${LOGSTASH_BASE_DIR}/pipeline" +export LOGSTASH_DEFAULT_PIPELINE_CONF_DIR="${LOGSTASH_BASE_DIR}/pipeline.default" export LOGSTASH_BIN_DIR="${LOGSTASH_BASE_DIR}/bin" export LOGSTASH_CONF_FILE="${LOGSTASH_CONF_DIR}/logstash.yml" LOGSTASH_PIPELINE_CONF_FILENAME="${LOGSTASH_PIPELINE_CONF_FILENAME:-"${LOGSTASH_CONF_FILENAME:-}"}" diff --git a/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash/entrypoint.sh b/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash/entrypoint.sh index a9668bb52192..d4f42f679c11 100755 --- a/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash/entrypoint.sh +++ b/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash/entrypoint.sh @@ -19,6 +19,19 @@ set -o pipefail print_welcome_page +# We add the copy from default config in the entrypoint to not break users +# bypassing the setup.sh logic. If the file already exists do not overwrite (in +# case someone mounts a configuration file in /opt/bitnami/logstash/config +# /opt/bitnami/logstash/pipeline) +if ! is_dir_empty "$LOGSTASH_DEFAULT_CONF_DIR"; then + debug "Copying files from $LOGSTASH_DEFAULT_CONF_DIR to $LOGSTASH_CONF_DIR" + cp -nr "$LOGSTASH_DEFAULT_CONF_DIR"/. "$LOGSTASH_CONF_DIR" +fi +if ! is_dir_empty "$LOGSTASH_DEFAULT_PIPELINE_CONF_DIR"; then + debug "Copying files from $LOGSTASH_DEFAULT_PIPELINE_CONF_DIR to $LOGSTASH_PIPELINE_CONF_DIR" + cp -nr "$LOGSTASH_DEFAULT_PIPELINE_CONF_DIR"/. "$LOGSTASH_PIPELINE_CONF_DIR" +fi + if [[ "$*" = *"/opt/bitnami/scripts/logstash/run.sh"* ]]; then info "** Starting Logstash setup **" /opt/bitnami/scripts/logstash/setup.sh diff --git a/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash/postunpack.sh b/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash/postunpack.sh index e2e2f9555812..46000d3e232e 100755 --- a/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash/postunpack.sh +++ b/bitnami/logstash/7/debian-12/rootfs/opt/bitnami/scripts/logstash/postunpack.sh @@ -19,7 +19,7 @@ set -o pipefail info "Creating Logstash daemon user" ensure_user_exists "$LOGSTASH_DAEMON_USER" --group "$LOGSTASH_DAEMON_GROUP" -for dir in "$LOGSTASH_BASE_DIR/vendor/bundle/jruby" "$LOGSTASH_CONF_DIR" "$LOGSTASH_PIPELINE_CONF_DIR" "$LOGSTASH_MOUNTED_CONF_DIR" "$LOGSTASH_MOUNTED_PIPELINE_CONF_DIR" "$LOGSTASH_VOLUME_DIR" "$LOGSTASH_DATA_DIR"; do +for dir in "$LOGSTASH_BASE_DIR/vendor/bundle/jruby" "$LOGSTASH_CONF_DIR" "$LOGSTASH_PIPELINE_CONF_DIR" "$LOGSTASH_DEFAULT_CONF_DIR" "$LOGSTASH_DEFAULT_PIPELINE_CONF_DIR" "$LOGSTASH_MOUNTED_CONF_DIR" "$LOGSTASH_MOUNTED_PIPELINE_CONF_DIR" "$LOGSTASH_VOLUME_DIR" "$LOGSTASH_DATA_DIR"; do ensure_dir_exists "$dir" configure_permissions_ownership "$dir" -d "775" -f "664" -u "$LOGSTASH_DAEMON_USER" -g "root" done @@ -54,3 +54,18 @@ rootLogger.appenderRef.console.ref = \${sys:ls.log.format}_console EOF logstash_install_plugins + +# As the gems directory depends on the jruby version, we need to create a symlink /opt/bitnami/logstash/gems +# so we can mount an emptydir in readOnlyRootFilesystem +ln -s /opt/bitnami/logstash/vendor/bundle/jruby/*/gems /opt/bitnami/logstash/gems + +# Copy all initially generated configuration files to the default directory +# (this is to avoid breaking when entrypoint is being overridden) +if ! is_dir_empty "$LOGSTASH_CONF_DIR"; then + cp -r "$LOGSTASH_CONF_DIR"/* "$LOGSTASH_DEFAULT_CONF_DIR" + chmod o+r -R "$LOGSTASH_DEFAULT_CONF_DIR" +fi +if ! is_dir_empty "$LOGSTASH_PIPELINE_CONF_DIR"; then + cp -r "$LOGSTASH_PIPELINE_CONF_DIR"/* "$LOGSTASH_DEFAULT_PIPELINE_CONF_DIR" + chmod o+r -R "$LOGSTASH_DEFAULT_PIPELINE_CONF_DIR" +fi \ No newline at end of file diff --git a/bitnami/logstash/README.md b/bitnami/logstash/README.md index 8c7f5883f89d..705256838e39 100644 --- a/bitnami/logstash/README.md +++ b/bitnami/logstash/README.md @@ -156,7 +156,9 @@ docker run -d -p 8080:8080 bitnami/logstash:latest |--------------------------------------|------------------------------------------------------------------------|--------------------------------------------------------------------| | `LOGSTASH_BASE_DIR` | Logstash installation directory | `/opt/bitnami/logstash` | | `LOGSTASH_CONF_DIR` | Logstash settings files directory | `${LOGSTASH_BASE_DIR}/config` | +| `LOGSTASH_DEFAULT_CONF_DIR` | Logstash default settings files directory | `${LOGSTASH_BASE_DIR}/config.default` | | `LOGSTASH_PIPELINE_CONF_DIR` | Logstash pipeline configuration files directory | `${LOGSTASH_BASE_DIR}/pipeline` | +| `LOGSTASH_DEFAULT_PIPELINE_CONF_DIR` | Logstash default pipeline configuration files directory | `${LOGSTASH_BASE_DIR}/pipeline.default` | | `LOGSTASH_BIN_DIR` | Logstash executables directory | `${LOGSTASH_BASE_DIR}/bin` | | `LOGSTASH_CONF_FILE` | Path to Logstash settings file | `${LOGSTASH_CONF_DIR}/logstash.yml` | | `LOGSTASH_PIPELINE_CONF_FILE` | Path to Logstash pipeline configuration file | `${LOGSTASH_PIPELINE_CONF_DIR}/${LOGSTASH_PIPELINE_CONF_FILENAME}` |