From 3f8162b75148f70b5a540cb5efc2cb1111fb4fb2 Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Tue, 13 Oct 2026 16:37:02 +0200 Subject: [PATCH 1/3] feat: Support Vector 0.58.0 --- CHANGELOG.md | 3 +- Cargo.lock | 49 +++++-- Cargo.nix | 136 ++++++++++++------ Cargo.toml | 2 +- crate-hashes.json | 18 +-- .../product_logging/test-config.yaml | 2 + .../properties/product_logging/test-vector.sh | 26 ++-- .../product_logging/vector-test.yaml | 5 + .../properties/product_logging/vector.yaml | 13 +- .../30-install-airflow-vector-aggregator.yaml | 2 +- 10 files changed, 173 insertions(+), 83 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 5a74769c..99db13fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,7 +52,7 @@ roles leave unset ([#867]). - Bump stackable-operator to 0.119.0 ([#868]). - Docs: remove Spark submit/monitor classes and refer to demo usage instead ([#870]). -- test: Bump vector-aggregator to 0.58.0 ([#876]). +- Support Vector 0.58.0 ([#876], [#878]). ### Fixed @@ -90,6 +90,7 @@ [#870]: https://github.com/stackabletech/airflow-operator/pull/870 [#872]: https://github.com/stackabletech/airflow-operator/pull/872 [#876]: https://github.com/stackabletech/airflow-operator/pull/876 +[#878]: https://github.com/stackabletech/airflow-operator/pull/878 ## [26.7.0] - 2026-07-21 diff --git a/Cargo.lock b/Cargo.lock index fc06d2e8..c0cbe076 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1706,7 +1706,7 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#d46d75a2fa2156ea487848729c0d30840784a825" dependencies = [ "darling 0.24.1", "regex", @@ -1870,6 +1870,12 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" +[[package]] +name = "libyaml-rs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e126dda6f34391ab7b444f9922055facc83c07a910da3eb16f1e4d9c45dc777" + [[package]] name = "libz-sys" version = "1.1.29" @@ -3175,7 +3181,7 @@ dependencies = [ [[package]] name = "stackable-certs" version = "0.4.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#d46d75a2fa2156ea487848729c0d30840784a825" dependencies = [ "const-oid", "ecdsa", @@ -3198,8 +3204,8 @@ dependencies = [ [[package]] name = "stackable-operator" -version = "0.119.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +version = "0.120.0" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#d46d75a2fa2156ea487848729c0d30840784a825" dependencies = [ "base64 0.23.1", "clap", @@ -3222,7 +3228,6 @@ dependencies = [ "semver", "serde", "serde_json", - "serde_yaml", "sha2", "snafu 0.9.2", "stackable-operator-derive", @@ -3238,12 +3243,13 @@ dependencies = [ "url", "uuid", "xml", + "yaml_serde", ] [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#d46d75a2fa2156ea487848729c0d30840784a825" dependencies = [ "darling 0.24.1", "proc-macro2", @@ -3254,7 +3260,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.1.2" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#d46d75a2fa2156ea487848729c0d30840784a825" dependencies = [ "jiff", "k8s-openapi", @@ -3262,16 +3268,16 @@ dependencies = [ "schemars", "semver", "serde", - "serde_yaml", "snafu 0.9.2", "strum", "time", + "yaml_serde", ] [[package]] name = "stackable-telemetry" version = "0.6.5" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#d46d75a2fa2156ea487848729c0d30840784a825" dependencies = [ "axum", "clap", @@ -3294,22 +3300,22 @@ dependencies = [ [[package]] name = "stackable-versioned" -version = "0.11.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +version = "0.12.0" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#d46d75a2fa2156ea487848729c0d30840784a825" dependencies = [ "kube", "schemars", "serde", "serde_json", - "serde_yaml", "snafu 0.9.2", "stackable-versioned-macros", + "yaml_serde", ] [[package]] name = "stackable-versioned-macros" -version = "0.11.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +version = "0.12.0" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#d46d75a2fa2156ea487848729c0d30840784a825" dependencies = [ "convert_case", "darling 0.24.1", @@ -3326,7 +3332,7 @@ dependencies = [ [[package]] name = "stackable-webhook" version = "0.10.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#d46d75a2fa2156ea487848729c0d30840784a825" dependencies = [ "arc-swap", "async-trait", @@ -4289,6 +4295,19 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f45bb2c13fec6a6cb4c0f76a7e94839e110a14ec803ec2940777a94c347bc52" +[[package]] +name = "yaml_serde" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b729a08a9a6be689bbad3e2bf8015926db54b6622cc89c3a5f7dc174b9e918" +dependencies = [ + "indexmap", + "itoa", + "libyaml-rs", + "ryu", + "serde", +] + [[package]] name = "yoke" version = "0.8.3" diff --git a/Cargo.nix b/Cargo.nix index dedc17a6..123652bd 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -5410,9 +5410,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "d46d75a2fa2156ea487848729c0d30840784a825"; + sha256 = "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx"; }; libName = "k8s_version"; authors = [ @@ -6143,6 +6143,19 @@ rec { }; resolvedDefaultFeatures = [ "arch" "default" ]; }; + "libyaml-rs" = rec { + crateName = "libyaml-rs"; + version = "0.3.0"; + edition = "2021"; + crateBin = []; + sha256 = "0xy7bp2dkr7i2vms63cigb087k7salh95ya4njvilf9ldzd6s4if"; + libName = "libyaml_rs"; + authors = [ + "David Tolnay " + "YAML Organization " + ]; + + }; "libz-sys" = rec { crateName = "libz-sys"; version = "1.1.29"; @@ -10433,9 +10446,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "d46d75a2fa2156ea487848729c0d30840784a825"; + sha256 = "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx"; }; libName = "stackable_certs"; authors = [ @@ -10532,13 +10545,13 @@ rec { }; "stackable-operator" = rec { crateName = "stackable-operator"; - version = "0.119.0"; + version = "0.120.0"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "d46d75a2fa2156ea487848729c0d30840784a825"; + sha256 = "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx"; }; libName = "stackable_operator"; authors = [ @@ -10640,10 +10653,6 @@ rec { name = "serde_json"; packageId = "serde_json"; } - { - name = "serde_yaml"; - packageId = "serde_yaml"; - } { name = "sha2"; packageId = "sha2"; @@ -10713,6 +10722,10 @@ rec { name = "xml"; packageId = "xml"; } + { + name = "yaml_serde"; + packageId = "yaml_serde"; + } ]; features = { "certs" = [ "dep:stackable-certs" ]; @@ -10735,9 +10748,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "d46d75a2fa2156ea487848729c0d30840784a825"; + sha256 = "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -10770,9 +10783,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "d46d75a2fa2156ea487848729c0d30840784a825"; + sha256 = "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx"; }; libName = "stackable_shared"; authors = [ @@ -10810,10 +10823,6 @@ rec { packageId = "serde"; features = [ "derive" ]; } - { - name = "serde_yaml"; - packageId = "serde_yaml"; - } { name = "snafu"; packageId = "snafu 0.9.2"; @@ -10828,6 +10837,10 @@ rec { packageId = "time"; optional = true; } + { + name = "yaml_serde"; + packageId = "yaml_serde"; + } ]; devDependencies = [ { @@ -10851,9 +10864,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "d46d75a2fa2156ea487848729c0d30840784a825"; + sha256 = "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx"; }; libName = "stackable_telemetry"; authors = [ @@ -10957,13 +10970,13 @@ rec { }; "stackable-versioned" = rec { crateName = "stackable-versioned"; - version = "0.11.1"; + version = "0.12.0"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "d46d75a2fa2156ea487848729c0d30840784a825"; + sha256 = "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx"; }; libName = "stackable_versioned"; authors = [ @@ -10990,10 +11003,6 @@ rec { name = "serde_json"; packageId = "serde_json"; } - { - name = "serde_yaml"; - packageId = "serde_yaml"; - } { name = "snafu"; packageId = "snafu 0.9.2"; @@ -11002,18 +11011,22 @@ rec { name = "stackable-versioned-macros"; packageId = "stackable-versioned-macros"; } + { + name = "yaml_serde"; + packageId = "yaml_serde"; + } ]; }; "stackable-versioned-macros" = rec { crateName = "stackable-versioned-macros"; - version = "0.11.1"; + version = "0.12.0"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "d46d75a2fa2156ea487848729c0d30840784a825"; + sha256 = "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx"; }; procMacro = true; libName = "stackable_versioned_macros"; @@ -11075,9 +11088,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "d46d75a2fa2156ea487848729c0d30840784a825"; + sha256 = "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx"; }; libName = "stackable_webhook"; authors = [ @@ -15060,6 +15073,45 @@ rec { ]; }; + "yaml_serde" = rec { + crateName = "yaml_serde"; + version = "0.10.7"; + edition = "2021"; + sha256 = "0679p5sc2zaz7afchb32nradn9jr07w2ngmdpf4ycswsiah2kdrk"; + authors = [ + "YAML Organization " + ]; + dependencies = [ + { + name = "indexmap"; + packageId = "indexmap"; + usesDefaultFeatures = false; + } + { + name = "itoa"; + packageId = "itoa"; + } + { + name = "libyaml-rs"; + packageId = "libyaml-rs"; + } + { + name = "ryu"; + packageId = "ryu"; + } + { + name = "serde"; + packageId = "serde"; + usesDefaultFeatures = false; + features = [ "alloc" ]; + } + ]; + features = { + "default" = [ "std" ]; + "std" = [ "serde/std" "indexmap/std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; "yoke" = rec { crateName = "yoke"; version = "0.8.3"; diff --git a/Cargo.toml b/Cargo.toml index 82802776..dbe87912 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,5 +33,5 @@ tokio = { version = "1.53", features = ["full"] } tracing = "0.1" [patch."https://github.com/stackabletech/operator-rs.git"] -# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } +stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "chore/26.11/version-bumps/vector" } # stackable-operator = { path = "../operator-rs/crates/stackable-operator" } diff --git a/crate-hashes.json b/crate-hashes.json index 2046087d..b585b2ac 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,11 +1,11 @@ { - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#k8s-version@0.1.3": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-certs@0.4.1": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-operator-derive@0.3.1": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-operator@0.119.0": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-shared@0.1.2": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-telemetry@0.6.5": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-versioned-macros@0.11.1": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-versioned@0.11.1": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-webhook@0.10.0": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0" + "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#k8s-version@0.1.3": "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx", + "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#stackable-certs@0.4.1": "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx", + "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#stackable-operator-derive@0.3.1": "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx", + "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#stackable-operator@0.120.0": "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx", + "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#stackable-shared@0.1.2": "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx", + "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#stackable-telemetry@0.6.5": "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx", + "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#stackable-versioned-macros@0.12.0": "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx", + "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#stackable-versioned@0.12.0": "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx", + "git+https://github.com/stackabletech//operator-rs.git?branch=chore%2F26.11%2Fversion-bumps%2Fvector#stackable-webhook@0.10.0": "18phgl96sxkgbhaq5jswsysrpmvm6b1bw7rlh7a353zwhfa7wnkx" } \ No newline at end of file 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..ca5ccdc4 --- /dev/null +++ b/rust/operator-binary/src/controller/build/properties/product_logging/test-config.yaml @@ -0,0 +1,2 @@ +# 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 458a91b5..db7318f0 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,17 @@ #!/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=airflow \ -ROLE_NAME=webserver \ -ROLE_GROUP_NAME=default \ -VECTOR_AGGREGATOR_ADDRESS=vector-aggregator \ -VECTOR_FILE_LOG_LEVEL=info \ -vector test vector.yaml vector-test.yaml +export DATA_DIR=/stackable/log/_vector-state +export LOG_DIR=/stackable/log +export NAMESPACE=default +export CLUSTER_NAME=airflow +export ROLE_NAME=webserver +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 7cfc0637..075c9875 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/30-install-airflow-vector-aggregator.yaml b/tests/templates/kuttl/logging/30-install-airflow-vector-aggregator.yaml index 7fda0d0f..25b704ca 100644 --- a/tests/templates/kuttl/logging/30-install-airflow-vector-aggregator.yaml +++ b/tests/templates/kuttl/logging/30-install-airflow-vector-aggregator.yaml @@ -14,4 +14,4 @@ kind: ConfigMap metadata: name: airflow-vector-aggregator-discovery data: - ADDRESS: airflow-vector-aggregator:6123 + ADDRESS: http://airflow-vector-aggregator:6123 From eb65d6caefedaf292e7f48a2d5a79e0b9b4f2831 Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Wed, 14 Oct 2026 15:36:51 +0200 Subject: [PATCH 2/3] chore: Fix YAML linter warning --- .../controller/build/properties/product_logging/test-config.yaml | 1 + 1 file changed, 1 insertion(+) 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 index ca5ccdc4..02c50b86 100644 --- 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 @@ -1,2 +1,3 @@ +--- # Pin the timezone so that it does not affect the tests timezone: Etc/UTC From c6e040ad28d6d4810b1d311492490154ee5d5883 Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Wed, 14 Oct 2026 16:55:56 +0200 Subject: [PATCH 3/3] fix: Fail test-vector.sh on validation errors --- .../controller/build/properties/product_logging/test-vector.sh | 2 ++ 1 file changed, 2 insertions(+) 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 db7318f0..29987ab4 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,5 +1,7 @@ #!/usr/bin/env sh +set -eu + export DATA_DIR=/stackable/log/_vector-state export LOG_DIR=/stackable/log export NAMESPACE=default