From e76308293c7af4f56defe94dbd78ad369bbd25a3 Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Wed, 14 Oct 2026 17:22:40 +0200 Subject: [PATCH] feat: Support Vector 0.58.0 --- CHANGELOG.md | 3 +- .../product_logging/test-config.yaml | 3 ++ .../properties/product_logging/test-vector.sh | 28 +++++++++++-------- .../product_logging/vector-test.yaml | 5 ++++ .../properties/product_logging/vector.yaml | 13 +++++++-- ...10-install-superset-vector-aggregator.yaml | 2 +- 6 files changed, 38 insertions(+), 16 deletions(-) create mode 100644 rust/operator-binary/src/controller/build/properties/product_logging/test-config.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 11e0057e..d60e79b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,7 +39,7 @@ typed fields instead of maps keyed by role, and only the node role carries a listener class and a group listener, so those are no longer optional fields that the worker and beat roles leave unset ([#791]). -- test: Bump vector-aggregator to 0.58.0 ([#800]). +- Support Vector 0.58.0 ([#800], [#804]). - All pods now set `securityContext.seccompProfile.type` to `RuntimeDefault` ([#802]). - Replace the unmaintained `serde_yaml` with `yaml_serde` ([#802]). @@ -73,6 +73,7 @@ [#796]: https://github.com/stackabletech/superset-operator/pull/796 [#800]: https://github.com/stackabletech/superset-operator/pull/800 [#802]: https://github.com/stackabletech/superset-operator/pull/802 +[#804]: https://github.com/stackabletech/superset-operator/pull/804 ## [26.7.0] - 2026-07-21 diff --git a/rust/operator-binary/src/controller/build/properties/product_logging/test-config.yaml b/rust/operator-binary/src/controller/build/properties/product_logging/test-config.yaml new file mode 100644 index 00000000..02c50b86 --- /dev/null +++ b/rust/operator-binary/src/controller/build/properties/product_logging/test-config.yaml @@ -0,0 +1,3 @@ +--- +# Pin the timezone so that it does not affect the tests +timezone: Etc/UTC diff --git a/rust/operator-binary/src/controller/build/properties/product_logging/test-vector.sh b/rust/operator-binary/src/controller/build/properties/product_logging/test-vector.sh index 90ea59c0..0da7ecdf 100755 --- a/rust/operator-binary/src/controller/build/properties/product_logging/test-vector.sh +++ b/rust/operator-binary/src/controller/build/properties/product_logging/test-vector.sh @@ -1,13 +1,19 @@ #!/usr/bin/env sh -# `TZ=UTC` so the Python-JSON `asctime` (which has no timezone) parses deterministically. -TZ=UTC \ -DATA_DIR=/stackable/log/_vector-state \ -LOG_DIR=/stackable/log \ -NAMESPACE=default \ -CLUSTER_NAME=superset \ -ROLE_NAME=node \ -ROLE_GROUP_NAME=default \ -VECTOR_AGGREGATOR_ADDRESS=vector-aggregator \ -VECTOR_FILE_LOG_LEVEL=info \ -vector test vector.yaml vector-test.yaml +set -eu + +export DATA_DIR=/stackable/log/_vector-state +export LOG_DIR=/stackable/log +export NAMESPACE=default +export CLUSTER_NAME=superset +export ROLE_NAME=node +export ROLE_GROUP_NAME=default +export VECTOR_AGGREGATOR_ADDRESS=http://vector-aggregator:6000 +export VECTOR_FILE_LOG_LEVEL=info + +# Required because vector.yaml contains ${...} placeholders +export VECTOR_DANGEROUSLY_ALLOW_ENV_VAR_INTERPOLATION=true + +vector validate --no-environment vector.yaml + +vector test test-config.yaml vector.yaml vector-test.yaml diff --git a/rust/operator-binary/src/controller/build/properties/product_logging/vector-test.yaml b/rust/operator-binary/src/controller/build/properties/product_logging/vector-test.yaml index 84a04f98..1dc567c1 100644 --- a/rust/operator-binary/src/controller/build/properties/product_logging/vector-test.yaml +++ b/rust/operator-binary/src/controller/build/properties/product_logging/vector-test.yaml @@ -17,6 +17,7 @@ tests: timestamp: 2025-10-02T09:27:28.582Z outputs: - extract_from: extended_logs + expected_event_count: 1 conditions: - type: vrl source: | @@ -47,6 +48,7 @@ tests: timestamp: 2025-10-02T09:27:28.582Z outputs: - extract_from: extended_logs + expected_event_count: 1 conditions: - type: vrl source: | @@ -77,6 +79,7 @@ tests: timestamp: 2025-10-02T09:27:29.473487331Z outputs: - extract_from: extended_logs + expected_event_count: 1 conditions: - type: vrl source: | @@ -114,6 +117,7 @@ tests: version: 0.56.0 outputs: - extract_from: extended_logs + expected_event_count: 1 conditions: - type: vrl source: | @@ -142,6 +146,7 @@ tests: level: INFO outputs: - extract_from: filtered_logs_vector + expected_event_count: 1 conditions: - type: vrl source: | diff --git a/rust/operator-binary/src/controller/build/properties/product_logging/vector.yaml b/rust/operator-binary/src/controller/build/properties/product_logging/vector.yaml index 18d0cd4b..09143d4b 100644 --- a/rust/operator-binary/src/controller/build/properties/product_logging/vector.yaml +++ b/rust/operator-binary/src/controller/build/properties/product_logging/vector.yaml @@ -111,7 +111,9 @@ transforms: # Extends the processed files with the fields "container" and "file" extended_logs_files: inputs: - - processed_files_* + - processed_files_stdout + - processed_files_stderr + - processed_files_py type: remap source: | del(.source_type) @@ -149,7 +151,8 @@ transforms: # Add the fields "namespace", "cluster", "role" and "roleGroup" to all logs extended_logs: inputs: - - extended_logs_* + - extended_logs_files + - extended_logs_vector type: remap source: | .namespace = "${NAMESPACE}" @@ -163,4 +166,8 @@ sinks: inputs: - extended_logs type: vector - address: ${VECTOR_AGGREGATOR_ADDRESS} + routing: + endpoints: + - ${VECTOR_AGGREGATOR_ADDRESS} + compression: zstd + keepalive: {} diff --git a/tests/templates/kuttl/logging/10-install-superset-vector-aggregator.yaml b/tests/templates/kuttl/logging/10-install-superset-vector-aggregator.yaml index 1b0e39b9..d2b290f9 100644 --- a/tests/templates/kuttl/logging/10-install-superset-vector-aggregator.yaml +++ b/tests/templates/kuttl/logging/10-install-superset-vector-aggregator.yaml @@ -14,4 +14,4 @@ kind: ConfigMap metadata: name: superset-vector-aggregator-discovery data: - ADDRESS: superset-vector-aggregator:6123 + ADDRESS: http://superset-vector-aggregator:6123