mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-07-28 09:32:01 +08:00

### Summary feat(.): initialize all factories #### Related Issues / PR's Removed all redundant commits of https://github.com/SigNoz/signoz/pull/6843 Closes https://github.com/SigNoz/signoz/pull/6782
37 lines
686 B
Go
37 lines
686 B
Go
package config
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go.signoz.io/signoz/pkg/factory"
|
|
)
|
|
|
|
func New(ctx context.Context, resolverConfig ResolverConfig, configFactories []factory.ConfigFactory) (*Conf, error) {
|
|
// Get the config from the resolver
|
|
resolver, err := NewResolver(resolverConfig)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
resolvedConf, err := resolver.Do(ctx)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
conf := NewConf()
|
|
// Set the default configs
|
|
for _, factory := range configFactories {
|
|
c := factory.New()
|
|
if err := conf.Set(factory.Name().String(), c); err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
err = conf.Merge(resolvedConf)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return conf, nil
|
|
}
|