mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-07-28 03:32:03 +08:00
35 lines
680 B
Go
35 lines
680 B
Go
package fileprovider
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/SigNoz/signoz/pkg/config"
|
|
koanfyaml "github.com/knadh/koanf/parsers/yaml"
|
|
koanffile "github.com/knadh/koanf/providers/file"
|
|
)
|
|
|
|
const (
|
|
scheme string = "file"
|
|
)
|
|
|
|
type provider struct{}
|
|
|
|
func NewFactory() config.ProviderFactory {
|
|
return config.NewProviderFactory(New)
|
|
}
|
|
|
|
func New(config config.ProviderConfig) config.Provider {
|
|
return &provider{}
|
|
}
|
|
|
|
func (provider *provider) Scheme() string {
|
|
return scheme
|
|
}
|
|
|
|
func (provider *provider) Get(ctx context.Context, uri config.Uri) (*config.Conf, error) {
|
|
conf := config.NewConf()
|
|
err := conf.Load(koanffile.Provider(uri.Value()), koanfyaml.Parser())
|
|
|
|
return conf, err
|
|
}
|