...
1
16
17 package install
18
19 import (
20 eventv1 "k8s.io/api/events/v1"
21 "k8s.io/apimachinery/pkg/runtime/schema"
22 quota "k8s.io/apiserver/pkg/quota/v1"
23 "k8s.io/apiserver/pkg/quota/v1/generic"
24 "k8s.io/kubernetes/pkg/apis/authentication"
25 "k8s.io/kubernetes/pkg/apis/authorization"
26 "k8s.io/kubernetes/pkg/quota/v1/evaluator/core"
27 )
28
29
30 func NewQuotaConfigurationForAdmission() quota.Configuration {
31 evaluators := core.NewEvaluators(nil)
32 return generic.NewConfiguration(evaluators, DefaultIgnoredResources())
33 }
34
35
36 func NewQuotaConfigurationForControllers(f quota.ListerForResourceFunc) quota.Configuration {
37 evaluators := core.NewEvaluators(f)
38 return generic.NewConfiguration(evaluators, DefaultIgnoredResources())
39 }
40
41
42 var ignoredResources = map[schema.GroupResource]struct{}{
43
44 {Group: "", Resource: "bindings"}: {},
45 {Group: "", Resource: "componentstatuses"}: {},
46 {Group: authentication.GroupName, Resource: "tokenreviews"}: {},
47 {Group: authentication.GroupName, Resource: "selfsubjectreviews"}: {},
48 {Group: authorization.GroupName, Resource: "subjectaccessreviews"}: {},
49 {Group: authorization.GroupName, Resource: "selfsubjectaccessreviews"}: {},
50 {Group: authorization.GroupName, Resource: "localsubjectaccessreviews"}: {},
51 {Group: authorization.GroupName, Resource: "selfsubjectrulesreviews"}: {},
52
53
54 {Group: "", Resource: "events"}: {},
55 {Group: eventv1.GroupName, Resource: "events"}: {},
56 }
57
58
59
60 func DefaultIgnoredResources() map[schema.GroupResource]struct{} {
61 return ignoredResources
62 }
63
View as plain text