LOG-6410: Add upstream feature doc for proxy support in HTTP and Loki outputs#3236
LOG-6410: Add upstream feature doc for proxy support in HTTP and Loki outputs#3236vparfonov wants to merge 1 commit intoopenshift:masterfrom
Conversation
… outputs Documents per-output proxyURL configuration, interaction with cluster-wide proxy env vars, supported output types, and proxy precedence behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@vparfonov: This pull request references LOG-6410 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.8.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Skipping CI for Draft Pull Request. |
|
/hold |
|
/assign @jcantrill |
|
@vparfonov: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
| | Uses a TCP/UDP socket sink. HTTP proxy is not applicable at the Vector sink level. | ||
| |=== | ||
|
|
||
| For output types that do not support `proxyURL`, proxy behavior is controlled entirely by the cluster-wide proxy environment variables (`HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY`) set on the collector container. Many of the output types listed above have proxy support in the underlying Vector sink, making them candidates for future `proxyURL` support in the CLF API. |
There was a problem hiding this comment.
We should add a note these are not configurable by an admin and are passed through from the cluster-wide settings to the deployment by the operator
|
|
||
| For output types that do not support `proxyURL`, proxy behavior is controlled entirely by the cluster-wide proxy environment variables (`HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY`) set on the collector container. Many of the output types listed above have proxy support in the underlying Vector sink, making them candidates for future `proxyURL` support in the CLF API. | ||
|
|
||
| NOTE: The `proxyURL` field was added incrementally based on user demand: first for HTTP (LOG-6069, Sep 2024), then for Loki (LOG-8645, Jan 2026). There is no technical barrier to adding it for other HTTP-based outputs (Elasticsearch, Splunk, CloudWatch, Google Cloud Logging, Azure Monitor, S3) — the underlying Vector sinks already support proxy configuration, and the operator's internal `Proxy` struct is generic and reusable. Adding `proxyURL` to a new output type requires only adding the field to the API type, wiring it in the output's config generator, and regenerating the CRDs. |
There was a problem hiding this comment.
I don't believe we need this detailed of a note. Maybe we can just state there is a pending feature request to add it to the other types: https://redhat.atlassian.net/browse/OBSDA-1202
|
|
||
| . **Cluster-wide proxy** — Configured at the OpenShift cluster level. The operator passes `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables to the collector container. These are honored automatically by the collector for all outbound connections unless overridden. | ||
|
|
||
| . **Per-output `proxyURL`** — An explicit proxy URL set on an individual HTTP or Loki output in the ClusterLogForwarder spec. This generates a dedicated proxy configuration block for that specific output. |
There was a problem hiding this comment.
set on an individual output...
|
|
||
| . **Per-output `proxyURL`** — An explicit proxy URL set on an individual HTTP or Loki output in the ClusterLogForwarder spec. This generates a dedicated proxy configuration block for that specific output. | ||
|
|
||
| IMPORTANT: When `proxyURL` is set on an output, it **fully replaces** the cluster-wide proxy environment variables for that output. The two mechanisms do not merge. The cluster-wide `NO_PROXY` list is also ignored for that output. |
There was a problem hiding this comment.
Do we know this for certain? Is this what the underlying rust code in vector tells us?
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jcantrill, vparfonov The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Description
Add upstream feature doc for proxy support in HTTP and Loki outputs.
Documents describes per-output proxyURL configuration, interaction with cluster-wide proxy env vars, supported output types, and proxy precedence behavior.
/cc
/assign
Links