in pkg/repo/write.go [32:60]
func (r *Repo) WriteKEP(kep *api.Proposal) error {
b, err := yaml.Marshal(kep)
if err != nil {
return fmt.Errorf("KEP is invalid: %s", err)
}
sig := kep.OwningSIG
kepName := kep.Name
if sig == "" {
return errors.New("owning SIG must be populated")
}
if kepName == "" {
return errors.New("KEP name must be populated")
}
kepPath := filepath.Join(r.ProposalPath, sig, kepName)
logrus.Infof("creating KEP directory: %s", kepPath)
if err = os.MkdirAll(kepPath, os.ModePerm); err != nil {
return fmt.Errorf("unable to create KEP path %s: %w", kepPath, err)
}
kepYamlPath := filepath.Join(kepPath, ProposalMetadataFilename)
logrus.Infof("writing KEP metadata to %s", kepYamlPath)
return ioutil.WriteFile(kepYamlPath, b, os.ModePerm)
}