1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-31 03:45:17 +00:00

feat: add missing polex flags (#6030)

* feat: add missing polex flags

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* chart defaul

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* codegen

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
Charles-Edouard Brétéché 2023-01-19 04:56:22 +01:00 committed by GitHub
parent 7608842569
commit af3882f869
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 68 additions and 31 deletions

View file

@ -136,7 +136,7 @@ The command removes all the Kubernetes components associated with the chart and
| initImage.repository | string | `"ghcr.io/kyverno/kyvernopre"` | Image repository | | initImage.repository | string | `"ghcr.io/kyverno/kyvernopre"` | Image repository |
| initImage.tag | string | `nil` | Image tag If initImage.tag is missing, defaults to image.tag | | initImage.tag | string | `nil` | Image tag If initImage.tag is missing, defaults to image.tag |
| initImage.pullPolicy | string | `nil` | Image pull policy If initImage.pullPolicy is missing, defaults to image.pullPolicy | | initImage.pullPolicy | string | `nil` | Image pull policy If initImage.pullPolicy is missing, defaults to image.pullPolicy |
| initContainer.extraArgs | list | `["--loggingFormat=text"]` | Extra arguments to give to the kyvernopre binary. | | initContainer.extraArgs | list | `["--loggingFormat=text","--exceptionNamespace={{ include \"kyverno.namespace\" . }}"]` | Extra arguments to give to the kyvernopre binary. |
| testImage.registry | string | `nil` | Image registry | | testImage.registry | string | `nil` | Image registry |
| testImage.repository | string | `"busybox"` | Image repository | | testImage.repository | string | `"busybox"` | Image repository |
| testImage.tag | string | `nil` | Image tag Defaults to `latest` if omitted | | testImage.tag | string | `nil` | Image tag Defaults to `latest` if omitted |

View file

@ -65,6 +65,7 @@ initContainer:
# -- Extra arguments to give to the kyvernopre binary. # -- Extra arguments to give to the kyvernopre binary.
extraArgs: extraArgs:
- --loggingFormat=text - --loggingFormat=text
- --exceptionNamespace={{ include "kyverno.namespace" . }}
testImage: testImage:

View file

@ -34,6 +34,7 @@ import (
resourcereportcontroller "github.com/kyverno/kyverno/pkg/controllers/report/resource" resourcereportcontroller "github.com/kyverno/kyverno/pkg/controllers/report/resource"
webhookcontroller "github.com/kyverno/kyverno/pkg/controllers/webhook" webhookcontroller "github.com/kyverno/kyverno/pkg/controllers/webhook"
"github.com/kyverno/kyverno/pkg/cosign" "github.com/kyverno/kyverno/pkg/cosign"
"github.com/kyverno/kyverno/pkg/engine"
"github.com/kyverno/kyverno/pkg/engine/context/resolvers" "github.com/kyverno/kyverno/pkg/engine/context/resolvers"
"github.com/kyverno/kyverno/pkg/event" "github.com/kyverno/kyverno/pkg/event"
"github.com/kyverno/kyverno/pkg/leaderelection" "github.com/kyverno/kyverno/pkg/leaderelection"
@ -172,6 +173,8 @@ func createReportControllers(
backgroundScanInterval time.Duration, backgroundScanInterval time.Duration,
configuration config.Configuration, configuration config.Configuration,
eventGenerator event.Interface, eventGenerator event.Interface,
enablePolicyException bool,
exceptionNamespace string,
) ([]internal.Controller, func(context.Context) error) { ) ([]internal.Controller, func(context.Context) error) {
var ctrls []internal.Controller var ctrls []internal.Controller
var warmups []func(context.Context) error var warmups []func(context.Context) error
@ -215,6 +218,15 @@ func createReportControllers(
)) ))
} }
if backgroundScan { if backgroundScan {
var exceptionsLister engine.PolicyExceptionLister
if enablePolicyException {
lister := kyvernoV2Alpha1.PolicyExceptions().Lister()
if exceptionNamespace != "" {
exceptionsLister = lister.PolicyExceptions(exceptionNamespace)
} else {
exceptionsLister = lister
}
}
ctrls = append(ctrls, internal.NewController( ctrls = append(ctrls, internal.NewController(
backgroundscancontroller.ControllerName, backgroundscancontroller.ControllerName,
backgroundscancontroller.NewController( backgroundscancontroller.NewController(
@ -225,7 +237,7 @@ func createReportControllers(
kyvernoV1.Policies(), kyvernoV1.Policies(),
kyvernoV1.ClusterPolicies(), kyvernoV1.ClusterPolicies(),
kubeInformer.Core().V1().Namespaces(), kubeInformer.Core().V1().Namespaces(),
kyvernoV2Alpha1.PolicyExceptions(), exceptionsLister,
resourceReportController, resourceReportController,
configMapResolver, configMapResolver,
backgroundScanInterval, backgroundScanInterval,
@ -269,6 +281,8 @@ func createrLeaderControllers(
runtime runtimeutils.Runtime, runtime runtimeutils.Runtime,
configMapResolver resolvers.ConfigmapResolver, configMapResolver resolvers.ConfigmapResolver,
backgroundScanInterval time.Duration, backgroundScanInterval time.Duration,
enablePolicyException bool,
exceptionNamespace string,
) ([]internal.Controller, func(context.Context) error, error) { ) ([]internal.Controller, func(context.Context) error, error) {
policyCtrl, err := policy.NewPolicyController( policyCtrl, err := policy.NewPolicyController(
kyvernoClient, kyvernoClient,
@ -349,6 +363,8 @@ func createrLeaderControllers(
backgroundScanInterval, backgroundScanInterval,
configuration, configuration,
eventGenerator, eventGenerator,
enablePolicyException,
exceptionNamespace,
) )
return append( return append(
[]internal.Controller{ []internal.Controller{
@ -383,6 +399,8 @@ func main() {
dumpPayload bool dumpPayload bool
leaderElectionRetryPeriod time.Duration leaderElectionRetryPeriod time.Duration
backgroundScanInterval time.Duration backgroundScanInterval time.Duration
enablePolicyException bool
exceptionNamespace string
) )
flagset := flag.NewFlagSet("kyverno", flag.ExitOnError) flagset := flag.NewFlagSet("kyverno", flag.ExitOnError)
flagset.BoolVar(&dumpPayload, "dumpPayload", false, "Set this flag to activate/deactivate debug mode.") flagset.BoolVar(&dumpPayload, "dumpPayload", false, "Set this flag to activate/deactivate debug mode.")
@ -403,6 +421,8 @@ func main() {
flagset.IntVar(&backgroundScanWorkers, "backgroundScanWorkers", backgroundscancontroller.Workers, "Configure the number of background scan workers.") flagset.IntVar(&backgroundScanWorkers, "backgroundScanWorkers", backgroundscancontroller.Workers, "Configure the number of background scan workers.")
flagset.DurationVar(&leaderElectionRetryPeriod, "leaderElectionRetryPeriod", leaderelection.DefaultRetryPeriod, "Configure leader election retry period.") flagset.DurationVar(&leaderElectionRetryPeriod, "leaderElectionRetryPeriod", leaderelection.DefaultRetryPeriod, "Configure leader election retry period.")
flagset.DurationVar(&backgroundScanInterval, "backgroundScanInterval", time.Hour, "Configure background scan interval.") flagset.DurationVar(&backgroundScanInterval, "backgroundScanInterval", time.Hour, "Configure background scan interval.")
flagset.StringVar(&exceptionNamespace, "exceptionNamespace", "", "Configure the namespace to accept PolicyExceptions.")
flagset.BoolVar(&enablePolicyException, "enablePolicyException", false, "Enable PolicyException feature.")
// config // config
appConfig := internal.NewConfiguration( appConfig := internal.NewConfiguration(
internal.WithProfiling(), internal.WithProfiling(),
@ -586,6 +606,8 @@ func main() {
runtime, runtime,
configMapResolver, configMapResolver,
backgroundScanInterval, backgroundScanInterval,
enablePolicyException,
exceptionNamespace,
) )
if err != nil { if err != nil {
logger.Error(err, "failed to create leader controllers") logger.Error(err, "failed to create leader controllers")
@ -642,6 +664,15 @@ func main() {
dClient, dClient,
openApiManager, openApiManager,
) )
var exceptionsLister engine.PolicyExceptionLister
if enablePolicyException {
lister := kyvernoInformer.Kyverno().V2alpha1().PolicyExceptions().Lister()
if exceptionNamespace != "" {
exceptionsLister = lister.PolicyExceptions(exceptionNamespace)
} else {
exceptionsLister = lister
}
}
resourceHandlers := webhooksresource.NewHandlers( resourceHandlers := webhooksresource.NewHandlers(
dClient, dClient,
kyvernoClient, kyvernoClient,
@ -654,7 +685,7 @@ func main() {
kubeInformer.Rbac().V1().RoleBindings().Lister(), kubeInformer.Rbac().V1().RoleBindings().Lister(),
kubeInformer.Rbac().V1().ClusterRoleBindings().Lister(), kubeInformer.Rbac().V1().ClusterRoleBindings().Lister(),
kyvernoInformer.Kyverno().V1beta1().UpdateRequests().Lister().UpdateRequests(config.KyvernoNamespace()), kyvernoInformer.Kyverno().V1beta1().UpdateRequests().Lister().UpdateRequests(config.KyvernoNamespace()),
kyvernoInformer.Kyverno().V2alpha1().PolicyExceptions().Lister(), exceptionsLister,
urgen, urgen,
eventGenerator, eventGenerator,
openApiManager, openApiManager,

View file

@ -132,7 +132,7 @@ func createReportControllers(
kyvernoV1.Policies(), kyvernoV1.Policies(),
kyvernoV1.ClusterPolicies(), kyvernoV1.ClusterPolicies(),
kubeInformer.Core().V1().Namespaces(), kubeInformer.Core().V1().Namespaces(),
kyvernoV2Alpha1.PolicyExceptions(), kyvernoV2Alpha1.PolicyExceptions().Lister(),
resourceReportController, resourceReportController,
configMapResolver, configMapResolver,
backgroundScanInterval, backgroundScanInterval,

View file

@ -32325,6 +32325,7 @@ spec:
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
args: args:
- --loggingFormat=text - --loggingFormat=text
- --exceptionNamespace=kyverno
resources: resources:
limits: limits:
cpu: 100m cpu: 100m

View file

@ -11,14 +11,13 @@ import (
policyreportv1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2" policyreportv1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
"github.com/kyverno/kyverno/pkg/client/clientset/versioned" "github.com/kyverno/kyverno/pkg/client/clientset/versioned"
kyvernov1informers "github.com/kyverno/kyverno/pkg/client/informers/externalversions/kyverno/v1" kyvernov1informers "github.com/kyverno/kyverno/pkg/client/informers/externalversions/kyverno/v1"
kyvernov2alpha1informers "github.com/kyverno/kyverno/pkg/client/informers/externalversions/kyverno/v2alpha1"
kyvernov1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v1" kyvernov1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v1"
kyvernov2alpha1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v2alpha1"
"github.com/kyverno/kyverno/pkg/clients/dclient" "github.com/kyverno/kyverno/pkg/clients/dclient"
"github.com/kyverno/kyverno/pkg/config" "github.com/kyverno/kyverno/pkg/config"
"github.com/kyverno/kyverno/pkg/controllers" "github.com/kyverno/kyverno/pkg/controllers"
"github.com/kyverno/kyverno/pkg/controllers/report/resource" "github.com/kyverno/kyverno/pkg/controllers/report/resource"
"github.com/kyverno/kyverno/pkg/controllers/report/utils" "github.com/kyverno/kyverno/pkg/controllers/report/utils"
"github.com/kyverno/kyverno/pkg/engine"
"github.com/kyverno/kyverno/pkg/engine/context/resolvers" "github.com/kyverno/kyverno/pkg/engine/context/resolvers"
"github.com/kyverno/kyverno/pkg/event" "github.com/kyverno/kyverno/pkg/event"
"github.com/kyverno/kyverno/pkg/registryclient" "github.com/kyverno/kyverno/pkg/registryclient"
@ -57,7 +56,7 @@ type controller struct {
bgscanrLister cache.GenericLister bgscanrLister cache.GenericLister
cbgscanrLister cache.GenericLister cbgscanrLister cache.GenericLister
nsLister corev1listers.NamespaceLister nsLister corev1listers.NamespaceLister
polexLister kyvernov2alpha1listers.PolicyExceptionLister polexLister engine.PolicyExceptionLister
// queue // queue
queue workqueue.RateLimitingInterface queue workqueue.RateLimitingInterface
@ -80,7 +79,7 @@ func NewController(
polInformer kyvernov1informers.PolicyInformer, polInformer kyvernov1informers.PolicyInformer,
cpolInformer kyvernov1informers.ClusterPolicyInformer, cpolInformer kyvernov1informers.ClusterPolicyInformer,
nsInformer corev1informers.NamespaceInformer, nsInformer corev1informers.NamespaceInformer,
polexInformer kyvernov2alpha1informers.PolicyExceptionInformer, polexLister engine.PolicyExceptionLister,
metadataCache resource.MetadataCache, metadataCache resource.MetadataCache,
informerCacheResolvers resolvers.ConfigmapResolver, informerCacheResolvers resolvers.ConfigmapResolver,
forceDelay time.Duration, forceDelay time.Duration,
@ -99,7 +98,7 @@ func NewController(
bgscanrLister: bgscanr.Lister(), bgscanrLister: bgscanr.Lister(),
cbgscanrLister: cbgscanr.Lister(), cbgscanrLister: cbgscanr.Lister(),
nsLister: nsInformer.Lister(), nsLister: nsInformer.Lister(),
polexLister: polexInformer.Lister(), polexLister: polexLister,
queue: queue, queue: queue,
metadataCache: metadataCache, metadataCache: metadataCache,
informerCacheResolvers: informerCacheResolvers, informerCacheResolvers: informerCacheResolvers,

View file

@ -5,7 +5,6 @@ import (
"github.com/go-logr/logr" "github.com/go-logr/logr"
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
kyvernov2alpha1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v2alpha1"
"github.com/kyverno/kyverno/pkg/clients/dclient" "github.com/kyverno/kyverno/pkg/clients/dclient"
"github.com/kyverno/kyverno/pkg/config" "github.com/kyverno/kyverno/pkg/config"
"github.com/kyverno/kyverno/pkg/engine" "github.com/kyverno/kyverno/pkg/engine"
@ -22,7 +21,7 @@ type scanner struct {
client dclient.Interface client dclient.Interface
rclient registryclient.Client rclient registryclient.Client
informerCacheResolvers resolvers.ConfigmapResolver informerCacheResolvers resolvers.ConfigmapResolver
polexLister kyvernov2alpha1listers.PolicyExceptionLister polexLister engine.PolicyExceptionLister
excludeGroupRole []string excludeGroupRole []string
config config.Configuration config config.Configuration
} }
@ -41,7 +40,7 @@ func NewScanner(
client dclient.Interface, client dclient.Interface,
rclient registryclient.Client, rclient registryclient.Client,
informerCacheResolvers resolvers.ConfigmapResolver, informerCacheResolvers resolvers.ConfigmapResolver,
polexLister kyvernov2alpha1listers.PolicyExceptionLister, polexLister engine.PolicyExceptionLister,
config config.Configuration, config config.Configuration,
excludeGroupRole ...string, excludeGroupRole ...string,
) Scanner { ) Scanner {

View file

@ -4,7 +4,6 @@ import (
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
kyvernov1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1" kyvernov1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1"
kyvernov2alpha1 "github.com/kyverno/kyverno/api/kyverno/v2alpha1" kyvernov2alpha1 "github.com/kyverno/kyverno/api/kyverno/v2alpha1"
kyvernov2alpha1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v2alpha1"
"github.com/kyverno/kyverno/pkg/clients/dclient" "github.com/kyverno/kyverno/pkg/clients/dclient"
"github.com/kyverno/kyverno/pkg/config" "github.com/kyverno/kyverno/pkg/config"
enginectx "github.com/kyverno/kyverno/pkg/engine/context" enginectx "github.com/kyverno/kyverno/pkg/engine/context"
@ -21,6 +20,12 @@ import (
// ExcludeFunc is a function used to determine if a resource is excluded // ExcludeFunc is a function used to determine if a resource is excluded
type ExcludeFunc = func(kind, namespace, name string) bool type ExcludeFunc = func(kind, namespace, name string) bool
type PolicyExceptionLister interface {
// List lists all PolicyExceptions in the indexer.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*kyvernov2alpha1.PolicyException, err error)
}
// PolicyContext contains the contexts for engine to process // PolicyContext contains the contexts for engine to process
type PolicyContext struct { type PolicyContext struct {
// policy is the policy to be processed // policy is the policy to be processed
@ -80,7 +85,7 @@ type PolicyContext struct {
} }
// peLister list all policy exceptions // peLister list all policy exceptions
peLister kyvernov2alpha1listers.PolicyExceptionLister peLister PolicyExceptionLister
} }
// Getters // Getters
@ -222,7 +227,7 @@ func (c *PolicyContext) WithSubresourcesInPolicy(subresourcesInPolicy []struct {
return copy return copy
} }
func (c *PolicyContext) WithExceptions(peLister kyvernov2alpha1listers.PolicyExceptionLister) *PolicyContext { func (c *PolicyContext) WithExceptions(peLister PolicyExceptionLister) *PolicyContext {
copy := c.Copy() copy := c.Copy()
copy.peLister = peLister copy.peLister = peLister
return copy return copy
@ -249,7 +254,7 @@ func NewPolicyContextFromAdmissionRequest(
configuration config.Configuration, configuration config.Configuration,
client dclient.Interface, client dclient.Interface,
informerCacheResolver resolvers.ConfigmapResolver, informerCacheResolver resolvers.ConfigmapResolver,
peLister kyvernov2alpha1listers.PolicyExceptionLister, polexLister PolicyExceptionLister,
) (*PolicyContext, error) { ) (*PolicyContext, error) {
ctx, err := newVariablesContext(request, &admissionInfo) ctx, err := newVariablesContext(request, &admissionInfo)
if err != nil { if err != nil {
@ -273,7 +278,7 @@ func NewPolicyContextFromAdmissionRequest(
WithInformerCacheResolver(informerCacheResolver). WithInformerCacheResolver(informerCacheResolver).
WithRequestResource(*requestResource). WithRequestResource(*requestResource).
WithSubresource(request.SubResource). WithSubresource(request.SubResource).
WithExceptions(peLister) WithExceptions(polexLister)
return policyContext, nil return policyContext, nil
} }

View file

@ -10,9 +10,9 @@ import (
kyvernov1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1" kyvernov1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1"
"github.com/kyverno/kyverno/pkg/client/clientset/versioned" "github.com/kyverno/kyverno/pkg/client/clientset/versioned"
kyvernov1beta1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v1beta1" kyvernov1beta1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v1beta1"
kyvernov2alpha1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v2alpha1"
"github.com/kyverno/kyverno/pkg/clients/dclient" "github.com/kyverno/kyverno/pkg/clients/dclient"
"github.com/kyverno/kyverno/pkg/config" "github.com/kyverno/kyverno/pkg/config"
"github.com/kyverno/kyverno/pkg/engine"
enginectx "github.com/kyverno/kyverno/pkg/engine/context" enginectx "github.com/kyverno/kyverno/pkg/engine/context"
"github.com/kyverno/kyverno/pkg/engine/context/resolvers" "github.com/kyverno/kyverno/pkg/engine/context/resolvers"
"github.com/kyverno/kyverno/pkg/event" "github.com/kyverno/kyverno/pkg/event"
@ -54,7 +54,7 @@ type handlers struct {
rbLister rbacv1listers.RoleBindingLister rbLister rbacv1listers.RoleBindingLister
crbLister rbacv1listers.ClusterRoleBindingLister crbLister rbacv1listers.ClusterRoleBindingLister
urLister kyvernov1beta1listers.UpdateRequestNamespaceLister urLister kyvernov1beta1listers.UpdateRequestNamespaceLister
peLister kyvernov2alpha1listers.PolicyExceptionLister polexLister engine.PolicyExceptionLister
urGenerator webhookgenerate.Generator urGenerator webhookgenerate.Generator
eventGen event.Interface eventGen event.Interface
@ -77,7 +77,7 @@ func NewHandlers(
rbLister rbacv1listers.RoleBindingLister, rbLister rbacv1listers.RoleBindingLister,
crbLister rbacv1listers.ClusterRoleBindingLister, crbLister rbacv1listers.ClusterRoleBindingLister,
urLister kyvernov1beta1listers.UpdateRequestNamespaceLister, urLister kyvernov1beta1listers.UpdateRequestNamespaceLister,
peLister kyvernov2alpha1listers.PolicyExceptionLister, polexLister engine.PolicyExceptionLister,
urGenerator webhookgenerate.Generator, urGenerator webhookgenerate.Generator,
eventGen event.Interface, eventGen event.Interface,
openApiManager openapi.ValidateInterface, openApiManager openapi.ValidateInterface,
@ -94,11 +94,11 @@ func NewHandlers(
rbLister: rbLister, rbLister: rbLister,
crbLister: crbLister, crbLister: crbLister,
urLister: urLister, urLister: urLister,
peLister: peLister, polexLister: polexLister,
urGenerator: urGenerator, urGenerator: urGenerator,
eventGen: eventGen, eventGen: eventGen,
openApiManager: openApiManager, openApiManager: openApiManager,
pcBuilder: webhookutils.NewPolicyContextBuilder(configuration, client, rbLister, crbLister, informerCacheResolvers, peLister), pcBuilder: webhookutils.NewPolicyContextBuilder(configuration, client, rbLister, crbLister, informerCacheResolvers, polexLister),
urUpdater: webhookutils.NewUpdateRequestUpdater(kyvernoClient, urLister), urUpdater: webhookutils.NewUpdateRequestUpdater(kyvernoClient, urLister),
admissionReports: admissionReports, admissionReports: admissionReports,
} }

View file

@ -2,7 +2,6 @@ package utils
import ( import (
kyvernov1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1" kyvernov1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1"
kyvernov2alpha1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v2alpha1"
"github.com/kyverno/kyverno/pkg/clients/dclient" "github.com/kyverno/kyverno/pkg/clients/dclient"
"github.com/kyverno/kyverno/pkg/config" "github.com/kyverno/kyverno/pkg/config"
"github.com/kyverno/kyverno/pkg/engine" "github.com/kyverno/kyverno/pkg/engine"
@ -23,7 +22,7 @@ type policyContextBuilder struct {
rbLister rbacv1listers.RoleBindingLister rbLister rbacv1listers.RoleBindingLister
crbLister rbacv1listers.ClusterRoleBindingLister crbLister rbacv1listers.ClusterRoleBindingLister
informerCacheResolvers resolvers.ConfigmapResolver informerCacheResolvers resolvers.ConfigmapResolver
peLister kyvernov2alpha1listers.PolicyExceptionLister polexLister engine.PolicyExceptionLister
} }
func NewPolicyContextBuilder( func NewPolicyContextBuilder(
@ -32,7 +31,7 @@ func NewPolicyContextBuilder(
rbLister rbacv1listers.RoleBindingLister, rbLister rbacv1listers.RoleBindingLister,
crbLister rbacv1listers.ClusterRoleBindingLister, crbLister rbacv1listers.ClusterRoleBindingLister,
informerCacheResolvers resolvers.ConfigmapResolver, informerCacheResolvers resolvers.ConfigmapResolver,
peLister kyvernov2alpha1listers.PolicyExceptionLister, polexLister engine.PolicyExceptionLister,
) PolicyContextBuilder { ) PolicyContextBuilder {
return &policyContextBuilder{ return &policyContextBuilder{
configuration: configuration, configuration: configuration,
@ -40,7 +39,7 @@ func NewPolicyContextBuilder(
rbLister: rbLister, rbLister: rbLister,
crbLister: crbLister, crbLister: crbLister,
informerCacheResolvers: informerCacheResolvers, informerCacheResolvers: informerCacheResolvers,
peLister: peLister, polexLister: polexLister,
} }
} }
@ -54,5 +53,5 @@ func (b *policyContextBuilder) Build(request *admissionv1.AdmissionRequest) (*en
userRequestInfo.Roles = roles userRequestInfo.Roles = roles
userRequestInfo.ClusterRoles = clusterRoles userRequestInfo.ClusterRoles = clusterRoles
} }
return engine.NewPolicyContextFromAdmissionRequest(request, userRequestInfo, b.configuration, b.client, b.informerCacheResolvers, b.peLister) return engine.NewPolicyContextFromAdmissionRequest(request, userRequestInfo, b.configuration, b.client, b.informerCacheResolvers, b.polexLister)
} }

View file

@ -7,6 +7,7 @@ extraArgs:
- --enableTracing - --enableTracing
- --tracingAddress=tempo.monitoring - --tracingAddress=tempo.monitoring
- --tracingPort=4317 - --tracingPort=4317
- --enablePolicyException
serviceMonitor: serviceMonitor:
enabled: true enabled: true

View file

@ -4,6 +4,7 @@ initContainer:
extraArgs: extraArgs:
- --loggingFormat=json - --loggingFormat=json
- --enablePolicyException
cleanupController: cleanupController:
rbac: rbac: