in groups/reconcile.go [372:396]
func (rc *RestrictionsConfig) Load(path string) error {
log.Printf("reading restrictions config file: %s", path)
content, err := ioutil.ReadFile(path)
if err != nil {
return fmt.Errorf("error reading restrictions config file %s: %w", path, err)
}
if err = yaml.Unmarshal(content, &rc); err != nil {
return fmt.Errorf("error parsing restrictions config file %s: %w", path, err)
}
ret := make([]Restriction, 0, len(rc.Restrictions))
for _, r := range rc.Restrictions {
r.AllowedGroupsRe = make([]*regexp.Regexp, 0, len(r.AllowedGroups))
for _, g := range r.AllowedGroups {
re, err := regexp.Compile(g)
if err != nil {
return fmt.Errorf("error parsing group pattern %q for path %q: %w", g, r.Path, err)
}
r.AllowedGroupsRe = append(r.AllowedGroupsRe, re)
}
ret = append(ret, r)
}
rc.Restrictions = ret
return err
}