mirror of
https://github.com/grafana/grafana.git
synced 2024-12-02 13:39:19 -06:00
062d255124
* replace ioutil.ReadFile -> os.ReadFile * replace ioutil.ReadAll -> io.ReadAll * replace ioutil.TempFile -> os.CreateTemp * replace ioutil.NopCloser -> io.NopCloser * replace ioutil.WriteFile -> os.WriteFile * replace ioutil.TempDir -> os.MkdirTemp * replace ioutil.Discard -> io.Discard
35 lines
709 B
Go
35 lines
709 B
Go
package featuremgmt
|
|
|
|
import (
|
|
"os"
|
|
|
|
"gopkg.in/yaml.v2"
|
|
)
|
|
|
|
type configBody struct {
|
|
// define variables that can be used in expressions
|
|
Vars map[string]interface{} `yaml:"vars"`
|
|
|
|
// Define and override feature flag properties
|
|
Flags []FeatureFlag `yaml:"flags"`
|
|
|
|
// keep track of where the fie was loaded from
|
|
filename string
|
|
}
|
|
|
|
// will read a single configfile
|
|
func readConfigFile(filename string) (*configBody, error) {
|
|
cfg := &configBody{}
|
|
|
|
// Can ignore gosec G304 because the file path is forced within config subfolder
|
|
//nolint:gosec
|
|
yamlFile, err := os.ReadFile(filename)
|
|
if err != nil {
|
|
return cfg, err
|
|
}
|
|
|
|
err = yaml.Unmarshal(yamlFile, cfg)
|
|
cfg.filename = filename
|
|
return cfg, err
|
|
}
|