1# -- specifies pull secrets for image repository
3# -- overrides chart name
5# -- Overrides helm-generated chart fullname
7# -- Overrides the namespace for all resources (defaults to .Release.Namespace)
10 # -- Overrides the image repository
11 repository: cgr.dev/chainguard-private/pyrra-fips
12 # -- Overrides pullpolicy
13 pullPolicy: IfNotPresent
14 # -- Overrides the image tag
15 tag: 0.10.1-r1@sha256:e0f8b7caa1b05ab98cf1e48bc6ac77324fb015c5afdc011ec0d62c8361967660
19# -- Extra args for Pyrra's API container
21# -- Extra args for Pyrra's Kubernetes container
22extraKubernetesArgs: []
23# -- Extra Volumes for the pod
29# -- Extra Volume Mounts for the container
30extraApiVolumeMounts: []
34# -- Address to expose operator metrics
35operatorMetricsAddress: ":8080"
37 # -- Specifies whether a service account should be created
39 # -- Annotations to add to the service account
41 # -- The name of the service account to use, if not set and create is true, a name is generated using the fullname template
43 # -- Whether pods running as this service account automatically mount the service account token, disabled by default; the pod mounts the token explicitly via `automountServiceAccountToken`.
44 automountServiceAccountToken: false
45# -- Whether to automount the service account token in the pod, enabled by default because Pyrra's kubernetes container requires Kubernetes API access.
46automountServiceAccountToken: true
47# -- additional annotations for pod
49# -- additional labels for pod
51# -- security context for pod
56# -- security context for each container
58 allowPrivilegeEscalation: false
62 readOnlyRootFilesystem: true
63# -- URL to prometheus instance with metrics
64prometheusUrl: http://prometheus-operated.monitoring.svc.cluster.local:9090
65# -- URL to public-facing prometheus UI in case it differs from prometheusUrl
66prometheusExternalUrl: ""
67# -- HTTP basic auth username for querying Prometheus
68prometheusBasicAuthUsername: ""
69# -- Path to a bearer token file for querying Prometheus. Mount the file via extraApiVolumes/extraApiVolumeMounts. For the basic auth password, use extraApiArgs, since Pyrra only accepts it as a plain flag value.
70prometheusBearerTokenPath: ""
71# -- Mimir tenant ID (X-Scope-OrgID) the API container sends when querying Prometheus behind Mimir
74 # -- URL to the Mimir API. When set, the operator provisions recording rules via the Mimir Ruler
75 # instead of creating PrometheusRule resources. This single key gates the whole Mimir integration —
76 # there is no separate `enabled` flag. Note that Pyrra checks the connection on startup and exits
77 # if Mimir is unreachable, so the operator will CrashLoopBackOff on a wrong URL.
79 # -- Prefix of the Prometheus API in Mimir
80 prometheusPrefix: prometheus
81 # -- Mimir deployment mode. One of `standalone`, `distributed`.
82 deploymentMode: standalone
83 # -- Provision alerting rules to the Mimir Ruler as well, in addition to recording rules
84 writeAlertingRules: false
85 # -- Mimir tenant ID (X-Scope-OrgID) the operator sends when provisioning rules. Falls back to
86 # `mimirOrgId` when empty, since query and provisioning usually target the same tenant.
89 # -- HTTP basic auth username for the Mimir API
91 # -- HTTP basic auth password for the Mimir API. The chart renders it into a
92 # `<fullname>-mimir-basic-auth` Secret rather than into the pod spec, but the value still passes
93 # through `values.yaml` and the Helm release. Prefer `existingSecret` in production.
95 # -- Name of an existing Secret holding the Mimir basic auth password, so the value never passes
96 # through Helm at all. Mutually exclusive with `password`.
98 # -- Key inside `existingSecret` holding the password. Only applies to `existingSecret`; the
99 # chart-rendered Secret always uses the key `mimir-basic-auth-password`.
100 existingSecretKey: mimir-basic-auth-password
101# -- URL to redirect users to the Grafana Explore page instead of Prometheus. Mutually exclusive with prometheusExternalUrl.
102grafanaExternalUrl: ""
103# -- Grafana Explore organization ID. Pyrra defaults to "1" when unset.
104grafanaExternalOrgId: ""
105# -- Grafana Explore Prometheus datasource ID. Required when grafanaExternalUrl is set.
106grafanaExternalDatasourceId: ""
107# -- URL under which the pyrra web server is serving content. this can be set when running behind a reverse proxy.
108# Must start with a slash and not end with a slash.
110# -- Public-facing URL of the Pyrra UI. When set, the operator adds a pyrra_url annotation with a direct link to the SLO to every generated alert.
113 # -- Annotations to add to the service
115 # -- service type for server
117 # -- service port for server
119 # -- service nodePort to expose
120 # node port for HTTP, choose port between <30000-32767>
122 # -- service port for operator metrics
123 operatorMetricsPort: 8080
124 # -- IP family policy for the service.
125 # Supported values: SingleStack, PreferDualStack, RequireDualStack.
126 # Leave empty to use the Kubernetes cluster default.
128 # -- Ordered list of IP families assigned to the service.
129 # Supported values: IPv4, IPv6.
130 # When using dual-stack, the first entry becomes the primary IP family.
131 # Leave empty to use the Kubernetes cluster default.
134 # -- enables ingress for server UI
136 # -- specifies ingress class name (ie nginx)
138 # -- additional annotations for ingress
140 # kubernetes.io/ingress.class: nginx
141 # kubernetes.io/tls-acme: "true"
143 - host: chart-example.local
146 pathType: ImplementationSpecific
148 # - secretName: chart-example-tls
150 # - chart-example.local
151# -- Gateway API HTTPRoute configuration. Supports multiple named routes.
154 # -- enables HTTPRoute for server UI
156 # -- Gateway API version
157 apiVersion: gateway.networking.k8s.io/v1
158 # -- Route kind (HTTPRoute or GRPCRoute)
160 # -- additional annotations for the route
162 # -- additional labels for the route
164 # -- hostnames to match for this route
166 # -- parentRefs defines which Gateways this route attaches to
168 # -- path/header match conditions
173 # -- request/response filter configuration
175 # -- timeout configuration
177 # -- additional custom rules prepended to the route rules
179 # -- redirect all traffic to HTTPS (301)
181# -- resource limits and requests for server pod
188# -- resize policy for the server container (requires Kubernetes 1.27+ with InPlacePodVerticalScaling feature gate)
191# restartPolicy: NotRequired
192# - resourceName: memory
193# restartPolicy: RestartContainer
195# -- All settings related to the "operator" kubernetes container
197 # -- resource limits and requests
204 # -- resize policy for the operator container (requires Kubernetes 1.27+ with InPlacePodVerticalScaling feature gate)
206 # - resourceName: cpu
207 # restartPolicy: NotRequired
208 # - resourceName: memory
209 # restartPolicy: RestartContainer
211 # -- enables leader election for the operator (required when running multiple replicas)
213 # -- namespace where the leader election lease resource will be created (defaults to release namespace)
215# -- node selector for scheduling server pod
217# -- tolerations for scheduling server pod
220 # -- enables servicemonitor for server monitoring
222 # -- Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator
224 # -- provides the possibility to override the jobName if needed
226 # -- Set interval for scraping metrics
228 # -- Set metric relabelings for the ServiceMonitor
229 metricRelabelings: []
230 # -- Set relabelings for the ServiceMonitor
232serviceMonitorOperator:
233 # -- enables servicemonitor for operator monitoring
235 # -- Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator
237 # -- provides the possibility to override the jobName if needed
239 # -- Set interval for scraping metrics
241 # -- Set metric relabelings for the ServiceMonitor
242 metricRelabelings: []
243 # -- Set relabelings for the ServiceMonitor
246 # -- enables creation of PrometheusRules to monitor Pyrra
248 # -- Set labels that will be applied on all PrometheusRules (alerts)
250 pyrraReconciliationError:
251 # -- Set severity for PyrraReconciliationError alert
254 # -- enables generate Pyrra generic recording rules. Pyrra generates metrics with the same name for each SLO.
256validatingWebhookConfiguration:
257 # -- enables admission webhook for server to validate SLOs, this requires cert-manager to be installed
259 # -- 'Fail' or 'Ignore' are valid values
262 # -- enables Grafana dashboards being deployed via configmap
265 # -- default value from the Grafana chart
266 label: grafana_dashboard
267 # -- default value from the Grafana chart
271# -- Extra Kubernetes objects to deploy with the chart. Supports a list (or map) of manifests, each entry either a YAML map or a templated string rendered with tpl.
276# name: '{{ include "pyrra.fullname" . }}-extra'
283# name: {{ include "pyrra.fullname" . }}-secret