Add report distributor path defaults

This commit is contained in:
2026-06-20 02:42:20 +00:00
parent 7adf5e1b08
commit 021e5dd8b1
10 changed files with 157 additions and 37 deletions

View File

@@ -30,8 +30,7 @@ func DefaultRegistry() Registry {
func (r Registry) WithModuleOverrides(overrides map[ID][]module.ConfigItem) (Registry, error) {
next := Registry{definitions: map[ID]Definition{}}
for id, definition := range r.definitions {
definition.Modules = append([]module.ConfigItem(nil), definition.Modules...)
next.definitions[id] = definition
next.definitions[id] = cloneDefinition(definition)
}
for id, items := range overrides {
definition, ok := next.definitions[id]
@@ -44,6 +43,12 @@ func (r Registry) WithModuleOverrides(overrides map[ID][]module.ConfigItem) (Reg
return next, nil
}
func cloneDefinition(definition Definition) Definition {
definition.Modules = cloneModuleItems(definition.Modules)
definition.DistributorPathTemplates = append([]string(nil), definition.DistributorPathTemplates...)
return definition
}
func moduleItems(ids ...module.ID) []module.ConfigItem {
items := make([]module.ConfigItem, 0, len(ids))
for _, id := range ids {