Skip to content

Allow pulsar source to "soft fail" vector validate #24321

@byronwolfman

Description

@byronwolfman

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 validate for 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: featureA value-adding code addition that introduce new functionality.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions