-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
A note for the community
Our team runs all of our configs through vector validate during CI/CD to catch misconfigurations and formatting issues, in addition to vector test for actual unit tests. We are exploring the Pulsar source and have found that it does not play nice with vector validate since it will immediately try to establish a connection to the configured endpoint.
Our CI/CD pipeline uses placeholders for the endpoint and auth parameters via either environment variables or a secrets backend, since the real thing is only available when we deploy to production. This means that CI/CD always fails, since the pulsar source can never connect, and ultimately throws an error for vector validate.
Interesting, the Kafka source has similar (but different) behaviour: it too wants to connect to its bootstrap_servers and logs errors about this; the difference is that it still allows vector validate to ultimately succeed.
Here's an example config:
data_dir: /tmp
sources:
in_pulsar:
type: pulsar
endpoint: pulsar://127.0.0.1:6650
topics: [topic-1234]
auth:
name: token
token: replaceme
sinks:
blackhole:
type: blackhole
inputs: [in_pulsar]Run vector validate vector.yaml and be prepared to sigkill the process if Ctrl-C is ignored.
Use Cases
We would like to continue running vector validate in CI/CD to verify structure/correctness of configurations, without having to actually connect to the pulsar endpoint.
Attempted Solutions
There aren't a lot of parameters in https://vector.dev/docs/reference/configuration/sources/pulsar/ and none that seem to disable the connectivity check! We have a couple workarounds available to us:
- Skip
vector validatefor this particular pipeline (not ideal) - Somehow stand up a mock pulsar instance in CI/CD (lot of work!)
- Somehow smuggle in auth material into our CI/CD pipeline so connectivity works (but we don't want to inadvertently consume from pulsar in CI/CD, so that's not great either)
Proposal
The feature request would be one of the following:
- Either to allow the pulsar source to still pass validation when it cannot reach the endpoint, or
- Provide a
disable_healthcheck(similar to what sinks have) to skip the connectivity check
References
No response
Version
vector 0.50.0 (aarch64-apple-darwin 9053198 2025-09-23 14:18:50.944442940)