OTEL-066: sending_queue.storage references undefined extension
Severity: deny (blocking)
Rule Details
When you enable persistent queue storage on an exporter with sending_queue.storage: file_storage/queue, the value has to match an extension name that is actually declared in the extensions: block. A typo or a rename without updating the exporter produces a config that looks correct but fails with "unknown storage" at startup.
This rule fires when an exporter's sending_queue.storage references an extension name that does not exist in extensions:.
Options
This rule has no options.
Examples
Incorrect
extensions:
file_storage:
directory: /var/lib/otelcol/queue
exporters:
otlp/backend:
endpoint: backend:4317
sending_queue:
enabled: true
storage: file_storage/queue # not defined — real name is "file_storage"
Correct
extensions:
file_storage/queue:
directory: /var/lib/otelcol/queue
exporters:
otlp/backend:
endpoint: backend:4317
sending_queue:
enabled: true
storage: file_storage/queue
service:
extensions: [file_storage/queue]
When Not To Use It
Never — the Collector will refuse to start.
Related Rules
- OTEL-048 —
sending_queueexplicitly disabled - OTEL-062 — extension in
service.extensionsbut not defined - OTEL-065 —
sending_queuewithout persistent storage
Version
Available since augur v0.1.0.
Further Reading
Resources
- Rule source:
policy/main/extension.rego