You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+13-3Lines changed: 13 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,13 +8,23 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
9
9
## [Unreleased]
10
10
11
-
## [0.13.1] - 2026-02-05
11
+
## [0.14.0] - 2026-02-05
12
12
13
-
[Compare with previous version](https://github.com/sparkfabrik/terraform-google-services-monitoring/compare/0.13.0...0.13.1)
13
+
[Compare with previous version](https://github.com/sparkfabrik/terraform-google-services-monitoring/compare/0.13.0...0.14.0)
14
+
15
+
### Breaking change
16
+
17
+
-**Kyverno log matching now uses `jsonPayload.message` instead of `jsonPayload.error`**. This provides more precise control over which log messages trigger alerts. The default patterns have been updated to match message-based patterns (e.g., `"failed to list resources"`, `"failed to start watcher"`). Error-detail patterns like `"is forbidden"`, `"context deadline exceeded"`, `"timeout"` have been removed as they appear in the `error` field, not the `message` field.
14
18
15
19
### Changed
16
20
17
-
- Extend `error_patterns_exclude` behavior: excluded patterns now also generate `NOT jsonPayload.message=~"pattern"` conditions, allowing exclusion of logs where the pattern appears in the message field (not just the error field).
21
+
- Update Kyverno default patterns to message-based matching:
22
+
-`"failed to list resources"`, `"failed to watch resource"`, `"failed to start watcher"`,
23
+
-`"failed to sync"`, `"failed to run warmup"`, `"failed to load certificate"`,
24
+
-`"failed to update lock"`, `"failed to process request"`, `"failed to check permissions"`,
25
+
-`"failed to create"`, `"failed to update"`, `"failed to get"`, `"failed to scan"`,
26
+
-`"failed to fetch"`, `"failed to substitute"`, `"failed calling webhook"`,
| <aname="input_konnectivity_agent"></a> [konnectivity\_agent](#input\_konnectivity\_agent)| Configuration for Konnectivity agent deployment replica alert in GKE. Triggers when there are no available replicas. | <pre>object({<br/> enabled = optional(bool, true)<br/> cluster_name = optional(string, null)<br/> project_id = optional(string, null)<br/> namespace = optional(string, "kube-system")<br/> deployment_name = optional(string, "konnectivity-agent")<br/> duration_seconds = optional(number, 60)<br/> auto_close_seconds = optional(number, 3600)<br/> notification_enabled = optional(bool, true)<br/> notification_channels = optional(list(string), [])<br/> notification_prompts = optional(list(string), null)<br/> })</pre> |`{}`| no |
59
-
| <a name="input_kyverno"></a> [kyverno](#input\_kyverno) | Configuration for Kyverno monitoring alerts. Allows customization of cluster name, project, notification channels, alert documentation, metric thresholds, auto-close timing, enablement, error pattern inclusions/exclusions for jsonPayload.error matching, and namespace. | <pre>object({<br/> enabled = optional(bool, true)<br/> cluster_name = optional(string, null)<br/> project_id = optional(string, null)<br/> notification_enabled = optional(bool, true)<br/> notification_channels = optional(list(string), [])<br/> # Rate limit for notifications, e.g. "300s" for 5 minutes, used only for log match alerts<br/> logmatch_notification_rate_limit = optional(string, "300s")<br/> alert_documentation = optional(string, null)<br/> auto_close_seconds = optional(number, 3600)<br/> namespace = optional(string, "kyverno")<br/> # List of error patterns to exclude from the default set.<br/> # Default patterns available for exclusion:<br/> # "internal error", "failed calling webhook", "timeout", "client-side throttling",<br/> # "failed to run warmup", "schema not found", "failed to list resources",<br/> # "failed to watch resource", "context deadline exceeded", "is forbidden",<br/> # "cannot list resource", "cannot watch resource", "RBAC.*denied",<br/> # "failed to start watcher", "leader election lost", "unable to update .*WebhookConfiguration",<br/> # "failed to sync", "dropping request", "failed to load certificate",<br/> # "failed to update lock", "the object has been modified", "no matches for kind",<br/> # "the server could not find the requested resource", "Too Many Requests", "x509",<br/> # "is invalid:", "connection refused", "no agent available", "fatal error", "panic"<br/> error_patterns_exclude = optional(list(string), [])<br/> # List of additional regex error patterns to include (added to default set)<br/> # e.g. ["my custom.*error", "failed to connect.*database"]<br/> error_patterns_include = optional(list(string), [])<br/> })</pre> | `{}` | no |
59
+
| <a name="input_kyverno"></a> [kyverno](#input\_kyverno) | Configuration for Kyverno monitoring alerts. Allows customization of cluster name, project, notification channels, alert documentation, metric thresholds, auto-close timing, enablement, message pattern inclusions/exclusions for jsonPayload.message matching, and namespace. | <pre>object({<br/> enabled = optional(bool, true)<br/> cluster_name = optional(string, null)<br/> project_id = optional(string, null)<br/> notification_enabled = optional(bool, true)<br/> notification_channels = optional(list(string), [])<br/> # Rate limit for notifications, e.g. "300s" for 5 minutes, used only for log match alerts<br/> logmatch_notification_rate_limit = optional(string, "300s")<br/> alert_documentation = optional(string, null)<br/> auto_close_seconds = optional(number, 3600)<br/> namespace = optional(string, "kyverno")<br/> # List of message patterns to exclude from the default set (matches against jsonPayload.message).<br/> # Default patterns available for exclusion:<br/> # "failed to list resources", "failed to watch resource", "failed to start watcher",<br/> # "failed to sync", "failed to run warmup", "failed to load certificate",<br/> # "failed to update lock", "failed to process request", "failed to check permissions",<br/> # "failed to create", "failed to update", "failed to get", "failed to scan",<br/> # "failed to fetch", "failed to substitute", "failed calling webhook",<br/> # "leader election lost", "dropping request", "panic"<br/> error_patterns_exclude = optional(list(string), [])<br/> # List of additional regex message patterns to include (added to default set)<br/> # e.g. ["failed to update lease", "failed to connect.*"]<br/> error_patterns_include = optional(list(string), [])<br/> })</pre> | `{}` | no |
| <aname="input_notification_channels"></a> [notification\_channels](#input\_notification\_channels)| List of notification channel IDs to notify when an alert is triggered |`list(string)`|`[]`| no |
62
62
| <aname="input_project_id"></a> [project\_id](#input\_project\_id)| The Google Cloud project ID where logging exclusions will be created |`string`| n/a | yes |
0 commit comments