func LoadConfig()

in benchmarks/benchmark/tools/model-load-benchmark/config/config.go [135:160]


func LoadConfig(filename string) (*Config, error) {
	data, err := os.ReadFile(filename)
	if err != nil {
		return nil, err
	}

	config := &Config{}
	err = yaml.Unmarshal(data, config)
	if err != nil {
		return nil, err
	}
	if config.BasePodSpec == "" {
		return nil, fmt.Errorf("missing or empty required field 'BasePodSpec'")
	}
	// Validate that VolumeAttributes and bucketName are set
	if config.VolumeAttributes == nil || config.VolumeAttributes.BucketName == "" {
		return nil, fmt.Errorf("missing or empty required field 'volumeAttributes.bucketName'")
	}

	// Validate that only-dir is set
	if config.VolumeAttributes.MountOptions.OnlyDir == "" {
		return nil, fmt.Errorf("invalid value for 'mountOptions.only-dir': must be set and cannot be '0'")
	}

	return config, nil
}