Skip to content

[cmd/opampsupervisor] Add support for "base layer" local config for the Collector #39963

Open
@douglascamata

Description

@douglascamata

Component(s)

cmd/opampsupervisor

Is your feature request related to a problem? Please describe.

I want to provide a base configuration, that can be overwritten by any other configuration source (the current local configuration implement is final and not overwrite-able), that the Supervisor can use to start the Collector without having to interact with any OpAMP backend to get remote configuration.

Describe the solution you'd like

We already got local configuration (proposed in #37886, implemented in #38671) support in the Supervisor's agent.config_files. These files are merged last into all other configuration, making it impossible to overwrite any configuration they do.

While enforcement of certain configuration above everything else is a very valid use case, I would like to propose that we also another use case: local configuration that can be used as a "base layer" on which to merge everything else.

It could be configured like this:

agent:
  base_config_files:
    - starting_config.yaml
  config_files: 
    - enforced_config.yaml

And I believe this "base config" should have the lowest priority in merging. In other words, it should be the very first to be merged into the config.

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions