list.json•21.3 kB
{
"type": "page",
"body": [
{
"type": "alert",
"level": "success",
"body": "<div class='alert alert-info'><p><strong>k8s Event 事件转发 到 Webhook</strong></p><p>1 仅转发 <code>Warning</code> 类型事件 2 命名空间精确匹配 3 资源名称包含匹配 4 原因关键字匹配 <code>Reason</code>/<code>Message</code> 5 可使用反选匹配</p></div>"
},
{
"type": "crud",
"id": "eventConfigCRUD",
"name": "eventConfigCRUD",
"autoFillHeight": true,
"autoGenerateFilter": {
"columnsNum": 4,
"showBtnToolbar": false
},
"headerToolbar": [
{
"type": "button",
"icon": "fas fa-plus text-primary",
"actionType": "drawer",
"label": "新建事件转发配置",
"drawer": {
"closeOnEsc": true,
"closeOnOutside": true,
"title": "新建事件转发配置 (ESC 关闭)",
"body": {
"type": "form",
"api": "post:/admin/event/save",
"body": [
{
"type": "input-text",
"name": "name",
"label": "名称",
"required": true,
"placeholder": "请输入配置名称",
"validateOnChange": true,
"validations": {
"minLength": 2,
"maxLength": 50
},
"validationErrors": {
"minLength": "名称至少 2 个字符",
"maxLength": "名称最多 50 个字符"
}
},
{
"type": "input-text",
"name": "description",
"label": "描述",
"placeholder": "请输入描述信息"
},
{
"type": "select",
"name": "clusters",
"label": "目标集群",
"multiple": true,
"source": "/params/cluster/option_list",
"labelField": "label",
"valueField": "value",
"placeholder": "请选择目标集群"
},
{
"type": "select",
"name": "webhooks",
"label": "Webhook",
"multiple": true,
"source": "/admin/inspection/webhook/option_list",
"labelField": "label",
"valueField": "value",
"placeholder": "请选择目标Webhook"
},
{
"type": "switch",
"name": "enabled",
"label": "是否启用",
"onText": "启用",
"offText": "禁用",
"value": true
},
{
"type": "divider",
"title": "事件规则过滤"
},
{
"type": "input-text",
"name": "rule_namespaces",
"label": "命名空间",
"delimiter": ",",
"joinValues": true,
"placeholder": "命名空间,精确匹配,多个逗号分割"
},
{
"type": "input-text",
"name": "rule_names",
"label": "资源名称",
"delimiter": ",",
"joinValues": true,
"placeholder": "名称关键字,包含匹配,多个逗号分割"
},
{
"type": "input-text",
"name": "rule_reasons",
"label": "事件原因",
"delimiter": ",",
"joinValues": true,
"placeholder": "事件关键字,包含匹配,多个逗号分割"
},
{
"type": "switch",
"name": "rule_reverse",
"label": "反选匹配",
"onText": "反选",
"offText": "正常",
"value": false,
"description": "开启后将对上述过滤条件进行反选"
},
{
"type": "divider",
"title": "AI总结配置"
},
{
"type": "switch",
"name": "ai_enabled",
"label": "启用AI总结",
"onText": "启用",
"offText": "禁用",
"value": false,
"description": "开启后将在事件处理时自动生成AI总结"
},
{
"type": "editor",
"name": "ai_prompt_template",
"label": "AI提示词模板",
"language": "text",
"value": "请先输出统计数据(含集群名称、规则名称、数量等基本信息)\n再逐条列出关键错误信息\n附加简单的分析\n总体不超过300字",
"description": "以上填写的prompt将作为附加要求。内置基本要求:1、仅做汇总,不要解释。2、不需要解决方案。3、可以合理使用表情符号。",
"visibleOn": "${ai_enabled}",
"validations": {
"maxLength": 2000
},
"validationErrors": {
"maxLength": "提示词模板最多 2000 个字符"
}
}
],
"submitText": "保存",
"resetText": "重置",
"messages": {
"saveSuccess": "保存成功",
"saveFailed": "保存失败"
},
"onEvent": {
"submitSucc": {
"actions": [
{
"actionType": "reload",
"componentId": "eventConfigCRUD"
},
{
"actionType": "closeDrawer"
}
]
}
}
}
}
},
"reload",
"bulkActions"
],
"loadDataOnce": false,
"syncLocation": false,
"initFetch": true,
"perPage": 10,
"bulkActions": [
{
"label": "批量删除",
"actionType": "ajax",
"confirmText": "确定要批量删除?",
"api": "post:/admin/event/delete/${ids}"
}
],
"footerToolbar": [
{
"type": "pagination",
"align": "right"
},
{
"type": "statistics",
"align": "right"
},
{
"type": "switch-per-page",
"align": "right"
}
],
"api": "get:/admin/event/list",
"quickSaveItemApi": "/admin/event/save/id/${id}/status/${enabled}",
"columns": [
{
"type": "operation",
"label": "操作",
"width": 130,
"buttons": [
{
"type": "button",
"icon": "fas fa-edit text-primary",
"actionType": "drawer",
"tooltip": "编辑配置",
"drawer": {
"closeOnEsc": true,
"closeOnOutside": true,
"title": "编辑事件转发配置 (ESC 关闭)",
"body": {
"type": "form",
"api": "post:/admin/event/save",
"body": [
{
"type": "hidden",
"name": "id"
},
{
"type": "input-text",
"name": "name",
"label": "名称",
"required": true,
"placeholder": "请输入名称",
"validateOnChange": true,
"validations": {
"minLength": 2,
"maxLength": 50
},
"validationErrors": {
"minLength": "名称至少 2 个字符",
"maxLength": "名称最多 50 个字符"
}
},
{
"type": "input-text",
"name": "description",
"label": "描述",
"placeholder": "请输入描述"
},
{
"type": "select",
"name": "clusters",
"label": "目标集群",
"multiple": true,
"source": "/params/cluster/option_list",
"labelField": "label",
"valueField": "value",
"placeholder": "请选择目标集群"
},
{
"type": "select",
"name": "webhooks",
"label": "Webhook",
"multiple": true,
"source": "/admin/inspection/webhook/option_list",
"labelField": "label",
"valueField": "value",
"placeholder": "请选择目标Webhook"
},
{
"type": "switch",
"name": "enabled",
"label": "是否启用",
"onText": "启用",
"offText": "禁用"
},
{
"type": "divider",
"title": "事件规则过滤"
},
{
"type": "input-text",
"name": "rule_namespaces",
"label": "命名空间",
"delimiter": ",",
"joinValues": true,
"placeholder": "命名空间,精确匹配,多个逗号分割"
},
{
"type": "input-text",
"name": "rule_names",
"label": "资源名称",
"delimiter": ",",
"joinValues": true,
"placeholder": "名称关键字,包含匹配,多个逗号分割"
},
{
"type": "input-text",
"name": "rule_reasons",
"label": "事件原因",
"delimiter": ",",
"joinValues": true,
"placeholder": "事件关键字,包含匹配,多个逗号分割"
},
{
"type": "switch",
"name": "rule_reverse",
"label": "反选匹配",
"onText": "反选",
"offText": "正常"
},
{
"type": "divider",
"title": "AI总结配置"
},
{
"type": "switch",
"name": "ai_enabled",
"label": "启用AI总结",
"onText": "启用",
"offText": "禁用"
},
{
"type": "editor",
"name": "ai_prompt_template",
"label": "AI提示词模板",
"language": "text",
"description": "以上填写的prompt将作为附加要求。内置基本要求:1、仅做汇总,不要解释。2、不需要解决方案。3、可以合理使用表情符号。",
"visibleOn": "${ai_enabled}",
"validations": {
"maxLength": 2000
},
"validationErrors": {
"maxLength": "提示词模板最多 2000 个字符"
}
}
],
"submitText": "保存",
"resetText": "重置",
"messages": {
"saveSuccess": "保存成功",
"saveFailed": "保存失败"
},
"onEvent": {
"submitSucc": {
"actions": [
{
"actionType": "reload",
"componentId": "eventConfigCRUD"
},
{
"actionType": "closeDrawer"
}
]
}
}
}
}
}
]
},
{
"name": "id",
"label": "ID",
"type": "text",
"width": 60
},
{
"name": "name",
"label": "名称",
"type": "text",
"width": 180
},
{
"name": "clusters",
"label": "目标集群",
"type": "tpl",
"tpl": "${clusters | split:','}"
},
{
"name": "webhook_names",
"label": "Webhook",
"type": "tpl",
"tpl": "${webhook_names | split:','}"
},
{
"name": "ai_enabled",
"label": "AI总结",
"type": "mapping",
"map": {
"true": "<span class='label label-success'>启用</span>",
"false": "<span class='label label-danger'>关闭</span>"
}
},
{
"name": "enabled",
"label": "启用",
"quickEdit": {
"mode": "inline",
"type": "switch",
"onText": "开启",
"offText": "关闭",
"saveImmediately": true,
"resetOnFailed": true
}
},
{
"name": "created_at",
"label": "创建时间",
"type": "datetime"
},
{
"name": "updated_at",
"label": "更新时间",
"type": "datetime"
}
]
}
]
}