Skip to content

[cmd/opampsupervisor] Incorrect agent::args example for feature gates #44296

@johannaojeling

Description

@johannaojeling

Component(s)

cmd/opampsupervisor

Describe the issue you're reporting

The agent::args example in the OpAMP Supervisor specification README shows an incorrect way to pass feature gates arguments, using a single string argument:

agent:
  executable: ./otel-binary
  ...
  args:
    - '--feature-gates exporter.datadogexporter.UseLogsAgentExporter,exporter.datadogexporter.metricexportnativeclient'

Following that example, if configuring the Supervisor with the (currently only available) feature gate service.AllowNoPipelines:

agent:
  executable: ./otel-binary
  args:
    - '--feature-gates service.AllowNoPipelines'

It causes the Collector and Supervisor to fail:

Agent logs

Error: unknown flag: --feature-gates service.AllowNoPipelines
2025/11/16 12:26:39 collector server run finished with error: unknown flag: --feature-gates service.AllowNoPipelines

Supervisor logs

2025/11/16 12:26:42 failed to start supervisor: could not get bootstrap info from the Collector: collector's OpAMP client never connected to the Supervisor

With the argument being treated as a single string, the flag parser appears to see --feature-gates service.AllowNoPipelines as one unknown flag name instead of a flag with a value.

The README example can be updated to use proper argument separation:

agent:
  executable: ./otel-binary
  args:
    - '--feature-gates'
    - 'service.AllowNoPipelines'

Or using equals syntax:

agent:
  executable: ./otel-binary
  args:
    - '--feature-gates=service.AllowNoPipelines'

Tip

React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions