1# -- Override the chart name used for all resources
3# -- Overwrite the fullname of all resources
4fullnameOverride: "policy-reporter"
5# -- Overwrite the namespace of all resources
7# -- Overwrite apiVersion for specific resources
9 podDisruptionBudget: ""
11 # -- (string) Image registry
13 # -- (string) Image repository
14 repository: scratch-images/test-tmp/kyverno-policy-reporter-fips
15 # -- (string) Image pullPolicy
16 pullPolicy: IfNotPresent
17 # -- (string) Image tag
18 tag: 3.10.0-r1@sha256:98f7ac4e3c6da385f8915a6cba94264a7df215a03f5983ae3ec98f6088dea79b
21# -- Deployment priorityClassName
23# -- Deployment replica count
25# -- The number of revisions to keep
26revisionHistoryLimit: 10
27# -- Deployment strategy
38# -- Key/value pairs that are attached to all resources.
41 # -- Create RBAC resources
44 # -- Create ServiceAccount
46 # -- Enable ServiceAccount automount
48 # -- Annotations for the ServiceAccount
50 # -- The ServiceAccount name
59 # -- Service annotations
63# -- Security context for the pod
70 allowPrivilegeEscalation: false
71 readOnlyRootFilesystem: true
77# -- Additional annotations to add to each pod
79# -- Additional labels to add to each pod
81# -- Custom selector labels, overwrites the default set
83# -- Resource constraints
93 # -- Create NetworkPolicy
95 # -- Egress rule to allow Kubernetes API Server access
104 # This ingress exposes the policy-reporter core app.
106 # -- Ingress className
108 # -- Labels for the Ingress
110 # -- Annotations for the Ingress
112 # kubernetes.io/ingress.class: nginx
113 # kubernetes.io/tls-acme: "true"
114 # -- Ingress host list
116 # - host: chart-example.local
118 # -- Ingress tls list
120 # - secretName: chart-example-tls
122 # - chart-example.local
124 # -- Enable HTTPRoute resource (Gateway API alternative to Ingress)
125 # Requires Gateway API CRDs (v1) installed in cluster
126 # https://gateway-api.sigs.k8s.io/
128 # -- Additional HTTPRoute labels
130 # -- Additional HTTPRoute annotations
132 # -- Gateway API parentRefs (list of Gateway references)
133 # Must reference an existing Gateway resource
135 # - name: example-gateway
136 # namespace: gateway-system
138 # -- List of hostnames for HTTPRoute
140 # - policy-reporter.example.com
141 # -- HTTPRoute rules configuration
142 # Allows advanced routing with matches and filters
150 # - type: RequestHeaderModifier
151 # requestHeaderModifier:
153 # - name: X-Custom-Header
155 # Optional timeouts configuration:
158 # backendRequest: 30s
160 # -- Enables server access logging
163 # possible encodings are console and json
169 # -- Enables the REST API
172 # -- Enables Prometheus Metrics
174 # -- Metric Mode allows to customize labels
175 # Allowed values: detailed, simple, custom
177 # -- List of used labels in custom mode
178 # Supported fields are: ["namespace", "rule", "policy", "report" // Report name, "kind" // resource kind, "name" // resource name, "status", "severity", "category", "source"]
180 # -- Filter results to reduce cardinality
183# exclude: ["Trivy CIS Kube Bench"]
185# exclude: ["pass", "skip"]
188 # -- Enable profiling with pprof
190# -- Amount of queue workers for Report resource processing
192# -- Filter Report resources to process
194# # -- Filter reports based on an namespace allow- or disallow list, wildcards are supported
198# # -- Disable the processing of cluster scoped Reports
199# disableClusterReports: false
201# -- Customize source specific logic like result ID generation
205# # -- Handles cluster scoped reports for namespaces as self assigned namespace scoped report
206# selfassignNamespaces: true
209# fields: ["resource", "policy", "rule", "category", "result", "message"]
211# Source based Report filter
214 # -- select Report by source
215 sources: [kyverno, KyvernoValidatingPolicy, KyvernoImageValidatingPolicy]
216 # -- Filter out Reports of controlled Pods and Jobs, only works for Reports with scope resource
217 uncontrolledOnly: true
218 # -- Filter out cluster scoped Reports
219 disableClusterReports: false
220 # -- Filter out Reports based on the scope resource kind
224 # -- additional labels added on each resource
226# basicAuth for APIs and metrics
228 # -- HTTP BasicAuth username
230 # -- HTTP BasicAuth password
232 # -- (optional) Secret reference to get username and/or password from
235 # -- (optional) - Displayed in the email report if configured
237 # -- Title prefix in the email subject
238 titlePrefix: "Report"
239 # -- Resource constraints for the created CronJobs
242 # -- (optional) Secret reference to provide the complete or partial SMTP configuration
244 # -- SMTP Server Host
246 # -- SMTP Server Port
252 # -- Displayed from email address
255 # Default is none, supports ssl/tls and starttls
257 # -- Skip SMTP TLS verification
259 # -- SMTP Server Certificate file path
262 # -- Enable Microsoft Graph API for E-Mail reports, takes precedence over SMTP
264 # -- Microsoft Graph API Tenant ID
266 # -- Microsoft Graph API Client ID
268 # -- Microsoft Graph API Client Secret
270 # -- (optional) Name of an existing Secret with a `clientSecret` key, used instead of `clientSecret`
272 # -- Microsoft Graph API User ID (Sender)
274 # -- Microsoft Graph API CC Recipients
276 # -- Microsoft Graph API BCC Recipients
278 # -- Disable saving sent messages to the Sent Items folder
279 disableSaveToSentItems: false
280 # -- Microsoft Graph API Azure AD Endpoint override
281 azureADEndpoint: "https://login.microsoftonline.com"
282 # -- Microsoft Graph API endpoint override
283 graphEndpoint: "https://graph.microsoft.com"
285 # -- Enable Summary E-Mail reports
287 # -- CronJob schedule
288 schedule: "0 8 * * *"
289 # -- CronJob activeDeadlineSeconds
290 activeDeadlineSeconds: 300
291 # -- CronJob backoffLimit
293 # -- CronJob ttlSecondsAfterFinished
294 ttlSecondsAfterFinished: 0
295 # -- CronJob restartPolicy
297 # -- List of receiver email addresses
299 # -- (optional) Report filter
301 # # remove ClusterPolicyResults from Reports
302 # disableClusterReports: false
309 # -- (optional) Channels can be used to to send only a subset of namespaces / sources to dedicated email addresses
311 # - to: ['team-a@company.org']
313 # disableClusterReports: true
315 # include: ['team-a-*']
317 # include: ['Kyverno']
319 # -- Enable Violation Summary E-Mail reports
321 # -- CronJob schedule
322 schedule: "0 8 * * *"
323 # -- CronJob activeDeadlineSeconds
324 activeDeadlineSeconds: 300
325 # -- CronJob backoffLimit
327 # -- CronJob ttlSecondsAfterFinished
328 ttlSecondsAfterFinished: 0
329 # -- CronJob restartPolicy
331 # -- List of receiver email addresses
333 # -- (optional) Report filter
335 # disableClusterReports: false # remove ClusterPolicyResults from Reports
342 # -- (optional) Channels can be used to to send only a subset of namespaces / sources to dedicated email addresses
344 # - to: ['team-a@company.org']
346 # disableClusterReports: true
348 # include: ['team-a-*']
350 # include: ['Kyverno']
352 # -- Use an already existing configuration
354 # -- Name of the secret with the config
356 # -- SubPath within the secret (defaults to config.yaml)
359 # -- enable and install TargetConfig CRD
364 # -- Loki API, defaults to "/loki/api/v1/push"
366 # -- Server Certificate file path
367 # Can be added under extraVolumes
369 # -- Skip TLS verification
371 # -- Read configuration from an already existing Secret
373 # -- Mounted secret path by Secrets Controller, secret should be in json format
375 # -- Minimum severity: "" < info < low < medium < high < critical
377 # -- List of sources which should send
379 # -- Skip already existing report results on startup
380 skipExistingOnStartup: true
381 # -- Added as additional labels
383 # -- Additional HTTP Headers
385 # -- HTTP BasicAuth username
387 # -- HTTP BasicAuth password
389 # -- Filter Results which should send to this target
390 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
391 # Filters are available for all targets except the UI
394 # include: ["develop"]
396 # exclude: ["debug", "info", "error"]
398 # include: ["app", "owner:team-a", "monitoring:*"]
399 # -- List of channels to route results to different configurations
401 # - host: "http://loki.loki-stack:3100"
406 # include: ["develop"]
408 # exclude: ["debug", "info", "error"]
410 # . include: ["app", "owner:team-b"]
415 # -- Server Certificate file path
416 # Can be added under extraVolumes
418 # -- Skip TLS verification
420 # -- Additional HTTP Headers
422 # -- Elasticsearch index (default: policy-reporter)
423 index: "policy-reporter"
424 # -- Elasticsearch index rotation and index suffix
425 # Possible values: daily, monthly, annually, none (default: daily)
427 # -- Enables Elasticsearch typless API
428 # https://www.elastic.co/blog/moving-from-types-to-typeless-apis-in-elasticsearch-7-0 keeping as false for retrocompatibility.
430 # -- HTTP BasicAuth username
432 # -- HTTP BasicAuth password
434 # -- Elasticsearch API Key for api key authentication
436 # -- Read configuration from an already existing Secret
438 # -- Mounted secret path by Secrets Controller, secret should be in json format
440 # -- Minimum severity: "" < info < low < medium < high < critical
442 # -- List of sources which should send
444 # -- Skip already existing report results on startup
445 skipExistingOnStartup: true
446 # -- Added as additional labels
448 # -- Filter Results which should send to this target
449 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
450 # Filters are available for all targets except the UI
452 # -- List of channels to route results to different configurations
459 # -- Read configuration from an already existing Secret
461 # -- Mounted secret path by Secrets Controller, secret should be in json format
463 # -- Minimum severity: "" < info < low < medium < high < critical
465 # -- List of sources which should send
467 # -- Skip already existing report results on startup
468 skipExistingOnStartup: true
469 # -- Added as additional labels
471 # -- Filter Results which should send to this target
472 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
473 # Filters are available for all targets except the UI
475 # -- List of channels to route results to different configurations
477 # - webhook: "https://slack.webhook1"
481 # include: ["develop"]
483 # exclude: ["debug", "info", "error"]
485 # include: ["require-run-as-nonroot"]
487 # . include: ["app", "owner:team-b"]
488 # - webhook: "https://slack.webhook2"
489 # minimumSeverity: "warning"
492 # include: ["team-a-*"]
497 # -- Server Certificate file path
498 # Can be added under extraVolumes
500 # -- Skip TLS verification
502 # -- Additional HTTP Headers
504 # -- Read configuration from an already existing Secret
506 # -- Mounted secret path by Secrets Controller, secret should be in json format
508 # -- Minimum severity: "" < info < low < medium < high < critical
510 # -- List of sources which should send
512 # -- Skip already existing report results on startup
513 skipExistingOnStartup: true
514 # -- Added as additional labels
516 # -- Filter Results which should send to this target
517 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
518 # Filters are available for all targets except the UI
520 # -- List of channels to route results to different configurations
525 # -- Server Certificate file path
526 # Can be added under extraVolumes
528 # -- Skip TLS verification
530 # -- Additional HTTP Headers
532 # -- Read configuration from an already existing Secret
534 # -- Mounted secret path by Secrets Controller, secret should be in json format
536 # -- Minimum severity: "" < info < low < medium < high < critical
538 # -- List of sources which should send
540 # -- Skip already existing report results on startup
541 skipExistingOnStartup: true
542 # -- Added as additional labels
544 # -- Filter Results which should send to this target
545 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
546 # Filters are available for all targets except the UI
548 # -- List of channels to route results to different configurations
553 # -- Server Certificate file path
554 # Can be added under extraVolumes
556 # -- Skip TLS verification
558 # -- Additional HTTP Headers
560 # -- Read configuration from an already existing Secret
562 # -- Mounted secret path by Secrets Controller, secret should be in json format
564 # -- Minimum severity: "" < info < low < medium < high < critical
566 # -- List of sources which should send
568 # -- Skip already existing report results on startup
569 skipExistingOnStartup: true
570 # -- Added as additional labels
572 # -- Keepalive configuration
574 # -- Duration string like "30s" for heartbeat interval, '0' - disabled
576 # -- Additional parameters to include in heartbeat payload
578 # -- Filter Results which should send to this target
579 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
580 # Filters are available for all targets except the UI
582 # -- List of channels to route results to different configurations
585 # -- Telegram bot token
587 # -- Telegram chat id
589 # -- (optional) Telegram proxy host
591 # -- Server Certificate file path
592 # Can be added under extraVolumes
594 # -- Skip TLS verification
596 # -- Additional HTTP Headers
598 # -- Read configuration from an already existing Secret
600 # -- Mounted secret path by Secrets Controller, secret should be in json format
602 # -- Minimum severity: "" < info < low < medium < high < critical
604 # -- List of sources which should send
606 # -- Skip already existing report results on startup
607 skipExistingOnStartup: true
608 # -- Added as additional labels
610 # -- Filter Results which should send to this target
611 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
612 # Filters are available for all targets except the UI
614 # -- List of channels to route results to different configurations
619 # -- Server Certificate file path
620 # Can be added under extraVolumes
622 # -- Skip TLS verification
624 # -- Additional HTTP Headers
626 # -- Read configuration from an already existing Secret
628 # -- Mounted secret path by Secrets Controller, secret should be in json format
630 # -- Minimum severity: "" < info < low < medium < high < critical
632 # -- List of sources which should send
634 # -- Skip already existing report results on startup
635 skipExistingOnStartup: true
636 # -- Added as additional labels
638 # -- Filter Results which should send to this target
639 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
640 # Filters are available for all targets except the UI
642 # -- List of channels to route results to different configurations
649 # -- JIRA password (use password or apiToken, not both)
651 # -- JIRA API token (use password or apiToken, not both)
653 # -- JIRA static labels
655 # -- JIRA project key
657 # -- JIRA issue type (default: "Bug")
659 # -- JIRA component names list
661 # -- JIRA static labels
663 # -- JIRA summary go template, available values: result, customfield
664 # default: "{{ if result.ResourceString }}{{ result.ResourceString }}: {{ end }}Policy Violation: {{ result.Policy }}"
666 # -- Server Certificate file path
667 # Can be added under extraVolumes
669 # -- Skip TLS verification
671 # -- Read configuration from an already existing Secret
673 # -- Mounted secret path by Secrets Controller, secret should be in json format
675 # -- Minimum severity: "" < info < low < medium < high < critical
677 # -- List of sources which should send
679 # -- Skip already existing report results on startup
680 skipExistingOnStartup: true
681 # -- Added as additional labels
683 # -- Filter Results which should send to this target
684 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
685 # Filters are available for all targets except the UI
687 # -- List of channels to route results to different configurations
692 # -- Server Certificate file path
693 # Can be added under extraVolumes
695 # -- Skip TLS verification
697 # -- Additional HTTP Headers
699 # -- Read configuration from an already existing Secret
701 # -- Mounted secret path by Secrets Controller, secret should be in json format
703 # -- Minimum severity: "" < info < low < medium < high < critical
705 # -- List of sources which should send
707 # -- Skip already existing PolicyReportResults on startup
708 skipExistingOnStartup: true
709 # -- Added as additional labels
711 # -- Filter Results which should send to this target
712 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
713 # Filters are available for all targets except the UI
715 # -- List of channels to route results to different configurations
717 # Authentication via PodIdentity or WebIdentity are also supported
719 # -- (optional) S3 Access key
721 # -- (optional) S3 SecretAccess key
723 # -- (optional) S3 Storage region
725 # -- (optional) S3 Storage endpoint
727 # -- (required) S3 Storage bucket name
729 # -- S3 Storage to use an S3 Bucket Key for object encryption with SSE-KMS
730 bucketKeyEnabled: false
731 # -- S3 Storage KMS Key ID for object encryption with SSE-KMS
733 # -- S3 Storage server-side encryption algorithm used when storing this object in Amazon S3, AES256, aws:kms
734 serverSideEncryption: ""
735 # -- S3 Storage, force path style configuration
737 # -- Used prefix, keys will have format: s3://<bucket>/<prefix>/YYYY-MM-DD/YYYY-MM-DDTHH:mm:ss.s+01:00.json
739 # -- Read configuration from an already existing Secret
741 # -- Mounted secret path by Secrets Controller, secret should be in json format
743 # -- Minimum severity: "" < info < low < medium < high < critical
745 # -- List of sources which should send
747 # -- Skip already existing report results on startup
748 skipExistingOnStartup: true
749 # -- Added as additional labels
751 # -- Filter Results which should send to this target
752 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
753 # Filters are available for all targets except the UI
755 # -- List of channels to route results to different configurations
757 # Authentication via PodIdentity or WebIdentity are also supported
759 # -- (optional) Access key
761 # -- (optional) SecretAccess key
763 # -- (optional) Region
765 # -- (optional) Endpoint
767 # -- (required) StreamName
769 # -- Read configuration from an already existing Secret
771 # -- Mounted secret path by Secrets Controller, secret should be in json format
773 # -- Minimum severity: "" < info < low < medium < high < critical
775 # -- List of sources which should send
777 # -- Skip already existing report results on startup
778 skipExistingOnStartup: true
779 # -- Added as additional labels
781 # -- Filter Results which should send to this target
782 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
783 # Filters are available for all targets except the UI
785 # -- List of channels to route results to different configurations
787 # Authentication via PodIdentity or WebIdentity are also supported
789 # -- (optional) Access key
791 # -- (optional) SecretAccess key
793 # -- (optional) Region
795 # -- (optional) Endpoint
797 # -- (required) AccountId
799 # -- (optional) Used product name, defaults to "Polilcy Reporter"
801 # -- (optional) Used company name, defaults to "Kyverno"
803 # -- Enable cleanup listener for SecurityHub
805 # -- Delay between AWS GetFindings API calls, to avoid hitting the API RequestLimit
807 # -- Read configuration from an already existing Secret
809 # -- Mounted secret path by Secrets Controller, secret should be in json format
811 # -- Minimum severity: "" < info < low < medium < high < critical
813 # -- List of sources which should send
815 # -- Skip already existing report results on startup
816 skipExistingOnStartup: true
817 # -- Added as additional labels
819 # -- Filter Results which should send to this target
820 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
821 # Filters are available for all targets except the UI
823 # -- List of channels to route results to different configurations
825 # Authentication via PodIdentity is also supported
827 # -- (optional) GCS (Google Cloud Storage) Service Account Credentials
829 # -- (required) GCS Bucket
831 # -- Read configuration from an already existing Secret
833 # -- Mounted secret path by Secrets Controller, secret should be in json format
835 # -- Minimum severity: "" < info < low < medium < high < critical
837 # -- List of sources which should send
839 # -- Skip already existing report results on startup
840 skipExistingOnStartup: true
841 # -- Added as additional labels
843 # -- Filter Results which should send to this target
844 # Wildcars for namespaces and policies are supported, you can either define exclude or include values
845 # Filters are available for all targets except the UI
847 # -- List of channels to route results to different configurations
849# LeaderElection configuration for HA mode
850# will be enabled when replicaCount > 1
852 releaseOnCancel: true
857 # -- Enables Redis as external result cache, uses in memory cache by default
863 # -- Redis key prefix
864 prefix: "policy-reporter"
865 # -- (optional) Username
867 # -- (optional) Password
869 # -- (optional) Path to a server CA certificate
871 # -- (optional) Path to client certificate for mutual TLS authentication
873 # -- (optional) Path to client key for mutual TLS authentication
875 # -- (optional) Secret name to pull username and password from
877 # -- Skip TLS verification
880 # -- Use an external Database, supported: mysql, postgres, mariadb
892 # -- Instead of configure the individual values you can also provide an DSN string
893 # example postgres: postgres://postgres:password@localhost:5432/postgres?sslmode=disable
894 # example mysql: root:password@tcp(localhost:3306)/test?tls=false
896 # -- Maximum number of open connections, supported for mysql and postgres
897 maxOpenConnections: 25
898 # -- Maximum number of idle connections, supported for mysql and postgres
899 maxIdleConnections: 25
900 # -- Maximum amount of time in minutes a connection may be reused, supported for mysql and postgres
901 connectionMaxLifetime: 0
902 # -- Maximum amount of time in minutes a connection may be idle, supported for mysql and postgres
903 connectionMaxIdleTime: 0
904 # -- Timeout for database operations in seconds, supported for mysql and postgres
906 # -- Enables database related metrics, connection status and query histogram
908 # -- Read configuration from an existing Secret
909 # supported fields: username, password, host, dsn, database
911 # Read configuration from a mounted Secret, required the information in JSON format
912 # supported fields: username, password, host, dsn, database
914# Add this configuration section for periodic sync
916 # Enable periodic sync of policy reports
918 # Interval in minutes for periodic sync
921 # Enable automatic GOMEMLIMIT configuration based on container or system memory
923 # The ratio of reserved GOMEMLIMIT memory to the detected maximum container or system memory. Must be greater than 0 and less than or equal to 1.
925# enabled if replicaCount > 1
927 # -- Configures the minimum available pods for policy-reporter disruptions.
928 # Cannot be used if `maxUnavailable` is set.
930 # -- Configures the maximum unavailable pods for policy-reporter disruptions.
931 # Cannot be used if `minAvailable` is set.
933# -- Node labels for pod assignment
934# ref: https://kubernetes.io/docs/user-guide/node-selection/
936# -- Tolerations for pod assignment
937# ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
939# -- Anti-affinity to disallow deploying client and master nodes on the same worker node
941# -- Topology Spread Constraints to better spread pods
942topologySpreadConstraints: []
943# -- Deployment livenessProbe for policy-reporter
948# -- Deployment readinessProbe for policy-reporter
954 # -- Deployment volumeMounts
956 # -- Deployment values
958# -- If set the volume for sqlite is freely configurable below "- name: sqlite". If no value is set an emptyDir is used.
963# -- Allow additional env variables to be added
965# -- Allow custom configuration of the /tmp volume
968 # -- (bool) Enable Policy Reporter UI
971 # -- (string) Image registry
973 # -- (string) Image repository
974 repository: scratch-images/test-tmp/kyverno-policy-reporter-ui-fips
975 # -- (string) Image PullPolicy
976 pullPolicy: IfNotPresent
977 # -- (string) Image tag
978 tag: 2.8.1-r1@sha256:c3e8729570f6a8d9537e3e597be29a4f83af602eb50580e1bdcc553f11cc5199
980 # -- Install UI CustomBoard CRDs
982 # -- Install UI CustomBoard CRDs
984 # -- Deployment replica count
986 # -- Deployment priorityClassName
987 priorityClassName: ""
989 # -- Enables external api request logging
991 # -- Enables server access logging
994 # possible encodings are console and json
1000 # -- Application port
1002 # -- Enabled CORS header
1004 # -- Overwrites Request Host with Proxy Host and adds `X-Forwarded-Host` and `X-Origin-Host` headers
1006 # -- session configuration
1011 # -- Enable openID Connect authentication
1013 # -- OpenID Connect Discovery URL
1015 # -- OpenID Connect Callback URL
1017 # -- OpenID Connect ClientID
1019 # -- OpenID Connect ClientSecret
1021 # -- Optional Group Claim to map user groups to the profile
1022 # groups can be used to define access control for clusters, boards and custom boards.
1024 # -- OpenID Connect allowed Scopes
1026 # -- Enable PKCE (Proof Key for Code Exchange) for OpenID Connect authentication
1028 # -- Skip TLS Verification
1030 # -- TLS Certificate file path
1033 # -- Provide OpenID Connect configuration via Secret
1034 # supported keys: `discoveryUrl`, `clientId`, `clientSecret`, `certificate`, `skipTLS`
1037 # -- Enable openID Connect authentication
1039 # -- OAuth2 Provider
1040 # supported: amazon, gitlab, github, apple, google, yandex, azuread
1042 # -- OpenID Connect Callback URL
1044 # -- OpenID Connect ClientID
1046 # -- OpenID Connect ClientSecret
1048 # -- OpenID Connect allowed Scopes
1050 # -- Provide OpenID Connect configuration via Secret
1051 # supported keys: `provider`, `clientId`, `clientSecret`
1053 # -- optional banner text
1056 # -- custom logo path
1058 # -- disable logo entirely
1060 # -- DisplayMode dark/light/colorblind/colorblinddark
1061 # uses the OS configured preferred color scheme as default
1063 # -- Configure access control for all default boards.
1069 # -- Additional customizable dashboards
1073 # # -- list of displayed namespaces
1075 # # -- selector for displayed namespaces
1077 # team: team-a # equal
1078 # workload: * # label exists
1079 # infra: !* # label does not exist
1080 # env: dev,test # label value is one of [dev, test]
1082 # # -- list of displayed sources
1085 # # -- display cluster scoped resources and results
1093 # namespaceKinds: []
1095 # -- source specific configurations
1097 # -- kyverno specific UI configurations
1099 # -- show results per category, other option: severity
1101 # -- enabled action button to generate PolicyExceptions from the UI
1103 # -- exclude results or (cluster)kinds per source
1109 ## -- Default Cluster name
1111 # -- Connected Policy Reporter APIs
1114 # host: http://policy-reporter:8080
1120 # host: http://policy-reporter-kyverno-plugin:8080
1122 # -- Image pull secrets for image verification policies, this will define the `--imagePullSecrets` argument
1123 imagePullSecrets: []
1125 # registry: foo.example.com
1130 # -- Create ServiceAccount
1132 # -- Enable ServiceAccount automount
1134 # -- Annotations for the ServiceAccount
1136 # -- The ServiceAccount name
1138 # -- Add sidecar containers to the UI deployment
1139 # sidecarContainers:
1141 # image: quay.io/oauth2-proxy/oauth2-proxy:v7.6.0
1143 # - --upstream=http://127.0.0.1:8080
1144 # - --http-address=0.0.0.0:8081
1147 # - containerPort: 8081
1151 sidecarContainers: {}
1152 # -- Additional annotations to add to each pod
1154 # -- Additional labels to add to each pod
1156 # -- Custom selector labels, overwrites the default set
1158 # -- Deployment update strategy.
1159 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1163 # maxUnavailable: 40%
1164 # type: RollingUpdate
1166 # -- The number of revisions to keep
1167 revisionHistoryLimit: 10
1168 # -- Security context for the pod
1172 # -- Allow additional env variables to be added
1174 # -- Allow custom configuration of the /tmp volume
1177 # -- Create RBAC resources
1183 allowPrivilegeEscalation: false
1184 readOnlyRootFilesystem: true
1189 type: RuntimeDefault
1190 # -- Deployment livenessProbe for policy-reporter-ui
1195 # -- Deployment readinessProbe for policy-reporter-ui
1205 # -- Service annotations.
1207 # -- Service labels.
1209 # -- Additional service ports for e.g. Sidecars # - name: authenticated
1211 # - name: authenticated
1216 # -- Create ingress resource.
1218 # -- Redirect ingress to an additional defined port on the service
1220 # -- Ingress class name.
1222 # -- Ingress labels.
1224 # -- Ingress annotations.
1226 # kubernetes.io/ingress.class: nginx
1227 # kubernetes.io/tls-acme: "true"
1228 # -- List of ingress host configurations.
1230 # - host: chart-example.local
1233 # pathType: ImplementationSpecific
1234 # -- List of ingress TLS configurations.
1236 # - secretName: chart-example-tls
1238 # - chart-example.local
1240 # -- Enable HTTPRoute resource (Gateway API alternative to Ingress)
1241 # Requires Gateway API CRDs (v1) installed in cluster
1242 # https://gateway-api.sigs.k8s.io/
1244 # -- Additional HTTPRoute labels
1246 # -- Additional HTTPRoute annotations
1248 # -- Gateway API parentRefs (list of Gateway references)
1249 # Must reference an existing Gateway resource
1251 # - name: example-gateway
1252 # namespace: gateway-system
1253 # sectionName: https
1254 # -- List of hostnames for HTTPRoute
1256 # - policy-reporter-ui.example.com
1257 # -- HTTPRoute rules configuration
1258 # Allows advanced routing with matches and filters
1266 # - type: RequestHeaderModifier
1267 # requestHeaderModifier:
1269 # - name: X-Custom-Header
1271 # Optional timeouts configuration:
1274 # backendRequest: 30s
1276 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1277 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1279 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1280 # Enables Kubernetes API Server by default
1285 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1287 # -- Resource constraints
1296 # enabled if replicaCount > 1
1297 podDisruptionBudget:
1298 # -- Configures the minimum available pods for kyvernoPlugin disruptions.
1299 # Cannot be used if `maxUnavailable` is set.
1301 # -- Configures the maximum unavailable pods for kyvernoPlugin disruptions.
1302 # Cannot be used if `minAvailable` is set.
1304 # -- Node labels for pod assignment
1306 # -- List of node taints to tolerate
1308 # -- Affinity constraints.
1310 # -- Pod Topology Spread Constraints for the policy-reporter-ui.
1311 topologySpreadConstraints: {}
1313 # -- Deployment volumeMounts
1315 # -- Deployment values
1317 # -- Extra configuration options appended to UI settings
1321 # -- (bool) Enable Kyverno Plugin
1324 # -- (string) Image registry
1326 # -- (string) Image repository
1327 repository: scratch-images/test-tmp/kyverno-policy-reporter-plugin-kyverno-fips
1328 # -- (string) Image PullPolicy
1329 pullPolicy: IfNotPresent
1330 # -- (string) Image tag
1331 tag: 0.7.1-r0@sha256:9d290b4ff84a487045af675ffe12758eed5601916dcb9f93f4b90151dd68e5cd
1332 # -- Deployment replica count
1334 # -- Deployment priorityClassName
1335 priorityClassName: ""
1337 # -- Enables external API request logging
1339 # -- Enables Server access logging
1342 # possible encodings are console and json
1348 # -- Application port
1351 # -- Enables he BlockReport feature
1353 # -- Watches for Kyverno Events in the configured namespace
1354 # leave blank to watch in all namespaces
1355 eventNamespace: default
1356 # -- Used value for the source field in the created (Cluster)PolicyReports
1357 source: Kyverno Event
1359 # -- Max items per PolicyReport resource
1361 # -- Keep only the latest of duplicated events
1362 keepOnlyLatest: false
1364 # -- Labels for all created (Cluster)PolicyReports
1366 # -- Annotations for all created (Cluster)PolicyReports
1368 # -- Image pull secrets for image verification policies, this will define the `--imagePullSecrets` argument
1369 imagePullSecrets: []
1371 # registry: foo.example.com
1376 # -- Create ServiceAccount
1378 # -- Enable ServiceAccount automount
1380 # -- Annotations for the ServiceAccount
1382 # -- The ServiceAccount name
1384 # -- Additional annotations to add to each pod
1386 # -- Additional labels to add to each pod
1388 # -- Custom selector labels, overwrites the default set
1390 # -- Deployment update strategy.
1391 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1395 # maxUnavailable: 40%
1396 # type: RollingUpdate
1398 # -- The number of revisions to keep
1399 revisionHistoryLimit: 10
1400 # -- Security context for the pod
1404 # -- Allow additional env variables to be added
1407 # -- Create RBAC resources
1413 allowPrivilegeEscalation: false
1414 readOnlyRootFilesystem: true
1419 type: RuntimeDefault
1425 # -- Service annotations.
1427 # -- Service labels.
1430 # -- Create ingress resource.
1432 # -- Ingress class name.
1434 # -- Ingress labels.
1436 # -- Ingress annotations.
1438 # kubernetes.io/ingress.class: nginx
1439 # kubernetes.io/tls-acme: "true"
1440 # -- List of ingress host configurations.
1442 # - host: chart-example.local
1445 # pathType: ImplementationSpecific
1446 # -- List of ingress TLS configurations.
1448 # - secretName: chart-example-tls
1450 # - chart-example.local
1452 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1453 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1455 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1456 # Enables Kubernetes API Server by default
1461 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1464 # -- Enable HTTPRoute resource (Gateway API alternative to Ingress)
1465 # Requires Gateway API CRDs (v1) installed in cluster
1466 # https://gateway-api.sigs.k8s.io/
1468 # -- Additional HTTPRoute labels
1470 # -- Additional HTTPRoute annotations
1472 # -- Gateway API parentRefs (list of Gateway references)
1473 # Must reference an existing Gateway resource
1475 # - name: example-gateway
1476 # namespace: gateway-system
1477 # sectionName: https
1478 # -- List of hostnames for HTTPRoute
1480 # - policy-reporter-kyverno-plugin.example.com
1481 # -- HTTPRoute rules configuration
1482 # Allows advanced routing with matches and filters
1490 # - type: RequestHeaderModifier
1491 # requestHeaderModifier:
1493 # - name: X-Custom-Header
1495 # Optional timeouts configuration:
1498 # backendRequest: 30s
1499 # -- Resource constraints
1508 # required for HA mode
1509 # if "blockReports" is disabled, leaderElection is also disabled automatically
1510 # will be enabled when replicaCount > 1
1513 lockName: kyverno-plugin
1514 # -- Released lock when the run context is cancelled.
1515 releaseOnCancel: true
1516 # -- LeaseDuration is the duration that non-leader candidates will wait to force acquire leadership.
1518 # -- RenewDeadline is the duration that the acting master will retry refreshing leadership before giving up.
1520 # -- RetryPeriod is the duration the LeaderElector clients should wait between tries of actions.
1522 # enabled if replicaCount > 1
1523 podDisruptionBudget:
1524 # -- Configures the minimum available pods for kyvernoPlugin disruptions.
1525 # Cannot be used if `maxUnavailable` is set.
1527 # -- Configures the maximum unavailable pods for kyvernoPlugin disruptions.
1528 # Cannot be used if `minAvailable` is set.
1530 # -- Node labels for pod assignment
1532 # -- List of node taints to tolerate
1534 # -- Affinity constraints.
1536 # -- Pod Topology Spread Constraints for the kyverno plugin.
1537 topologySpreadConstraints: {}
1539 # -- Deployment volumeMounts
1541 # -- Deployment values
1543 # -- Extra configuration options appended to kyverno plugin settings
1546 # -- (bool) Enable Trivy Operator Plugin
1549 # -- (string) Image registry
1551 # -- (string) Image repository
1552 repository: scratch-images/test-tmp/kyverno-policy-reporter-plugin-trivy-fips
1553 # -- (string) Image PullPolicy
1554 pullPolicy: IfNotPresent
1555 # -- (string) Image tag
1556 # Defaults to `Chart.AppVersion` if omitted
1557 tag: 0.5.1-r0@sha256:e46223a73eee6e5d33a3c73b72a4cfcdc6fb636ee963575043aa4eb34cef6223
1560 # -- (string) Image registry
1562 # -- (string) Image repository
1563 repository: scratch-images/test-tmp/trivy-fips
1564 # -- (string) Image PullPolicy
1565 pullPolicy: IfNotPresent
1566 # -- (string) Image tag
1567 # Defaults to `Chart.AppVersion` if omitted
1568 tag: 0.74.0-r4@sha256:9500b1ce4c1f54981e3775110ca158dd14aa7f1ee747be35f874c1dbeccece64
1569 # -- Additional container args.
1572 # -- (bool) disable external CVEAWG API calls.
1575 # -- (bool) disable GitHub API calls.
1577 # -- (string) optional github token for authenticated GitHub API calls.
1579 # -- If set the volume for dbVolume is freely configurable below "- name: dbVolume". If no value is set an emptyDir is used.
1584 # -- If set the volume for tmpVolume is freely configurable below "- name: tmpVolume". If no value is set an emptyDir is used.
1589 # -- Deployment replica count
1591 # -- Deployment priorityClassName
1592 priorityClassName: ""
1594 # -- Enables external API request logging
1596 # -- Enables Server access logging
1599 # possible encodings are console and json
1605 # -- Application port
1608 # -- Skip TLS Verification
1610 # -- TLS Certificate file path
1612 # -- Secret to read the API configuration from
1613 # supports `host`, `certificate`, `skipTLS`, `username`, `password` key
1615 # -- Image pull secrets for image verification policies, this will define the `--imagePullSecrets` argument
1616 imagePullSecrets: []
1618 # registry: foo.example.com
1623 # -- Create ServiceAccount
1625 # -- Enable ServiceAccount automount
1627 # -- Annotations for the ServiceAccount
1629 # -- The ServiceAccount name
1631 # -- Additional annotations to add to each pod
1633 # -- Additional labels to add to each pod
1635 # -- Custom selector labels, overwrites the default set
1637 # -- Deployment update strategy.
1638 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1642 # maxUnavailable: 40%
1643 # type: RollingUpdate
1645 # -- The number of revisions to keep
1646 revisionHistoryLimit: 10
1647 # -- Security context for the pod
1651 # -- Deployment livenessProbe for policy-reporter-trivy-plugin
1655 path: /vulnr/v1/policies
1657 # -- Deployment readinessProbe for policy-reporter-trivy-plugin
1661 path: /vulnr/v1/policies
1663 # -- Allow additional env variables to be added
1666 # -- Create RBAC resources
1672 allowPrivilegeEscalation: false
1673 readOnlyRootFilesystem: true
1678 type: RuntimeDefault
1684 # -- Service annotations.
1686 # -- Service labels.
1689 # -- Create ingress resource.
1691 # -- Ingress class name.
1693 # -- Ingress labels.
1695 # -- Ingress annotations.
1697 # kubernetes.io/ingress.class: nginx
1698 # kubernetes.io/tls-acme: "true"
1699 # -- List of ingress host configurations.
1701 # - host: chart-example.local
1704 # pathType: ImplementationSpecific
1705 # -- List of ingress TLS configurations.
1707 # - secretName: chart-example-tls
1709 # - chart-example.local
1711 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1712 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1714 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1715 # Enables Kubernetes API Server by default
1720 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1722 # -- Resource constraints
1731 # enabled if replicaCount > 1
1732 podDisruptionBudget:
1733 # -- Configures the minimum available pods for kyvernoPlugin disruptions.
1734 # Cannot be used if `maxUnavailable` is set.
1736 # -- Configures the maximum unavailable pods for kyvernoPlugin disruptions.
1737 # Cannot be used if `minAvailable` is set.
1739 # -- Node labels for pod assignment
1741 # -- List of node taints to tolerate
1743 # -- Affinity constraints.
1745 # -- Pod Topology Spread Constraints for the trivy plugin.
1746 topologySpreadConstraints: {}
1748 # -- Deployment volumeMounts
1750 # -- Deployment values
1752 # -- Extra configuration options appended to trivy plugin settings
1755 # -- Enables the Prometheus Operator integration
1757 # -- Key/value pairs that are attached to all resources.
1761 # -- HonorLabels chooses the metrics labels on collisions with target labels
1763 # -- Allow to override the namespace for serviceMonitor
1765 # -- Labels to match the serviceMonitorSelector of the Prometheus Resource
1767 # -- ServiceMonitor Relabelings
1768 # https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1770 # -- See serviceMonitor.relabelings
1771 metricRelabelings: []
1772 # -- (optional) NamespaceSelector
1773 namespaceSelector: {}
1774 # -- (optional) ScrapeTimeout
1776 # -- (optional) Scrape interval
1778 # -- Is TLS required for endpoint
1780 # -- TLS Configuration for endpoint
1783 # -- Naamespace for configMap of grafana dashboards
1786 # -- Enable the deployment of grafana dashboards
1788 # -- Label to find dashboards using the k8s sidecar
1789 label: grafana_dashboard
1790 # -- Label value to find dashboards using the k8s sidecar
1792 # -- List of custom label filter
1793 # Used to add filter for report label based metric labels defined in custom mode
1796 # -- Enable cluster filter in all dashboards
1798 # -- Metric Label which is used to filter clusters
1801 # -- Enable the Overview Dashboard
1803 # -- Enable the PolicyReport Dashboard
1804 policyReportDetails: true
1805 # -- Enable the ClusterPolicyReport Dashboard
1806 clusterPolicyReportDetails: true
1808 # -- Annotation to enable folder storage using the k8s sidecar
1809 annotation: grafana_folder
1810 # -- Grafana folder in which to store the dashboards
1811 name: Policy Reporter
1813 # -- Grafana Datasource Label
1815 # -- Grafana Datasource PluginId
1816 pluginId: prometheus
1817 # -- Grafana Datasource PluginName
1818 pluginName: Prometheus
1820 # -- Create GrafanaDashboard custom resource referencing to the configMap.
1821 # according to https://grafana-operator.github.io/grafana-operator/docs/examples/dashboard_from_configmap/readme/
1823 # -- Dashboard folder
1825 # -- Allow cross Namespace import
1826 allowCrossNamespaceImport: true
1827 # -- Label match selector
1829 dashboards: "grafana"
1830 # Customize the Grafana PolicyReport Dashboard
1831 policyReportDetails:
1852 # Customize the Grafana ClusterPolicyReport Dashboard
1853 clusterPolicyReportDetails:
1871 # Customize the Grafana Overview Dashboard
1872 policyReportOverview:
1877 failingPolicyRuleTable:
1879 failingClusterPolicyRuleTable:
1881# -- list of extra manifests
1883# -- Extra configuration options appended to core policy reporter