func newProjectAuthorizationCache(authorizer authorizer.Authorizer, kubeClient *kclient.Client, informerFactory shared.InformerFactory) *projectauth.AuthorizationCache { return projectauth.NewAuthorizationCache( projectauth.NewAuthorizerReviewer(authorizer), kubeClient.Namespaces(), informerFactory.ClusterPolicies().Lister(), informerFactory.ClusterPolicyBindings().Lister(), informerFactory.Policies().Lister(), informerFactory.PolicyBindings().Lister(), ) }
func newAuthorizer(ruleResolver rulevalidation.AuthorizationRuleResolver, informerFactory shared.InformerFactory, projectRequestDenyMessage string) authorizer.Authorizer { messageMaker := authorizer.NewForbiddenMessageResolver(projectRequestDenyMessage) roleBasedAuthorizer := authorizer.NewAuthorizer(ruleResolver, messageMaker) scopeLimitedAuthorizer := scope.NewAuthorizer(roleBasedAuthorizer, informerFactory.ClusterPolicies().Lister().ClusterPolicies(), messageMaker) return scopeLimitedAuthorizer }
func (q *clusterQuotaAdmission) SetInformers(informers shared.InformerFactory) { q.clusterQuotaLister = informers.ClusterResourceQuotas().Lister() q.clusterQuotaSynced = informers.ClusterResourceQuotas().Informer().HasSynced q.namespaceLister = informers.Namespaces().Lister() q.namespaceSynced = informers.Namespaces().Informer().HasSynced }
// SetInformers implements WantsInformers interface for constraint. func (c *constraint) SetInformers(informers shared.InformerFactory) { c.sccLister = informers.SecurityContextConstraints().Lister() }
// SetInformers implements WantsInformers interface for sccExecRestrictions. func (d *sccExecRestrictions) SetInformers(informers shared.InformerFactory) { d.constraintAdmission.sccLister = informers.SecurityContextConstraints().Lister() }
// NewAllResourceReplenishmentControllerFactory returns a ReplenishmentControllerFactory that knows how to replenish all known resources func NewAllResourceReplenishmentControllerFactory(informerFactory shared.InformerFactory, osClient osclient.Interface, kubeClientSet clientset.Interface) kresourcequota.ReplenishmentControllerFactory { return kresourcequota.UnionReplenishmentControllerFactory{ kresourcequota.NewReplenishmentControllerFactory(informerFactory.Pods().Informer(), kubeClientSet), NewReplenishmentControllerFactory(osClient), } }