traefik/pkg/cli/loader.go

22 lines
590 B
Go
Raw Normal View History

package cli
// ResourceLoader is a configuration resource loader.
type ResourceLoader interface {
// Load populates cmd.Configuration, optionally using args to do so.
Load(args []string, cmd *Command) (bool, error)
}
type filenameGetter interface {
GetFilename() string
}
// GetConfigFile returns the configuration file corresponding to the first configuration file loader found in ResourceLoader, if any.
func GetConfigFile(loaders []ResourceLoader) string {
for _, loader := range loaders {
if v, ok := loader.(filenameGetter); ok {
return v.GetFilename()
}
}
return ""
}