diff --git a/CHANGELOG.md b/CHANGELOG.md index c34c85dcc..894d03a8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,9 @@ All notable changes to this project will be documented in this file. - opensearch-dashboards: Add `3.8.0` ([#1675]). - nifi: Ship `QueryNiFiReportingTask` with the image ([#1676]). - nifi: Add `2.12.0` ([#1667]). -- vector: Add `0.58.0` ([#1680]). +- vector: Add `0.58.0` ([#1680], [#1693]). +- vector: Add the wrapper script `/stackable/bin/vector-with-env-var-interpolation` which enables + the interpolation of environment variables in the Vector configuration files ([#1693]). - trino: Add `483` ([#1690]). - trino-cli: Add `483` ([#1690]). - opa: Add 1.20.2 ([#1697]). @@ -137,6 +139,7 @@ All notable changes to this project will be documented in this file. [#1686]: https://github.com/stackabletech/docker-images/pull/1686 [#1689]: https://github.com/stackabletech/docker-images/pull/1689 [#1690]: https://github.com/stackabletech/docker-images/pull/1690 +[#1693]: https://github.com/stackabletech/docker-images/pull/1693 [#1697]: https://github.com/stackabletech/docker-images/pull/1697 ## [26.7.0] - 2026-07-21 diff --git a/vector/Dockerfile b/vector/Dockerfile index 0baa2e2fe..56c2dd1b8 100644 --- a/vector/Dockerfile +++ b/vector/Dockerfile @@ -81,10 +81,10 @@ tar -czf /stackable/vector-${NEW_VERSION}-src.tar.gz . # - console/blackhole: Useful for debugging and are "cheap" # Other: # - api: Needed for /health checks (or /graphql queries) -# - unix: Enables jemalloc allocator on Linux for better performance +# - tikv-jemallocator: Enables jemalloc allocator on Linux for better performance # cargo-cyclonedx does not split the feature list on newlines, so it has to be a single line # to be usable for both the build and the SBOM generation below. -VECTOR_FEATURES="sources-file,sources-internal_logs,transforms-remap,transforms-filter,transforms-route,sinks-vector,sinks-opentelemetry,sinks-console,sinks-blackhole,api,unix" +VECTOR_FEATURES="sources-file,sources-internal_logs,transforms-remap,transforms-filter,transforms-route,sinks-vector,sinks-opentelemetry,sinks-console,sinks-blackhole,api,tikv-jemallocator" # --locked makes the build fail instead of silently updating Cargo.lock. Without it a # dependency could resolve to a newer version than the one upstream locked, which would @@ -126,6 +126,7 @@ ARG STACKABLE_USER_UID LABEL maintainer="Stackable GmbH" COPY --chown=${STACKABLE_USER_UID}:0 vector/licenses /licenses +COPY --chown=${STACKABLE_USER_UID}:0 vector/stackable/bin /stackable/bin COPY --from=vector-builder --chown=${STACKABLE_USER_UID}:0 /app/* /usr/local/bin/ # Init Jobs/Pods often start a Vector Sidecar Container which collects the logs. diff --git a/vector/stackable/bin/vector-with-env-var-interpolation b/vector/stackable/bin/vector-with-env-var-interpolation new file mode 100755 index 000000000..5e37f5649 --- /dev/null +++ b/vector/stackable/bin/vector-with-env-var-interpolation @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# +# Usage: vector-with-env-var-interpolation +# +# Starts Vector with the interpolation of environment variables in the +# configuration files enabled. All arguments are forwarded to Vector unchanged. +# +# Only use this script in a controlled environment where the configuration +# files and the environment variables are trusted. Start the `vector` binary +# directly otherwise. + +set -euo pipefail + +# Vector disabled the interpolation of environment variables in configuration +# files by default and considers it dangerous because it allows a configuration +# file to read arbitrary environment variables, like secrets which were meant +# for another process. The Stackable Data Platform relies on this interpolation +# to inject deployment-specific values into the Vector configuration, like log +# directories and file names, log levels, information about the role group the +# pod belongs to, and the address of the Vector aggregator. It also generates +# the configuration files itself, so the option can safely be enabled here. +exec /usr/local/bin/vector --dangerously-allow-env-var-interpolation "$@" diff --git a/vector/stackable/patches/0.58.0/patchable.toml b/vector/stackable/patches/0.58.0/patchable.toml index 04546569f..76df03b10 100644 --- a/vector/stackable/patches/0.58.0/patchable.toml +++ b/vector/stackable/patches/0.58.0/patchable.toml @@ -1,2 +1,2 @@ mirror = "https://github.com/stackabletech/vector.git" -base = "cf8de830c6060629092397fd2334fc0f0219363a" +base = "2bcad9bbb84e201dcfd58c22b1f779290101b728"