create_alert
Create an alert definition: a named alert with one or more rules the platform evaluates every minute. Use this when asked to create, add or set up an alert on Ankra (an Alertmanager silence is create_alertmanager_silence instead). Before calling: list_alerts to avoid a duplicate name (names are unique per organisation), list_clusters for cluster ids, and list_alert_destinations if integration_names will be set. Each rule targets resource_type 'cluster' (cluster health) or 'cluster_resource' (the stacks, addons, manifests and GitOps repositories on a cluster; cluster_resource_types is then required), is scoped by cluster_ids, environments or all_clusters=true (a rule naming none targets the chat's bound cluster), and carries a severity (critical/warning/info, default warning) and cooldown_minutes between re-fires (default 15). Condition vocabulary, by resource_type. cluster: cluster_state (condition_value offline|online, operator eq|neq); gitops_sync (failing|degraded|healthy, eq|neq); metric_threshold (condition_value is the metric key: cpu_utilisation_pct, memory_utilisation_pct, disk_utilisation_pct (cluster-wide average), node_disk_utilisation_max_pct (fullest node), pod_restarts_15m, oom_kills_15m, nodes_not_ready, nodes_disk_pressure (nodes with the kubelet DiskPressure condition), pods_pending, pods_failed (pods in phase Failed, which is where kubelet evictions land); operator gt|gte|lt|lte|eq|neq against threshold_value); metric_absence (condition_value may be omitted - it is fixed to platform_metrics; fires when the cluster has shipped no platform metrics for more than threshold_value minutes); security_findings (condition_value is the posture metric: critical, high, severe, fixable_critical, fixable_high, new_severe_cves, new_kev_cves, kev, risk_score; compared against threshold_value). cluster_resource: resource_state (all_up|up|creating|updating|stopping|down) and job_status (failed|timeout|running|success|pending|blocked|cancelled|cancelling), both eq|neq. Conditions within one rule combine with logical_operator AND (default) or OR. Any other condition type, value or operator is refused rather than stored, because the evaluator would never fire it and the alert would sit dead while reading as configured. Firings notify through the organisation's notification routes (list_notification_routes); integration_names additionally wires the alert directly to named destinations from list_alert_destinations, and an unknown name is refused. The alert is created enabled unless enabled=false. Reversible with delete_alert; to quieten it later prefer set_alert_enabled.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Alert name, unique within the organisation (at most 100 characters). | |
| rules | Yes | The rules evaluated for this alert; the alert fires when any rule's conditions are met. | |
| enabled | No | false creates the alert muted. Default true. | |
| description | No | What the alert watches and why (at most 500 characters). | |
| integration_names | No | Names of existing alert destinations (list_alert_destinations) to notify directly, in addition to the organisation's notification routes. An unknown name is refused. |