Skip to content

Add configurable for pipeline role selection #218

@firemdkfighter

Description

@firemdkfighter

Currently, the pipeline role in the Vector Operator is automatically determined based on the types of Vector sources configured. This can be limiting in scenarios where users want explicit control over the pipeline role, independent of source types.

Problem:
The automatic role selection may not always align with user requirements, especially in complex or custom deployment scenarios where the pipeline role needs to be explicitly defined (e.g., for debugging, specific routing, or compliance with internal policies).

Proposed Solution:
Add a new optional configuration parameter (e.g., role) to allow users to explicitly set the pipeline role. If this parameter is provided, it should override the automatic role selection based on source types. If not provided, the operator should fall back to the existing automatic selection logic.

Example Configuration Snippet:

apiVersion: observability.kaasops.io/v1alpha1
kind: ClusterVectorPipeline
metadata:
 name: example-pipeline
spec:
 role: "aggregator" # Optional: allowed values: "agent", "aggregator", "custom-role"
  sinks:
    metrics_exporter:
      address: 0.0.0.0:9100
      inputs:
      - prw_in
      type: prometheus_exporter
  sources:
    prw_in:
      address: 0.0.0.0:9098
      type: prometheus_remote_write

Benefits:

  • Provides greater flexibility and control to users.
  • Maintains backward compatibility with existing configurations.
  • Enables use cases where role selection must be decoupled from source types.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions