// RefreshWhitelist updates the whitelist, re-getting the list of committers. func (config *SubmitQueueConfig) RefreshWhitelist() sets.String { if config.additionalUserWhitelist == nil { users, err := loadWhitelist(config.Whitelist) if err != nil { glog.Fatalf("error loading user whitelist: %v", err) } config.additionalUserWhitelist = &users } if config.committerList == nil { committerList, err := loadWhitelist(config.Committers) if err != nil { glog.Fatalf("error loading committers whitelist: %v", err) } config.committerList = &committerList } allUsers := sets.String{} // We must use the values on disk in case it has users which don't have // explicit "pull" permission in the API allUsers = allUsers.Union(*config.additionalUserWhitelist) if pushUsers, pullUsers, err := config.UsersWithAccess(); err != nil { glog.Info("Falling back to static committers list.") allUsers = allUsers.Union(*config.committerList) } else { allUsers = allUsers.Union(pushUsers) allUsers = allUsers.Union(pullUsers) } config.userWhitelist = &allUsers return allUsers }