Skip to content
Cloud & Infrastructure
Skill

/whizard-notification

Use when working with WizTelemetry Notification extension for KubeSphere, including installation, configuration, troubleshooting, notification channel setup, alert routing, and silence management.

From plugin
kubesphere
17k32 skills
Install
$ npx -y skills add kubesphere/kubesphere --skill whizard-notification --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/whizard-notification

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when working with WizTelemetry Notification extension for KubeSphere, including installation, configuration, troubleshooting, notification channel setup, alert routing, and silence management.

SKILL.md

whizard-notification.SKILL.md
name: whizard-notification
description: Use when working with WizTelemetry Notification extension for KubeSphere, including installation, configuration, troubleshooting, notification channel setup, alert routing, and silence management.

WizTelemetry Notification

Overview

WizTelemetry Notification is the notification component of the KubeSphere observability platform. It receives alerts, cloud events, and audit logs in a multi-tenant Kubernetes environment and distributes notifications to different channels based on tenant labels (e.g., namespace).

Architecture

┌──────────────────────────────────────────────────────────────────────────────┐
│                             Alertmanager                                     │
│      Prometheus  ──▶ metrics alert  ──▶ notification-manager-svc:19093       │
│      K8s Events  ──▶ events alert   ──▶ notification-manager-svc:19093       │
│      Auditing    ──▶ auditing alert ──▶ notification-manager-svc:19093       │
│      Logging     ──▶ logging alert  ──▶ notification-manager-svc:19093       │
└──────────────────────────────────────────────────────────────────────────────┘
                                    │
                    notification-manager (:19093)
                                    │
         ┌──────────────────────────┼──────────────────────────┐
         │                          │                          │
    [Silence Stage]          [Route Stage]             [Filter Stage]
         │                          │                          │
         ▼                          ▼                          ▼
 [Match Silence CRs]         [Match Router CRs]      [alertSelector filtering]
                                 │
                          [Aggregation Stage]
                                 │
                          [Notify Stage]
                                 │
         ┌────────────────────────┼────────────────────────────┐
         │                        │                            │
    Email/Slack              DingTalk/Feishu            WeChat/Webhook
         │
         ▼
  [History Webhook]
         │
         ▼
┌─────────────────────┐
│  Vector Aggregator  │
└────────┬────────────┘
         │
         │
         ▼
     OpenSearch

Components

| Component | Description | Default | |-----------|-------------|---------| | **notification-manager** | Core notification management, receives alerts, dispatches to channels | true | | **alertmanager** (v0.27.0) | Alert routing, deduplication, aggregation, silencing | true | | **alertmanager-proxy** | Alertmanager API proxy, NodePort 31093 | true | | **notification-history** | Stores sent notifications via Vector to OpenSearch | true |

Dependencies

| Dependency | Type | Required | |------------|------|----------| | **whizard-telemetry** | extension | Required | | **vector** (WizTelemetry Data Pipeline) | extension | Required only notification history is enabled | | **opensearch** | extension | Required only notification history is enabled |

CRDs

All CRDs belong to `notification.kubesphere.io/v2beta2`, scope is Cluster.

| CRD | Kind | Description | |-----|------|-------------| | `notificationmanagers.notification.kubesphere.io` | NotificationManager | Notification manager deployment spec (image, replicas, resources, sidecar, receiver config) | | `receivers.notification.kubesphere.io` | Receiver | Tenant-level notification receiver, references Config | | `configs.notification.kubesphere.io` | Config | Credential references (via Secret selectors), independent per channel | | `routers.notification.kubesphere.io` | Router | Route alerts to receivers based on label matchers | | `silences.notification.kubesphere.io` | Silence | Time-bounded silencing, supports matchers |

Supported Notification Channels (11 channels)

| Channel | Receiver Field | Config Field | Description | |---------|---------------|--------------|-------------| | Email | `spec.email` | `spec.email` | SMTP with TLS/STARTTLS support | | Slack | `spec.slack` | `spec.slack` | Slack webhook + token | | DingTalk | `spec.dingtalk` | `spec.dingtalk` | ChatBot + group conversation | | WeChat | `spec.wechat` | `spec.wechat` | ChatBot + group conversation | | Feishu | `spec.feishu` | `spec.feishu` | ChatBot + group conversation | | Webhook | `spec.webhook` | `spec.webhook` | Generic HTTP / HTTPS POST |

Config → Receiver Association Mechanism

Config (credentials) --labels--> Receiver (via label selector) --labels--> Router (route matching)
                        │
                        └── namespace for multi-tenant isolation

Config's `labels` are used by Receiver's `*ConfigSelector`. Receiver's `labels` are used by Router's `receiverSelector`.

Installation

Prerequisites

**REQUIRED: Complete all steps in order before generating InstallPlan.**

Step 1: Get Latest Version (if not provided by user)

kubectl get extensionversions -l kubesphere.io/extension-ref=whizard-notification -o jsonpath='{range .items[*]}{.spec.version}{"\n"}{end}' | sort -V | tail -1

This outputs the latest version (e.g., `2.7.0`). Note this down.

Step 2: Create InstallPlan

**CRITICAL:**

  • `metadata.name` MUST be `whizard-notification`
  • `config` field is YAML format
  • DO NOT add fields not shown in the template
  • Replace all placeholders with actual values

**Basic installation:**

apiVersion: kubesphere.io/v1alpha1
kind: InstallPlan
metadata:
  name: whizard-notification
spec:
  extension:
    name: whizard-notification
    version: <VERSION>  # From Step 1
  enabled: true
  upgradeStrategy: Manual

**Disable notification history:**

apiVersion: kubesphere.io/v1alpha1
kind: InstallPlan
metadata:
  name: whizard-notification
spec:
  extension:
    name: whizard-notification
    version: <VERSION>
  enabled: true
  upgradeStrategy: Manual
  config: |
    notification-history:
      enabled: false

**Custom index format (monthl

Read more
Ships withkubesphere

The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️

Get the whole plugin

Other skills on kubesphere.