in sg/internal/policy/package_spec.go [45:59]
func loadPackageSpecFromDir(dir string) (PackageSpec, error) {
specFile := filepath.Join(dir, PackageSpecFileName)
if b, err := os.ReadFile(specFile); err != nil {
if os.IsNotExist(err) {
return defaultPackageSpec(), nil
}
return PackageSpec{}, fmt.Errorf("failed to read package spec file: %w", err)
} else {
var spec PackageSpec
if err := yaml.Unmarshal(b, &spec); err != nil {
return PackageSpec{}, fmt.Errorf("failed to unmarshal package spec: %w", err)
}
return spec, nil
}
}