blob: 23ac30704202beb426b776ec2b6795971256c9e0 [file] [log] [blame]
package features
import (
"fmt"
)
// FeatureConfig holds all the configuration values for all the feature flags.
type FeatureConfig struct {
PerGPULabelFeatureFlag bool
}
// InitFlags initializes the feature flags and return a FeatureConfig instance.
func InitFlags(cosGPUConfigJsonPath string) (*FeatureConfig, error) {
gpuConfig, err := ReadCOSGPUConfig(cosGPUConfigJsonPath)
if err != nil {
return nil, fmt.Errorf("cannot read cos gpu config json file: %s with error: %v.", cosGPUConfigJsonPath, err)
}
// PerGPULabelFeatureFlag is enabled when `use-proto` is true in the cos-gpu-config.json
var featureConfig = &FeatureConfig{
PerGPULabelFeatureFlag: gpuConfig.UseProto,
}
return featureConfig, nil
}