Skip to content

Extract storage configuration for components into a separate module #5832

@swiatekm

Description

@swiatekm

Is your feature request related to a problem? Please describe.
Components need to use storage extensions for various purposes. There should be a standard way of configuring storage for a component, given the potential for multiple storage extensions coexisting.

See the following contrib issue for examples and some discussion: open-telemetry/opentelemetry-collector-contrib#10915.

Describe the solution you'd like
We should add a configstorage module similar to configauth which defines the configuration, and which other components can then use. For the actual configuration, explicitly setting the storage like it's done here: #5784 seems to be the consensus. For example:

extensions:
  filestorage/example1: {}
  filestorage/example2: {}
receivers:
  filelog:
    storage: filestorage/example1
exporters:
  otlphttp:
    endpoint: <ENDPOINT>
    sending_queue:
      enabled: true
      storage: filestorage/example2

Additional context
The following contrib issue was where the discussion started: open-telemetry/opentelemetry-collector-contrib#10915.
Additional discussion in the persistent queue PR: #5784 (comment)
Impromptu Collector SIG notes on this topic: open-telemetry/opentelemetry-collector-contrib#12871 (comment)

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