From d26b19840abd10b83a5f5c1c409f23085a5d187d Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Fri, 12 Apr 2024 15:37:03 -0400 Subject: [PATCH 01/17] initial commit --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000000000..188acc8fde9f7 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# Vector + +This repo is a fork of [vector](https://github.com/vectordotdev/vector) and contains patches carried by Red Hat OpenShift Logging. This is a log collector and forwarder that resides on each OpenShift node to gather application and node logs. Please refer to the [cluster-logging-operator](https://github.com/openshift/cluster-logging-operator) for details regarding the operator that deploys and configures this image. This image is intended to be run in conjunction with the configuration and `run.sh` files provided by the operator. Experiences with the image outside that context may vary. + +The `main` branch is empty except for this file. The branches used by various Red Hat releases are summarized here: + +| Release | Branch | Vector Version | Status | +| --------|--------|-----------------|--------| +| 6.0 | Pending | Pending| Pending | +| 5.9 | release-5.9|v0.33.0| Current | +| 5.8 | release-5.8| v0.28.1| Current | +| 5.7 | release-5.7|v0.20.1| Current | +| 5.6 | release-5.6|v1.20.1| Current | + + +## Issues + +Any issues can be filed at [Red Hat JIRA](https://issues.redhat.com). Please +include as many details as possible in order to assist in issue resolution along with attaching the output +from the [must gather](https://github.com/openshift/cluster-logging-operator/tree/master/must-gather) associated with the release. From ce1968bdb45bdd0c6fb470bdfcc601ad68b85128 Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Mon, 6 May 2024 09:30:58 -0400 Subject: [PATCH 02/17] Update README.md --- README.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 188acc8fde9f7..f9b79ce4cf7eb 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,18 @@ The `main` branch is empty except for this file. The branches used by various R | 6.0 | Pending | Pending| Pending | | 5.9 | release-5.9|v0.33.0| Current | | 5.8 | release-5.8| v0.28.1| Current | -| 5.7 | release-5.7|v0.20.1| Current | -| 5.6 | release-5.6|v1.20.1| Current | +| 5.7 | release-5.7|v0.21.0| Current | +| 5.6 | release-5.6|v0.21.0| Current | + +This project varies from the upstream with the following features: + +| Issue | Description | Release Added | Upstream Contribution | +| ----- | ----------- |---------------|-----------------------| +|LOG-2552|Replace Ring with OpenSSL| 5.5 | | +|LOG-3398|[Apply TLSSecurityProfile settings to TLS listeners in log collectors](https://github.com/ViaQ/vector/pull/129)| 5.6 | N/A - Relies upon OpenSSL patch | +||[Add syslog sink](https://github.com/ViaQ/vector/pull/133) |5.7| [Open](https://github.com/vectordotdev/vector/pull/17668) | +|LOG-3949|[Add file rotate wait](https://github.com/ViaQ/vector/pull/154)|5.8|[Accepted](https://github.com/vectordotdev/vector/pull/18904)| +|LOG-4739|[Add Support for include_paths_glob_pattern](https://github.com/ViaQ/vector/pull/167)|5.9|[Accepted](https://github.com/vectordotdev/vector/pull/19521)| ## Issues From 881e926dceb2c513dca586b89877e8408f15a7bb Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Mon, 19 Aug 2024 15:20:06 -0400 Subject: [PATCH 03/17] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f9b79ce4cf7eb..5a029acb68301 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The `main` branch is empty except for this file. The branches used by various R | Release | Branch | Vector Version | Status | | --------|--------|-----------------|--------| -| 6.0 | Pending | Pending| Pending | +| 6.0 | release-6.1 | v0.37.1| Pending | | 5.9 | release-5.9|v0.33.0| Current | | 5.8 | release-5.8| v0.28.1| Current | | 5.7 | release-5.7|v0.21.0| Current | From a96f6c9f456293e5f44fc1cbab0ec5c54afd84b0 Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Mon, 19 Aug 2024 15:20:25 -0400 Subject: [PATCH 04/17] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a029acb68301..a988a1670ec43 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The `main` branch is empty except for this file. The branches used by various R | Release | Branch | Vector Version | Status | | --------|--------|-----------------|--------| -| 6.0 | release-6.1 | v0.37.1| Pending | +| 6.0 | release-6.0 | v0.37.1| Pending | | 5.9 | release-5.9|v0.33.0| Current | | 5.8 | release-5.8| v0.28.1| Current | | 5.7 | release-5.7|v0.21.0| Current | From d8134f1b3b5f57b43af5f8cd009c7b37772c9859 Mon Sep 17 00:00:00 2001 From: Robert Jacob Date: Thu, 26 Sep 2024 11:59:09 +0200 Subject: [PATCH 05/17] Update version matrix --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index a988a1670ec43..529efb0b439be 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,17 @@ # Vector -This repo is a fork of [vector](https://github.com/vectordotdev/vector) and contains patches carried by Red Hat OpenShift Logging. This is a log collector and forwarder that resides on each OpenShift node to gather application and node logs. Please refer to the [cluster-logging-operator](https://github.com/openshift/cluster-logging-operator) for details regarding the operator that deploys and configures this image. This image is intended to be run in conjunction with the configuration and `run.sh` files provided by the operator. Experiences with the image outside that context may vary. +This repo is a fork of [vector](https://github.com/vectordotdev/vector) and contains patches carried by Red Hat OpenShift Logging. This is a log collector and forwarder that resides on each OpenShift node to gather application and node logs. Please refer to the [cluster-logging-operator](https://github.com/openshift/cluster-logging-operator) for details regarding the operator that deploys and configures this image. This image is intended to be run in conjunction with the configuration and `run.sh` files provided by the operator. Experiences with the image outside that context may vary. The `main` branch is empty except for this file. The branches used by various Red Hat releases are summarized here: | Release | Branch | Vector Version | Status | -| --------|--------|-----------------|--------| -| 6.0 | release-6.0 | v0.37.1| Pending | -| 5.9 | release-5.9|v0.33.0| Current | -| 5.8 | release-5.8| v0.28.1| Current | -| 5.7 | release-5.7|v0.21.0| Current | -| 5.6 | release-5.6|v0.21.0| Current | +| --------|--------|----------------|--------| +| 6.1 | release-6.1 | Pending | Pending | +| 6.0 | release-6.0 | v0.37.1 | Current | +| 5.9 | release-5.9 | v0.33.0 | Current | +| 5.8 | release-5.8 | v0.28.1 | Current | +| 5.7 | release-5.7 | v0.21.0 | EOL | +| 5.6 | release-5.6 | v0.21.0 | Current | This project varies from the upstream with the following features: @@ -22,9 +23,8 @@ This project varies from the upstream with the following features: |LOG-3949|[Add file rotate wait](https://github.com/ViaQ/vector/pull/154)|5.8|[Accepted](https://github.com/vectordotdev/vector/pull/18904)| |LOG-4739|[Add Support for include_paths_glob_pattern](https://github.com/ViaQ/vector/pull/167)|5.9|[Accepted](https://github.com/vectordotdev/vector/pull/19521)| - ## Issues -Any issues can be filed at [Red Hat JIRA](https://issues.redhat.com). Please -include as many details as possible in order to assist in issue resolution along with attaching the output +Any issues can be filed at [Red Hat JIRA](https://issues.redhat.com). Please +include as many details as possible in order to assist in issue resolution along with attaching the output from the [must gather](https://github.com/openshift/cluster-logging-operator/tree/master/must-gather) associated with the release. From 56639c56342ef8ff7aa008c58f523d00ec8ca78f Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Mon, 30 Sep 2024 10:42:49 -0400 Subject: [PATCH 06/17] Update version info --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 529efb0b439be..ea3f51e2a7cee 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The `main` branch is empty except for this file. The branches used by various R | Release | Branch | Vector Version | Status | | --------|--------|----------------|--------| -| 6.1 | release-6.1 | Pending | Pending | +| 6.1 | release-6.1 | v0.40.1 | Pending | | 6.0 | release-6.0 | v0.37.1 | Current | | 5.9 | release-5.9 | v0.33.0 | Current | | 5.8 | release-5.8 | v0.28.1 | Current | From a56389f8e6890716d119b58ca12290cb088f6cbc Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Tue, 22 Oct 2024 16:29:05 -0400 Subject: [PATCH 07/17] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ea3f51e2a7cee..975d379c90c42 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The `main` branch is empty except for this file. The branches used by various R | Release | Branch | Vector Version | Status | | --------|--------|----------------|--------| -| 6.1 | release-6.1 | v0.40.1 | Pending | +| 6.1 | release-6.1 | v0.37.1 | Pending | | 6.0 | release-6.0 | v0.37.1 | Current | | 5.9 | release-5.9 | v0.33.0 | Current | | 5.8 | release-5.8 | v0.28.1 | Current | From 781965051b2499ee66521aaee0e8818f0f70abc7 Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Mon, 18 Nov 2024 10:54:10 -0500 Subject: [PATCH 08/17] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 975d379c90c42..db50a230ee832 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The `main` branch is empty except for this file. The branches used by various R | Release | Branch | Vector Version | Status | | --------|--------|----------------|--------| -| 6.1 | release-6.1 | v0.37.1 | Pending | +| 6.1 | release-6.1 | v0.37.1 | Current | | 6.0 | release-6.0 | v0.37.1 | Current | | 5.9 | release-5.9 | v0.33.0 | Current | | 5.8 | release-5.8 | v0.28.1 | Current | From 08c166f0915afbeb5acb929bf7f4a67999fa5709 Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Mon, 27 Jan 2025 14:23:16 -0500 Subject: [PATCH 09/17] update for 6.2. Add OWNER --- OWNERS | 13 +++++++++++++ README.md | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 OWNERS diff --git a/OWNERS b/OWNERS new file mode 100644 index 0000000000000..19eeb8247f53f --- /dev/null +++ b/OWNERS @@ -0,0 +1,13 @@ +# See the OWNERS docs: https://git.k8s.io/community/contributors/guide/owners.md +filters: + ".*": + approvers: + - jcantrill + - alanconway + reviewers: + - jcantrill + - alanconway + - Clee2691 + - vparfonov + - cahartma +component: "Logging" diff --git a/README.md b/README.md index db50a230ee832..01daccc3fe2a3 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,10 @@ The `main` branch is empty except for this file. The branches used by various R | Release | Branch | Vector Version | Status | | --------|--------|----------------|--------| +| 6.2 | v0.43.1-rh | v0.43.1 | Pending | | 6.1 | release-6.1 | v0.37.1 | Current | | 6.0 | release-6.0 | v0.37.1 | Current | -| 5.9 | release-5.9 | v0.33.0 | Current | +| 5.9 | release-5.9 | v0.34.1 | Current | | 5.8 | release-5.8 | v0.28.1 | Current | | 5.7 | release-5.7 | v0.21.0 | EOL | | 5.6 | release-5.6 | v0.21.0 | Current | From 55149f27915a8f9a22f0bbc9b935e243a6bcb69c Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Tue, 18 Feb 2025 13:03:03 -0500 Subject: [PATCH 10/17] Update README.md --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 01daccc3fe2a3..819a9665d1c28 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ The `main` branch is empty except for this file. The branches used by various R | Release | Branch | Vector Version | Status | | --------|--------|----------------|--------| -| 6.2 | v0.43.1-rh | v0.43.1 | Pending | -| 6.1 | release-6.1 | v0.37.1 | Current | -| 6.0 | release-6.0 | v0.37.1 | Current | +| 6.2 | v0.37.1-rh | v0.37.1 | Pending | +| 6.1 | v0.37.1-rh | v0.37.1 | Current | +| 6.0 | v0.37.1-rh | v0.37.1 | Current | | 5.9 | release-5.9 | v0.34.1 | Current | | 5.8 | release-5.8 | v0.28.1 | Current | | 5.7 | release-5.7 | v0.21.0 | EOL | @@ -23,6 +23,7 @@ This project varies from the upstream with the following features: ||[Add syslog sink](https://github.com/ViaQ/vector/pull/133) |5.7| [Open](https://github.com/vectordotdev/vector/pull/17668) | |LOG-3949|[Add file rotate wait](https://github.com/ViaQ/vector/pull/154)|5.8|[Accepted](https://github.com/vectordotdev/vector/pull/18904)| |LOG-4739|[Add Support for include_paths_glob_pattern](https://github.com/ViaQ/vector/pull/167)|5.9|[Accepted](https://github.com/vectordotdev/vector/pull/19521)| +|LOG-6155|[Allow config of message key for multiline exception transform](https://github.com/ViaQ/vector/pull/183)|6.2| N/A | ## Issues From c112e18f983a7fca3487cc1809d44bf55067c866 Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Thu, 20 Feb 2025 08:23:40 -0500 Subject: [PATCH 11/17] Update README.md Make 5.6 EOL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 819a9665d1c28..13389a07eff64 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ The `main` branch is empty except for this file. The branches used by various R | 5.9 | release-5.9 | v0.34.1 | Current | | 5.8 | release-5.8 | v0.28.1 | Current | | 5.7 | release-5.7 | v0.21.0 | EOL | -| 5.6 | release-5.6 | v0.21.0 | Current | +| 5.6 | release-5.6 | v0.21.0 | EOL | This project varies from the upstream with the following features: From 2e72f7ed21c4a347d4e8e9565f791c9cac686ca1 Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Fri, 14 Mar 2025 13:42:50 -0400 Subject: [PATCH 12/17] Update Release status information for 6.2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 13389a07eff64..d0a42cfb4dfaa 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The `main` branch is empty except for this file. The branches used by various R | Release | Branch | Vector Version | Status | | --------|--------|----------------|--------| -| 6.2 | v0.37.1-rh | v0.37.1 | Pending | +| 6.2 | v0.37.1-rh | v0.37.1 | Current | | 6.1 | v0.37.1-rh | v0.37.1 | Current | | 6.0 | v0.37.1-rh | v0.37.1 | Current | | 5.9 | release-5.9 | v0.34.1 | Current | From 2fe8ee59ceeda2ccdef1fcde8b2677199bc4d203 Mon Sep 17 00:00:00 2001 From: Casey Hartman Date: Tue, 22 Apr 2025 15:46:12 -0400 Subject: [PATCH 13/17] Update readme with latest fixes --- README.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d0a42cfb4dfaa..1732a62a2f261 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This repo is a fork of [vector](https://github.com/vectordotdev/vector) and contains patches carried by Red Hat OpenShift Logging. This is a log collector and forwarder that resides on each OpenShift node to gather application and node logs. Please refer to the [cluster-logging-operator](https://github.com/openshift/cluster-logging-operator) for details regarding the operator that deploys and configures this image. This image is intended to be run in conjunction with the configuration and `run.sh` files provided by the operator. Experiences with the image outside that context may vary. -The `main` branch is empty except for this file. The branches used by various Red Hat releases are summarized here: +The `rh-main` branch is empty except for this file. The branches used by various Red Hat releases are summarized here: | Release | Branch | Vector Version | Status | | --------|--------|----------------|--------| @@ -16,14 +16,16 @@ The `main` branch is empty except for this file. The branches used by various R This project varies from the upstream with the following features: -| Issue | Description | Release Added | Upstream Contribution | -| ----- | ----------- |---------------|-----------------------| -|LOG-2552|Replace Ring with OpenSSL| 5.5 | | -|LOG-3398|[Apply TLSSecurityProfile settings to TLS listeners in log collectors](https://github.com/ViaQ/vector/pull/129)| 5.6 | N/A - Relies upon OpenSSL patch | -||[Add syslog sink](https://github.com/ViaQ/vector/pull/133) |5.7| [Open](https://github.com/vectordotdev/vector/pull/17668) | -|LOG-3949|[Add file rotate wait](https://github.com/ViaQ/vector/pull/154)|5.8|[Accepted](https://github.com/vectordotdev/vector/pull/18904)| -|LOG-4739|[Add Support for include_paths_glob_pattern](https://github.com/ViaQ/vector/pull/167)|5.9|[Accepted](https://github.com/vectordotdev/vector/pull/19521)| -|LOG-6155|[Allow config of message key for multiline exception transform](https://github.com/ViaQ/vector/pull/183)|6.2| N/A | +| Issue | Description | Release Added | Upstream Contribution | +|-------|--------------|---------------|-----------------------| +| LOG-2552 | [Replace Ring with OpenSSL](https://github.com/ViaQ/vector/pull/61) | 5.5 | N/A - Patch is Red Hat only | +| LOG-3398 | [Apply TLSSecurityProfile settings to TLS listeners in log collectors](https://github.com/ViaQ/vector/pull/129) | 5.6 | N/A - Relies upon OpenSSL patch | +| LOG-2288 | [Add syslog sink](https://github.com/ViaQ/vector/pull/133) | 5.7 | [Open](https://github.com/vectordotdev/vector/pull/21307) | +| LOG-3949 | [Add support for file rotate_wait_secs](https://github.com/ViaQ/vector/pull/154) | 5.8 | [Accepted](https://github.com/vectordotdev/vector/pull/18904) | +| LOG-4739 | [Add support for include_paths_glob_pattern](https://github.com/ViaQ/vector/pull/167) | 5.9 | [Accepted](https://github.com/vectordotdev/vector/pull/19521) | +| LOG-6155 | [Allow config of message_key for multiline exception transform](https://github.com/ViaQ/vector/pull/183) | 6.2 | N/A - Transform is Red Hat only | +| LOG-6789 | [Resolve error when using AWS credentials file authentication](https://github.com/ViaQ/vector/pull/197) | 6.2 | [Accepted](https://github.com/vectordotdev/vector/pull/22831) | +| LOG-7013 | [Update cloudwatch logs max event size to match new AWS limit](https://github.com/ViaQ/vector/pull/201) | 6.2 | [Accepted](https://github.com/vectordotdev/vector/pull/22886) | ## Issues From b978b81960b65b15c70ed095ecaf9e1dad92208d Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Thu, 24 Jul 2025 19:44:44 +0300 Subject: [PATCH 14/17] Update README with current state Signed-off-by: Vitalii Parfonov --- README.md | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 1732a62a2f261..1ca198e3a3b92 100644 --- a/README.md +++ b/README.md @@ -4,29 +4,31 @@ This repo is a fork of [vector](https://github.com/vectordotdev/vector) and cont The `rh-main` branch is empty except for this file. The branches used by various Red Hat releases are summarized here: -| Release | Branch | Vector Version | Status | -| --------|--------|----------------|--------| -| 6.2 | v0.37.1-rh | v0.37.1 | Current | -| 6.1 | v0.37.1-rh | v0.37.1 | Current | -| 6.0 | v0.37.1-rh | v0.37.1 | Current | -| 5.9 | release-5.9 | v0.34.1 | Current | -| 5.8 | release-5.8 | v0.28.1 | Current | -| 5.7 | release-5.7 | v0.21.0 | EOL | -| 5.6 | release-5.6 | v0.21.0 | EOL | +| Release | Branch | Vector Version | Status | +|---------|-------------|----------------|--------| +| 6.4 | v0.47.0-rh | v0.47.0 | Current | +| 6.3 | v0.37.1-rh | v0.37.1 | Current | +| 6.2 | v0.37.1-rh | v0.37.1 | Current | +| 6.1 | v0.37.1-rh | v0.37.1 | Current | +| 6.0 | v0.37.1-rh | v0.37.1 | Current | +| 5.9 | release-5.9 | v0.34.1 | Current | +| 5.8 | release-5.8 | v0.28.1 | Current | +| 5.7 | release-5.7 | v0.21.0 | EOL | +| 5.6 | release-5.6 | v0.21.0 | EOL | This project varies from the upstream with the following features: -| Issue | Description | Release Added | Upstream Contribution | -|-------|--------------|---------------|-----------------------| -| LOG-2552 | [Replace Ring with OpenSSL](https://github.com/ViaQ/vector/pull/61) | 5.5 | N/A - Patch is Red Hat only | -| LOG-3398 | [Apply TLSSecurityProfile settings to TLS listeners in log collectors](https://github.com/ViaQ/vector/pull/129) | 5.6 | N/A - Relies upon OpenSSL patch | -| LOG-2288 | [Add syslog sink](https://github.com/ViaQ/vector/pull/133) | 5.7 | [Open](https://github.com/vectordotdev/vector/pull/21307) | -| LOG-3949 | [Add support for file rotate_wait_secs](https://github.com/ViaQ/vector/pull/154) | 5.8 | [Accepted](https://github.com/vectordotdev/vector/pull/18904) | -| LOG-4739 | [Add support for include_paths_glob_pattern](https://github.com/ViaQ/vector/pull/167) | 5.9 | [Accepted](https://github.com/vectordotdev/vector/pull/19521) | -| LOG-6155 | [Allow config of message_key for multiline exception transform](https://github.com/ViaQ/vector/pull/183) | 6.2 | N/A - Transform is Red Hat only | -| LOG-6789 | [Resolve error when using AWS credentials file authentication](https://github.com/ViaQ/vector/pull/197) | 6.2 | [Accepted](https://github.com/vectordotdev/vector/pull/22831) | -| LOG-7013 | [Update cloudwatch logs max event size to match new AWS limit](https://github.com/ViaQ/vector/pull/201) | 6.2 | [Accepted](https://github.com/vectordotdev/vector/pull/22886) | - +| Issue | Description | Release Added | Upstream Contribution | +|----------|--------------|---------------|------------------------------------------------------------------| +| LOG-2552 | [Replace Ring with OpenSSL](https://github.com/ViaQ/vector/pull/61) | 5.5 | N/A - Patch is Red Hat only | +| LOG-3398 | [Apply TLSSecurityProfile settings to TLS listeners in log collectors](https://github.com/ViaQ/vector/pull/129) | 5.6 | N/A - Relies upon OpenSSL patch | +| LOG-2288 | [Add syslog sink](https://github.com/ViaQ/vector/pull/133) | 5.7 | [Open](https://github.com/vectordotdev/vector/pull/21307) | +| LOG-3949 | [Add support for file rotate_wait_secs](https://github.com/ViaQ/vector/pull/154) | 5.8 | [Accepted](https://github.com/vectordotdev/vector/pull/18904) | +| LOG-4739 | [Add support for include_paths_glob_pattern](https://github.com/ViaQ/vector/pull/167) | 5.9 | [Accepted](https://github.com/vectordotdev/vector/pull/19521) | +| LOG-6155 | [Allow config of message_key for multiline exception transform](https://github.com/ViaQ/vector/pull/183) | 6.2 | N/A - Transform is Red Hat only | +| LOG-6789 | [Resolve error when using AWS credentials file authentication](https://github.com/ViaQ/vector/pull/197) | 6.2 | [Accepted](https://github.com/vectordotdev/vector/pull/22831) | +| LOG-7013 | [Update cloudwatch logs max event size to match new AWS limit](https://github.com/ViaQ/vector/pull/201) | 6.2 | [Accepted](https://github.com/vectordotdev/vector/pull/22886) | +| LOG-7417 | [Fix loki event timestamp out of range panic ](https://github.com/ViaQ/vector/pull/217) | 0.37.1-rh | [Cherry-pick](https://github.com/vectordotdev/vector/pull/20780) | ## Issues Any issues can be filed at [Red Hat JIRA](https://issues.redhat.com). Please From 83ac4a555ea6dd2653baa2d43e968f9f7b990f2b Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Sat, 18 Apr 2026 11:02:02 -0400 Subject: [PATCH 15/17] update README to current state (#247) * update README to current state --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1ca198e3a3b92..2296e4f8f1211 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,14 @@ The `rh-main` branch is empty except for this file. The branches used by variou | Release | Branch | Vector Version | Status | |---------|-------------|----------------|--------| +| 6.5 | v0.47.0-rh | v0.47.0 | Current | | 6.4 | v0.47.0-rh | v0.47.0 | Current | -| 6.3 | v0.37.1-rh | v0.37.1 | Current | -| 6.2 | v0.37.1-rh | v0.37.1 | Current | -| 6.1 | v0.37.1-rh | v0.37.1 | Current | +| 6.3 | v0.47.0-rh | v0.47.0 | EOL | +| 6.2 | v0.47.0-rh | v0.47.0 | Current | +| 6.1 | v0.37.1-rh | v0.37.1 | EOL | | 6.0 | v0.37.1-rh | v0.37.1 | Current | -| 5.9 | release-5.9 | v0.34.1 | Current | -| 5.8 | release-5.8 | v0.28.1 | Current | +| 5.9 | release-5.9 | v0.34.1 | EOL | +| 5.8 | release-5.8 | v0.28.1 | EOL | | 5.7 | release-5.7 | v0.21.0 | EOL | | 5.6 | release-5.6 | v0.21.0 | EOL | @@ -22,7 +23,7 @@ This project varies from the upstream with the following features: |----------|--------------|---------------|------------------------------------------------------------------| | LOG-2552 | [Replace Ring with OpenSSL](https://github.com/ViaQ/vector/pull/61) | 5.5 | N/A - Patch is Red Hat only | | LOG-3398 | [Apply TLSSecurityProfile settings to TLS listeners in log collectors](https://github.com/ViaQ/vector/pull/129) | 5.6 | N/A - Relies upon OpenSSL patch | -| LOG-2288 | [Add syslog sink](https://github.com/ViaQ/vector/pull/133) | 5.7 | [Open](https://github.com/vectordotdev/vector/pull/21307) | +| LOG-2288 | [Add syslog sink](https://github.com/ViaQ/vector/pull/133) | 5.7 | [Accepted](https://github.com/vectordotdev/vector/pull/23777) | | LOG-3949 | [Add support for file rotate_wait_secs](https://github.com/ViaQ/vector/pull/154) | 5.8 | [Accepted](https://github.com/vectordotdev/vector/pull/18904) | | LOG-4739 | [Add support for include_paths_glob_pattern](https://github.com/ViaQ/vector/pull/167) | 5.9 | [Accepted](https://github.com/vectordotdev/vector/pull/19521) | | LOG-6155 | [Allow config of message_key for multiline exception transform](https://github.com/ViaQ/vector/pull/183) | 6.2 | N/A - Transform is Red Hat only | From 932e5c0a21b1b5f8b4fc039b31ceacf9ea437bc3 Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Wed, 6 May 2026 16:23:47 +0300 Subject: [PATCH 16/17] docs: add context files for agentic SDLC (LOG-9344) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Create four comprehensive context files on rh-main to orient AI agents and developers to this Red Hat fork of Vector: - AGENTS.md: Fork-specific quick reference (branch selection, ocp-logging feature scope, patched crates, build commands, OWNERS, Jira conventions) with pointers to upstream docs for generic Vector development - CONTRIBUTING.md: Fork-focused contribution guide (branching strategy, PR process, code review, Jira conventions, upstream contribution workflow) - ARCHITECTURE.md: Fork architecture (deployment model, ocp-logging feature tables for both v0.47.0-rh and v0.54.0-rh, patched dependencies with rationale, build system, design decisions, upstream sync strategy) - CLAUDE.md: Stub pointing to AGENTS.md (matches dev branch pattern) - README.md: Updated with doc links, quick-start build snippet, v0.54.0-rh release entry, fixed formatting All ocp-logging component lists (sources, transforms, sinks) verified against actual Cargo.toml on both dev branches. No upstream duplication — files reference upstream docs for generic Vector content. Upstream files on dev branches left untouched to avoid merge conflicts. Fixes LOG-9344 Co-Authored-By: Claude Haiku 4.5 --- AGENTS.md | 121 ++++++++++++++++++++++++++++++++++++++++++++ ARCHITECTURE.md | 130 ++++++++++++++++++++++++++++++++++++++++++++++++ CLAUDE.md | 1 + CONTRIBUTING.md | 67 +++++++++++++++++++++++++ README.md | 29 +++++++++-- 5 files changed, 345 insertions(+), 3 deletions(-) create mode 100644 AGENTS.md create mode 100644 ARCHITECTURE.md create mode 100644 CLAUDE.md create mode 100644 CONTRIBUTING.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000000000..bddf562c4dc4c --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,121 @@ +# AGENTS.md — Red Hat Vector Fork Context + +This file provides context for AI agents and developers working in this repository. It covers only what is specific to this Red Hat fork. For generic Vector development commands, project structure, and Rust conventions, see the [upstream AGENTS.md](https://github.com/vectordotdev/vector/blob/master/AGENTS.md). + +## What This Repo Is + +A fork of [vectordotdev/vector](https://github.com/vectordotdev/vector) maintained by Red Hat for OpenShift Logging. Vector runs as a DaemonSet on every OpenShift node, collecting application and infrastructure logs. It is deployed and configured by the [cluster-logging-operator](https://github.com/openshift/cluster-logging-operator) — Vector is never run standalone in production. + +**Upstream remote:** `vectordev` (git@github.com:vectordotdev/vector.git) +**Fork origin:** `origin` (git@github.com:ViaQ/vector.git) + +## Critical: Branch Selection + +**Never commit code to `rh-main`.** It contains only documentation. + +| Branch | Vector Version | Rust | Use | +|--------|---------------|------|-----| +| `v0.47.0-rh` | v0.47.0 | 1.85 | Stable — OpenShift 6.2–6.5 | +| `v0.54.0-rh` | v0.54.0 | 1.92 | Next — future OpenShift releases | + +Always check out the appropriate version branch before making changes: + +```bash +git checkout v0.47.0-rh # stable +git checkout v0.54.0-rh # next +``` + +When a fix applies to both branches, submit separate PRs per branch. + +## Build Quick Reference + +The Makefile defaults to `FEATURES=ocp-logging` on Linux (not upstream's `default` feature set). + +```bash +make build # cargo build --release --no-default-features --features ocp-logging +make test # cargo nextest run ... --features ocp-logging --test-threads 1 +make fmt # rustfmt +make check-clippy # clippy lints +``` + +Key differences from upstream builds: +- **`--features ocp-logging`** — curated subset of Vector, not the full feature set +- **`--test-threads 1`** — single-threaded tests to avoid OOM in CI +- **`lld` linker** — configured in `.cargo/config.toml` (GNU ld OOMs during linking) +- **`CFLAGS=-g0 -O3`** — set in the build target for release optimization + +## `ocp-logging` Feature Scope + +This is the curated subset of Vector components enabled for OpenShift. Only these are compiled into the Red Hat binary. + +**Sources:** stdin, file_descriptor, file, journald, kubernetes_logs, prometheus, internal_metrics, demo_logs, http_server, syslog, opentelemetry + +**Transforms:** route, dedupe, filter, remap, log_to_metric, lua, throttle, reduce, detect_exceptions + +**Sinks (v0.47.0-rh):** aws_cloudwatch_logs, aws_s3, azure_monitor_logs, elasticsearch, file, kafka, loki, console, prometheus, gcp, splunk_hec, http, socket, opentelemetry + +**Sinks (v0.54.0-rh adds):** azure_logs_ingestion + +**Also enabled:** api, api-client, unix + +Components not in this list are **not available** in the Red Hat binary even though they exist in the source tree. + +## Fork-Specific Files + +These files exist in this fork but not in upstream: + +| Path | Purpose | +|------|---------| +| `patch/openssl/` | Forked openssl crate — enables FIPS compliance and TLS security profile enforcement (LOG-2552, LOG-3398) | +| `patch/hyper/` | Forked hyper crate — HTTP behavior modifications | +| `thirdparty/` | Bundled binaries: `protoc`, `cargo-nextest`, `cargo-deny` (no external downloads in CI) | +| `Dockerfile` | Developer/local build image (UBI 9 + rustup) | +| `Dockerfile.art` | ART production build (UBI 9 minimal + RPM rust-toolset, `make build-offline`) | +| `Dockerfile.in` | OSBS/Brew template with `REMOTE_SOURCE` markers for Cachito | +| `Dockerfile.unit` | CI unit test runner | +| `OWNERS` | Kubernetes-style code review assignments | +| `CLAUDE.md` | Stub pointing to this file | + +## Patched Crates (`[patch.crates-io]`) + +**Both branches:** +- `openssl = { path = "patch/openssl" }` — Red Hat's forked openssl crate for FIPS and TLS security profiles +- `hyper = { path = "patch/hyper" }` — HTTP behavior patches +- `ntapi` — pinned revision for Windows alignment bug (inherited from upstream) + +**v0.47.0-rh only** (removed in v0.54.0-rh): +- `tokio-util` — vectordotdev fork for framed-read-continue-on-error +- `nix` — vectordotdev fork for memfd gnu/musl support + +When modifying TLS or HTTP behavior, check `patch/openssl/` and `patch/hyper/` — the standard crate.io versions are not used. + +## Jira Conventions + +Issues are tracked in [Red Hat JIRA](https://issues.redhat.com) under the **LOG** project. + +- Prefix commit messages with the Jira ticket: `LOG-XXXX: description` +- Reference tickets in PR descriptions +- Use conventional commit format for PR titles: `fix(scope): description` + +## Code Review (OWNERS) + +``` +approvers: jcantrill, alanconway, xperimental +reviewers: jcantrill, Clee2691, syedriko, vparfonov, cahartma +``` + +Dockerfile changes get the `midstream/Dockerfile` label automatically. + +## Upstream References + +For generic Vector development, use these upstream docs (they apply to this fork's Rust code): + +| Topic | Upstream Document | +|-------|-------------------| +| Dev commands, project structure, common patterns | [AGENTS.md](https://github.com/vectordotdev/vector/blob/master/AGENTS.md) | +| Contribution workflow, PR format | [CONTRIBUTING.md](https://github.com/vectordotdev/vector/blob/master/CONTRIBUTING.md) | +| Internal engine architecture (topology, fanout, buffering) | [docs/ARCHITECTURE.md](https://github.com/vectordotdev/vector/blob/master/docs/ARCHITECTURE.md) | +| Rust coding conventions (agent-oriented) | [docs/RUST_STYLE.md](https://github.com/vectordotdev/vector/blob/master/docs/RUST_STYLE.md) | +| Code style (logging, metrics, error handling, concurrency) | [STYLE.md](https://github.com/vectordotdev/vector/blob/master/STYLE.md) | +| Developer setup, testing, benchmarking | [docs/DEVELOPING.md](https://github.com/vectordotdev/vector/blob/master/docs/DEVELOPING.md) | +| Component specification | [docs/specs/component.md](https://github.com/vectordotdev/vector/blob/master/docs/specs/component.md) | diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000000000..e6f0c0589d884 --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,130 @@ +# Architecture — Red Hat Vector Fork + +This document covers what is architecturally specific to this fork. For Vector's internal engine architecture (topology, fanout, buffering, component construction), see the upstream [docs/ARCHITECTURE.md](https://github.com/vectordotdev/vector/blob/master/docs/ARCHITECTURE.md). + +## Deployment Model + +Vector runs as a **DaemonSet** on every OpenShift node, managed by the [cluster-logging-operator](https://github.com/openshift/cluster-logging-operator). It is not deployed standalone. + +- Configuration is injected via ConfigMap by the operator +- The operator provides a `run.sh` entrypoint script +- Vector collects container logs from `/var/log/containers/` (file source) and infrastructure logs from journald +- Pod metadata is extracted from file paths and enriched by transforms + +## `ocp-logging` Feature + +The fork defines a custom Cargo feature `ocp-logging` in `Cargo.toml` that compiles only the Vector components needed for OpenShift. The Makefile sets `FEATURES=ocp-logging` by default on Linux. + +### Enabled Components + +**Sources:** stdin, file_descriptor, file, journald, kubernetes_logs, prometheus, internal_metrics, demo_logs, http_server, syslog, opentelemetry + +**Transforms:** route, dedupe, filter, remap, log_to_metric, lua, throttle, reduce, detect_exceptions + +**Sinks:** + +| Sink | v0.47.0-rh | v0.54.0-rh | +|------|:----------:|:----------:| +| aws_cloudwatch_logs | yes | yes | +| aws_s3 | yes | yes | +| azure_logs_ingestion | — | yes | +| azure_monitor_logs | yes | yes | +| elasticsearch | yes | yes | +| file | yes | yes | +| kafka | yes | yes | +| loki | yes | yes | +| console | yes | yes | +| prometheus | yes | yes | +| gcp | yes | yes | +| splunk_hec | yes | yes | +| http | yes | yes | +| socket | yes | yes | +| opentelemetry | yes | yes | + +Components not in `ocp-logging` exist in the source tree but are not compiled into the Red Hat binary. + +## Patched Dependencies + +The fork carries local patches for two crates via `[patch.crates-io]` in `Cargo.toml`: + +### `patch/openssl/` + +Forked from the `openssl` crate. Two purposes: + +1. **FIPS compliance** (LOG-2552): Vector uses OpenSSL instead of upstream's Ring for all TLS operations, enabling FIPS-validated cryptography. +2. **TLS security profiles** (LOG-3398): Enforces OpenShift's `TLSSecurityProfile` settings (cipher suites, TLS versions) at the Vector level, so cluster administrators control the security posture globally. + +### `patch/hyper/` + +Forked from the `hyper` crate. Contains HTTP behavior modifications for reliability in OpenShift environments. + +### Other patches (v0.47.0-rh only) + +- `tokio-util` — vectordotdev fork for framed-read-continue-on-error behavior +- `nix` — vectordotdev fork for memfd gnu/musl support + +Both were dropped in v0.54.0-rh (fixed upstream). + +## Build System + +### Dockerfiles + +| File | Base | Rust | Purpose | +|------|------|------|---------| +| `Dockerfile` | `ubi9/ubi` | rustup | Local/developer builds | +| `Dockerfile.art` | `ubi9/ubi-minimal` | RPM `rust-toolset` | ART production image (shipped to customers). Uses `make build-offline` for air-gapped builds | +| `Dockerfile.in` | `ubi9/ubi-minimal` | RPM | OSBS/Brew template. Has `## EXCLUDE BEGIN ##` markers for OSBS processing. Uses `REMOTE_SOURCE` for Cachito-prefetched dependencies | +| `Dockerfile.unit` | `ubi9/ubi` | rustup | CI unit test runner. Selective COPY for build cache efficiency | + +### Build constraints + +- **`lld` linker**: Configured in `.cargo/config.toml`. GNU ld runs out of memory during linking. +- **`protoc` bundled**: Pre-built binaries in `thirdparty/protoc/` (architecture-aware). No network download during build. +- **`cargo-nextest` and `cargo-deny` bundled**: In `thirdparty/` for CI reproducibility. +- **Single-threaded tests**: `--test-threads 1` in the Makefile `test` target to limit memory usage. + +### CI/CD + +No in-repo CI pipelines. Builds happen in Red Hat's internal ART/OSBS infrastructure: +- `Dockerfile.art` → production image via ART (Automated Release Tooling) +- `Dockerfile.in` → processed by OSBS (OpenShift Build Service) / Brew + +GitHub Actions on the dev branches are inherited from upstream and mostly not Red Hat-specific. + +## Key Design Decisions + +### OpenSSL over Ring (LOG-2552) + +**Decision:** Replace Ring with OpenSSL for all cryptographic operations. +**Why:** FIPS compliance requires a validated crypto library. Ring is not FIPS-validated. OpenSSL is. +**Trade-off:** Adds the `patch/openssl/` maintenance burden and prevents trivial upstream merges of TLS-related code. + +### TLS Security Profile Enforcement (LOG-3398) + +**Decision:** All TLS connections respect OpenShift's `TLSSecurityProfile` (cipher suites, min/max TLS version). +**Why:** OpenShift cluster administrators expect uniform TLS policy enforcement across all components. +**Depends on:** The OpenSSL patch above — upstream's Ring-based TLS does not support security profile configuration. + +### `detect_exceptions` Transform (LOG-6155) + +**Decision:** A Red Hat-specific transform for multiline exception detection (Java stack traces, Python tracebacks, etc.) with configurable `message_key`. +**Why:** Upstream's multiline handling is less flexible. OpenShift workloads heavily use Java, and stack traces must be grouped into single log events. + +## Differences Between Version Branches + +| Aspect | v0.47.0-rh | v0.54.0-rh | +|--------|-----------|-----------| +| Upstream base | Vector v0.47.0 | Vector v0.54.0 | +| Rust edition | 2021 | 2024 | +| MSRV (rust-toolchain.toml) | 1.85 | 1.92 | +| `azure_logs_ingestion` sink | — | enabled | +| `tokio-util` / `nix` patches | present | removed (fixed upstream) | +| GCP Workload Identity Federation | — | LOG-9171 | +| TLS curve configuration | — | LOG-8968 | + +## Upstream Sync Strategy + +1. **Version-based merges:** Each branch is based on a specific upstream tag (e.g., v0.47.0). Upstream changes are incorporated by creating a new branch from the next upstream tag and replaying Red Hat patches. +2. **Patch minimization:** Features are contributed upstream when possible. Once accepted, the fork patch is simplified or removed on the next branch. +3. **Cherry-picks:** Critical fixes from upstream are cherry-picked into active branches between version merges. +4. **Conflict zones:** `Cargo.toml` (feature definitions, patch section) and TLS-related code are the primary conflict areas during merges. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000000000..c3170642553f7 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +AGENTS.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000000..2e69b54b1a90b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,67 @@ +# Contributing — Red Hat Vector Fork + +This guide covers what is specific to contributing to this fork. For generic Vector development workflow, coding standards, and testing, see the [upstream CONTRIBUTING.md](https://github.com/vectordotdev/vector/blob/master/CONTRIBUTING.md). + +## Branching Strategy + +| Branch | Purpose | +|--------|---------| +| `rh-main` | Documentation only — **never commit code here** | +| `v0.47.0-rh` | Stable development — OpenShift 6.2–6.5 | +| `v0.54.0-rh` | Next-gen development — future releases | + +## Submitting Changes + +1. Check out the target version branch: `git checkout v0.47.0-rh` +2. Create a feature branch: `git checkout -b LOG-XXXX-short-description` +3. Make changes, test with `make test` +4. Push to your fork and open a PR against the version branch (not `rh-main`) +5. Include the Jira ticket ID (LOG-XXXX) in the PR title and description + +If a fix applies to multiple version branches, submit a separate PR for each. + +## Commit Messages + +Use the Jira ticket ID and conventional commit format: + +``` +fix(file-source): handle symlink rotation during log collection + +Fixes LOG-7506 +``` + +PR titles follow upstream's [conventional commits](https://www.conventionalcommits.org) format: +``` +feat(scope): description +fix(scope): description +chore(scope): description +``` + +## Code Review + +Reviews follow the [OWNERS](OWNERS) file: + +- **Approvers:** jcantrill, alanconway, xperimental +- **Reviewers:** jcantrill, Clee2691, vparfonov, cahartma + +PRs require at least one approval. Significant changes require two approvers. + +## Red Hat-Specific Code + +When adding patches that diverge from upstream: + +- Reference the Jira ticket in code comments explaining why +- If the feature could be upstreamed, note it in the PR description +- Update [ARCHITECTURE.md](ARCHITECTURE.md) if the change affects design decisions or the `ocp-logging` feature scope + +## Contributing Back to Upstream + +We minimize fork divergence by upstreaming changes when possible: + +1. Implement and test the fix in this fork first +2. If the fix is generic (not OpenShift-specific), propose it to [upstream Vector](https://github.com/vectordotdev/vector) +3. Once accepted upstream, simplify or remove the fork patch on the next upstream merge + +## Filing Issues + +File issues at [Red Hat JIRA](https://issues.redhat.com) under the **LOG** project. Include [must-gather](https://github.com/openshift/cluster-logging-operator/tree/master/must-gather) output for debugging. diff --git a/README.md b/README.md index 2296e4f8f1211..99102434c5455 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,33 @@ -# Vector +# Vector — Red Hat OpenShift Logging -This repo is a fork of [vector](https://github.com/vectordotdev/vector) and contains patches carried by Red Hat OpenShift Logging. This is a log collector and forwarder that resides on each OpenShift node to gather application and node logs. Please refer to the [cluster-logging-operator](https://github.com/openshift/cluster-logging-operator) for details regarding the operator that deploys and configures this image. This image is intended to be run in conjunction with the configuration and `run.sh` files provided by the operator. Experiences with the image outside that context may vary. +This is a fork of [Vector](https://github.com/vectordotdev/vector) maintained for Red Hat OpenShift Logging. Vector is a high-performance observability data pipeline written in Rust. This fork carries patches for OpenShift integration, FIPS-compliant TLS (OpenSSL), and reliability improvements. -The `rh-main` branch is empty except for this file. The branches used by various Red Hat releases are summarized here: +Vector runs as a DaemonSet on each OpenShift node, collecting application and infrastructure logs. It is deployed and configured by the [cluster-logging-operator](https://github.com/openshift/cluster-logging-operator). This image is intended to run with the configuration and `run.sh` files provided by the operator. + +## Documentation + +| Document | Purpose | +|----------|---------| +| [AGENTS.md](AGENTS.md) | AI agent and developer quick reference — fork-specific context, build commands, patched crates | +| [CONTRIBUTING.md](CONTRIBUTING.md) | How to submit changes — branching, PRs, code review, Jira conventions | +| [ARCHITECTURE.md](ARCHITECTURE.md) | Fork architecture — deployment model, `ocp-logging` feature scope, build system, design decisions | +| [Upstream AGENTS.md](https://github.com/vectordotdev/vector/blob/master/AGENTS.md) | Generic Vector development commands, project structure, Rust conventions | + +## Quick Start (building from source) + +```bash +git checkout v0.47.0-rh # or v0.54.0-rh +make build # builds with --features ocp-logging +make test # runs tests with --test-threads 1 +``` + +## Release Branches + +The `rh-main` branch contains only documentation. All development happens on version-specific branches: | Release | Branch | Vector Version | Status | |---------|-------------|----------------|--------| +| next | v0.54.0-rh | v0.54.0 | Development | | 6.5 | v0.47.0-rh | v0.47.0 | Current | | 6.4 | v0.47.0-rh | v0.47.0 | Current | | 6.3 | v0.47.0-rh | v0.47.0 | EOL | @@ -30,6 +52,7 @@ This project varies from the upstream with the following features: | LOG-6789 | [Resolve error when using AWS credentials file authentication](https://github.com/ViaQ/vector/pull/197) | 6.2 | [Accepted](https://github.com/vectordotdev/vector/pull/22831) | | LOG-7013 | [Update cloudwatch logs max event size to match new AWS limit](https://github.com/ViaQ/vector/pull/201) | 6.2 | [Accepted](https://github.com/vectordotdev/vector/pull/22886) | | LOG-7417 | [Fix loki event timestamp out of range panic ](https://github.com/ViaQ/vector/pull/217) | 0.37.1-rh | [Cherry-pick](https://github.com/vectordotdev/vector/pull/20780) | + ## Issues Any issues can be filed at [Red Hat JIRA](https://issues.redhat.com). Please From ee87ae724b098590dfb9a70cbabd6b3972a19a03 Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Mon, 11 May 2026 17:52:23 +0300 Subject: [PATCH 17/17] cleanup and fix table formatting --- AGENTS.md | 49 ++++++++++++++++++------------------ ARCHITECTURE.md | 66 ++++++++++++++++++++++++------------------------- CONTRIBUTING.md | 18 ++++++++------ 3 files changed, 67 insertions(+), 66 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index bddf562c4dc4c..1d3e97c41d263 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -13,10 +13,10 @@ A fork of [vectordotdev/vector](https://github.com/vectordotdev/vector) maintain **Never commit code to `rh-main`.** It contains only documentation. -| Branch | Vector Version | Rust | Use | -|--------|---------------|------|-----| -| `v0.47.0-rh` | v0.47.0 | 1.85 | Stable — OpenShift 6.2–6.5 | -| `v0.54.0-rh` | v0.54.0 | 1.92 | Next — future OpenShift releases | +| Branch | Vector Version | Rust | Use | +|--------------|----------------|------|----------------------------------| +| `v0.47.0-rh` | v0.47.0 | 1.85 | Stable — OpenShift 6.2–6.5 | +| `v0.54.0-rh` | v0.54.0 | 1.92 | Next — future OpenShift releases | Always check out the appropriate version branch before making changes: @@ -29,7 +29,7 @@ When a fix applies to both branches, submit separate PRs per branch. ## Build Quick Reference -The Makefile defaults to `FEATURES=ocp-logging` on Linux (not upstream's `default` feature set). +The Makefile defaults to `FEATURES=ocp-logging` on Linux (not upstreams `default` feature set). ```bash make build # cargo build --release --no-default-features --features ocp-logging @@ -64,17 +64,16 @@ Components not in this list are **not available** in the Red Hat binary even tho These files exist in this fork but not in upstream: -| Path | Purpose | -|------|---------| -| `patch/openssl/` | Forked openssl crate — enables FIPS compliance and TLS security profile enforcement (LOG-2552, LOG-3398) | -| `patch/hyper/` | Forked hyper crate — HTTP behavior modifications | -| `thirdparty/` | Bundled binaries: `protoc`, `cargo-nextest`, `cargo-deny` (no external downloads in CI) | -| `Dockerfile` | Developer/local build image (UBI 9 + rustup) | -| `Dockerfile.art` | ART production build (UBI 9 minimal + RPM rust-toolset, `make build-offline`) | -| `Dockerfile.in` | OSBS/Brew template with `REMOTE_SOURCE` markers for Cachito | -| `Dockerfile.unit` | CI unit test runner | -| `OWNERS` | Kubernetes-style code review assignments | -| `CLAUDE.md` | Stub pointing to this file | +| Path | Purpose | +|-------------------|----------------------------------------------------------------------------------------------------------| +| `patch/openssl/` | Forked openssl crate — enables FIPS compliance and TLS security profile enforcement (LOG-2552, LOG-3398) | +| `patch/hyper/` | Forked hyper crate — HTTP behavior modifications | +| `thirdparty/` | Bundled binaries: `protoc`, `cargo-nextest`, `cargo-deny` (no external downloads in CI) | +| `Dockerfile` | Developer/local build image (UBI 9 + rustup) | +| `Dockerfile.art` | ART production build (UBI 9 minimal + RPM rust-toolset, `make build-offline`) | +| `Dockerfile.unit` | CI unit test runner | +| `OWNERS` | Kubernetes-style code review assignments | +| `CLAUDE.md` | Stub pointing to this file | ## Patched Crates (`[patch.crates-io]`) @@ -110,12 +109,12 @@ Dockerfile changes get the `midstream/Dockerfile` label automatically. For generic Vector development, use these upstream docs (they apply to this fork's Rust code): -| Topic | Upstream Document | -|-------|-------------------| -| Dev commands, project structure, common patterns | [AGENTS.md](https://github.com/vectordotdev/vector/blob/master/AGENTS.md) | -| Contribution workflow, PR format | [CONTRIBUTING.md](https://github.com/vectordotdev/vector/blob/master/CONTRIBUTING.md) | -| Internal engine architecture (topology, fanout, buffering) | [docs/ARCHITECTURE.md](https://github.com/vectordotdev/vector/blob/master/docs/ARCHITECTURE.md) | -| Rust coding conventions (agent-oriented) | [docs/RUST_STYLE.md](https://github.com/vectordotdev/vector/blob/master/docs/RUST_STYLE.md) | -| Code style (logging, metrics, error handling, concurrency) | [STYLE.md](https://github.com/vectordotdev/vector/blob/master/STYLE.md) | -| Developer setup, testing, benchmarking | [docs/DEVELOPING.md](https://github.com/vectordotdev/vector/blob/master/docs/DEVELOPING.md) | -| Component specification | [docs/specs/component.md](https://github.com/vectordotdev/vector/blob/master/docs/specs/component.md) | +| Topic | Upstream Document | +|------------------------------------------------------------|-------------------------------------------------------------------------------------------------------| +| Dev commands, project structure, common patterns | [AGENTS.md](https://github.com/vectordotdev/vector/blob/master/AGENTS.md) | +| Contribution workflow, PR format | [CONTRIBUTING.md](https://github.com/vectordotdev/vector/blob/master/CONTRIBUTING.md) | +| Internal engine architecture (topology, fanout, buffering) | [docs/ARCHITECTURE.md](https://github.com/vectordotdev/vector/blob/master/docs/ARCHITECTURE.md) | +| Rust coding conventions (agent-oriented) | [docs/RUST_STYLE.md](https://github.com/vectordotdev/vector/blob/master/docs/RUST_STYLE.md) | +| Code style (logging, metrics, error handling, concurrency) | [STYLE.md](https://github.com/vectordotdev/vector/blob/master/STYLE.md) | +| Developer setup, testing, benchmarking | [docs/DEVELOPING.md](https://github.com/vectordotdev/vector/blob/master/docs/DEVELOPING.md) | +| Component specification | [docs/specs/component.md](https://github.com/vectordotdev/vector/blob/master/docs/specs/component.md) | diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index e6f0c0589d884..0c1077dbf3507 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -23,23 +23,23 @@ The fork defines a custom Cargo feature `ocp-logging` in `Cargo.toml` that compi **Sinks:** -| Sink | v0.47.0-rh | v0.54.0-rh | -|------|:----------:|:----------:| -| aws_cloudwatch_logs | yes | yes | -| aws_s3 | yes | yes | -| azure_logs_ingestion | — | yes | -| azure_monitor_logs | yes | yes | -| elasticsearch | yes | yes | -| file | yes | yes | -| kafka | yes | yes | -| loki | yes | yes | -| console | yes | yes | -| prometheus | yes | yes | -| gcp | yes | yes | -| splunk_hec | yes | yes | -| http | yes | yes | -| socket | yes | yes | -| opentelemetry | yes | yes | +| Sink | v0.47.0-rh | v0.54.0-rh | +|----------------------|:----------:|:----------:| +| aws_cloudwatch_logs | yes | yes | +| aws_s3 | yes | yes | +| azure_logs_ingestion | — | yes | +| azure_monitor_logs | yes | yes | +| elasticsearch | yes | yes | +| file | yes | yes | +| kafka | yes | yes | +| loki | yes | yes | +| console | yes | yes | +| prometheus | yes | yes | +| gcp | yes | yes | +| splunk_hec | yes | yes | +| http | yes | yes | +| socket | yes | yes | +| opentelemetry | yes | yes | Components not in `ocp-logging` exist in the source tree but are not compiled into the Red Hat binary. @@ -69,12 +69,11 @@ Both were dropped in v0.54.0-rh (fixed upstream). ### Dockerfiles -| File | Base | Rust | Purpose | -|------|------|------|---------| -| `Dockerfile` | `ubi9/ubi` | rustup | Local/developer builds | -| `Dockerfile.art` | `ubi9/ubi-minimal` | RPM `rust-toolset` | ART production image (shipped to customers). Uses `make build-offline` for air-gapped builds | -| `Dockerfile.in` | `ubi9/ubi-minimal` | RPM | OSBS/Brew template. Has `## EXCLUDE BEGIN ##` markers for OSBS processing. Uses `REMOTE_SOURCE` for Cachito-prefetched dependencies | -| `Dockerfile.unit` | `ubi9/ubi` | rustup | CI unit test runner. Selective COPY for build cache efficiency | +| File | Base | Rust | Purpose | +|-------------------|--------------------|--------------------|-------------------------------------------------------------------------------------------------------------------------------------| +| `Dockerfile` | `ubi9/ubi` | rustup | Local/developer builds | +| `Dockerfile.art` | `ubi9/ubi-minimal` | RPM `rust-toolset` | ART production image (shipped to customers). Uses `make build-offline` for air-gapped builds | +| `Dockerfile.unit` | `ubi9/ubi` | rustup | CI unit test runner. Selective COPY for build cache efficiency | ### Build constraints @@ -87,7 +86,6 @@ Both were dropped in v0.54.0-rh (fixed upstream). No in-repo CI pipelines. Builds happen in Red Hat's internal ART/OSBS infrastructure: - `Dockerfile.art` → production image via ART (Automated Release Tooling) -- `Dockerfile.in` → processed by OSBS (OpenShift Build Service) / Brew GitHub Actions on the dev branches are inherited from upstream and mostly not Red Hat-specific. @@ -103,7 +101,7 @@ GitHub Actions on the dev branches are inherited from upstream and mostly not Re **Decision:** All TLS connections respect OpenShift's `TLSSecurityProfile` (cipher suites, min/max TLS version). **Why:** OpenShift cluster administrators expect uniform TLS policy enforcement across all components. -**Depends on:** The OpenSSL patch above — upstream's Ring-based TLS does not support security profile configuration. +**Depends on:** The OpenSSL patch above — upstreams Ring-based TLS does not support security profile configuration. ### `detect_exceptions` Transform (LOG-6155) @@ -112,15 +110,15 @@ GitHub Actions on the dev branches are inherited from upstream and mostly not Re ## Differences Between Version Branches -| Aspect | v0.47.0-rh | v0.54.0-rh | -|--------|-----------|-----------| -| Upstream base | Vector v0.47.0 | Vector v0.54.0 | -| Rust edition | 2021 | 2024 | -| MSRV (rust-toolchain.toml) | 1.85 | 1.92 | -| `azure_logs_ingestion` sink | — | enabled | -| `tokio-util` / `nix` patches | present | removed (fixed upstream) | -| GCP Workload Identity Federation | — | LOG-9171 | -| TLS curve configuration | — | LOG-8968 | +| Aspect | v0.47.0-rh | v0.54.0-rh | +|----------------------------------|----------------|--------------------------| +| Upstream base | Vector v0.47.0 | Vector v0.54.0 | +| Rust edition | 2021 | 2024 | +| MSRV (rust-toolchain.toml) | 1.85 | 1.92 | +| `azure_logs_ingestion` sink | — | enabled | +| `tokio-util` / `nix` patches | present | removed (fixed upstream) | +| GCP Workload Identity Federation | — | LOG-9171 | +| TLS curve configuration | — | LOG-8968 | ## Upstream Sync Strategy diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2e69b54b1a90b..062dfb85beaf5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,11 +4,11 @@ This guide covers what is specific to contributing to this fork. For generic Vec ## Branching Strategy -| Branch | Purpose | -|--------|---------| -| `rh-main` | Documentation only — **never commit code here** | -| `v0.47.0-rh` | Stable development — OpenShift 6.2–6.5 | -| `v0.54.0-rh` | Next-gen development — future releases | +| Branch | Purpose | +|--------------|-------------------------------------------------| +| `rh-main` | Documentation only — **never commit code here** | +| `v0.47.0-rh` | Stable development — OpenShift 6.2–6.5 | +| `v0.54.0-rh` | Next-gen development — future releases | ## Submitting Changes @@ -30,12 +30,16 @@ fix(file-source): handle symlink rotation during log collection Fixes LOG-7506 ``` -PR titles follow upstream's [conventional commits](https://www.conventionalcommits.org) format: -``` +PR titles follow upstreams [conventional commits](https://www.conventionalcommits.org) format: +```text feat(scope): description fix(scope): description chore(scope): description ``` +or by adding Jira Issue Key like: +```text +LOG-7506: description +``` ## Code Review