Files
aiops/backend/static/assets/KubernetesClusters-DD7SeVKO.js
T
Logan.Li 025e74ff4d feat(k8s): Deployment 存储挂载改 Kuboard 一卷一卡布局
每张数据卷同屏展示卷定义与容器挂载(容器/只读读写/路径/subPath)。
2026-06-26 15:00:09 +08:00

11 lines
64 KiB
JavaScript

import{r as n,j as e}from"./vendor-codemirror-C7mXSpXt.js";import{B as T,M as ae,J as _e,v as Re,r as ce,R as Pe,s as $,w as X,N as Te,x as H,P as Ee,y as Ae,m as E,D as oe,a as le,b as Me,c as ue,d as de,e as Ie,t as I,o as Fe,a9 as Ge,aa as Oe,ab as Be,ac as Le,ad as Q,ae as F}from"./index-LZWfu62c.js";import{C as G,b as U,c as z,d as ie,a as O}from"./card-B-RtdR4H.js";import{I as L}from"./input-BdDauX3U.js";import{B as y}from"./badge-B0F5ZNtn.js";import{k as w}from"./index-Z0O8nAcG.js";import{T as Ue,a as ze,b as A,c as M}from"./tabs-kmtfM2I-.js";import{i as xe,a as pe,aG as $e,r as We,L as Ve,an as qe,ao as He,X as Xe,R as q,P as Je,S as Ye,aP as Ze,x as Qe,p as et,k as tt,v as st,T as rt,l as nt,y as at}from"./vendor-icons-Aso0-eeY.js";import{R as ct,A as ot,C as lt,X as ut,Y as dt,T as it,a as ee}from"./AreaChart-Czgv4pNk.js";import{T as te}from"./textarea-BdtIagjy.js";import{L as P}from"./label-u-lNUbKh.js";import{u as xt}from"./index-CYARH0Cq.js";import{x as pt,a as mt}from"./vendor-xterm-20M9KZE1.js";function bt({cluster:a,onClose:x}){const[r,g]=n.useState([]),[s,u]=n.useState([]),[d,K]=n.useState([]),[k,C]=n.useState([]),[b,f]=n.useState([]),h=n.useMemo(()=>{if(!r||r.length===0)return{cpuPct:0,memPct:0};let t=0,i=0,m=0;for(const j of r){const D=j.cpu||0,o=j.cpu_usage_m?parseFloat(String(j.cpu_usage_m).replace("m","")):0,l=D>0?o/1e3/D*100:0,N=j.memory_mb||0,_=j.mem_usage_mi?parseFloat(String(j.mem_usage_mi).replace("Mi","").replace("Ki","")):0,V=j.mem_usage_mi?.includes?.("Ki")?_/1024:j.mem_usage_mi?.includes?.("Gi")?_*1024:_,B=N>0?V/N*100:0;(l>0||B>0)&&(t+=l,i+=B,m++)}return{cpuPct:m>0?t/m:0,memPct:m>0?i/m:0}},[r]),p=async t=>{try{const[i,m,j,D,o]=await Promise.all([w.getNodes(t).catch(()=>[]),w.getPods(t).catch(()=>[]),w.getDeployments(t).catch(()=>[]),w.getServices(t).catch(()=>[]),w.getIngresses(t).catch(()=>[])]),l=N=>Array.isArray(N)?N:N?.list||[];g(l(i)),u(l(m)),K(l(j)),C(l(D)),f(l(o))}catch(i){console.error("加载集群详情失败:",i)}};return n.useEffect(()=>{a?.id&&p(a.id)},[a?.id]),e.jsxs(G,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:81:5",className:"bg-slate-900 border-slate-800",children:[e.jsx(U,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:82:7",children:e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:83:9",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:84:11",className:"flex items-center gap-3",children:[e.jsx(xe,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:85:13",className:"h-6 w-6 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:86:13",children:[e.jsx(z,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:87:15",className:"text-slate-100",children:a.name}),e.jsxs(ie,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:88:15",className:"text-slate-500",children:[a.version," · ",a.node_count||0," 节点 · 创建于"," ",a.created_at?new Date(a.created_at).toLocaleDateString():"-"]})]})]}),e.jsxs(T,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:94:11",variant:"ghost",size:"sm",className:"text-slate-400 hover:text-slate-100",onClick:x,children:[e.jsx(pe,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:100:13",className:"h-4 w-4 mr-2"}),"关闭"]})]})}),e.jsx(O,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:105:7",children:e.jsxs(Ue,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:106:9",defaultValue:"overview",className:"w-full",children:[e.jsxs(ze,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:107:11",className:"bg-slate-800 border border-slate-700 flex-wrap h-auto",children:[e.jsx(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:108:13",value:"overview",className:"data-[state=active]:bg-slate-700",children:"概览"}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:111:13",value:"nodes",className:"data-[state=active]:bg-slate-700",children:["节点 (",r.length,")"]}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:114:13",value:"pods",className:"data-[state=active]:bg-slate-700",children:["Pod (",s.length,")"]}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:117:13",value:"deployments",className:"data-[state=active]:bg-slate-700",children:["Deployment (",d.length,")"]}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:120:13",value:"services",className:"data-[state=active]:bg-slate-700",children:["Service (",k.length,")"]}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:123:13",value:"ingresses",className:"data-[state=active]:bg-slate-700",children:["Ingress (",b.length,")"]}),e.jsx(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:126:13",value:"events",className:"data-[state=active]:bg-slate-700",children:"事件"})]}),e.jsx(M,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:131:11",value:"overview",className:"mt-4 space-y-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:132:13",className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsxs(G,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:133:15",className:"bg-slate-800/50 border-slate-700",children:[e.jsx(U,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:134:17",className:"pb-2",children:e.jsx(z,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:135:19",className:"text-sm text-slate-400",children:"资源使用趋势"})}),e.jsxs(O,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:137:17",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:138:19",className:"h-[200px]",children:e.jsx(ct,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:139:21",width:"100%",height:"100%",children:e.jsxs(ot,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:140:23",data:[{time:"CPU",cpu:Number(h.cpuPct.toFixed(1)),memory:Number(h.memPct.toFixed(1))}],children:[e.jsxs("defs",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:143:25",children:[e.jsxs("linearGradient",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:144:27",id:"colorCpu",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:145:29",offset:"5%",stopColor:"#3b82f6",stopOpacity:.3}),e.jsx("stop",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:146:29",offset:"95%",stopColor:"#3b82f6",stopOpacity:0})]}),e.jsxs("linearGradient",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:148:27",id:"colorMemory",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:149:29",offset:"5%",stopColor:"#10b981",stopOpacity:.3}),e.jsx("stop",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:150:29",offset:"95%",stopColor:"#10b981",stopOpacity:0})]})]}),e.jsx(lt,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:153:25",strokeDasharray:"3 3",stroke:"#1e293b"}),e.jsx(ut,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:154:25",dataKey:"time",stroke:"#475569",fontSize:12}),e.jsx(dt,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:155:25",stroke:"#475569",fontSize:12,domain:[0,100]}),e.jsx(it,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:156:25",contentStyle:{backgroundColor:"#0f172a",border:"1px solid #1e293b",borderRadius:"6px",color:"#f8fafc"}}),e.jsx(ee,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:164:25",type:"monotone",dataKey:"cpu",stroke:"#3b82f6",fillOpacity:1,fill:"url(#colorCpu)",name:"CPU(%)"}),e.jsx(ee,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:172:25",type:"monotone",dataKey:"memory",stroke:"#10b981",fillOpacity:1,fill:"url(#colorMemory)",name:"内存(%)"})]})})}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:183:19",className:"flex justify-center gap-6 mt-2 text-xs text-slate-400",children:[e.jsxs("span",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:184:21",children:["CPU: ",e.jsxs("span",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:184:32",className:"text-blue-400 font-bold",children:[h.cpuPct.toFixed(1),"%"]})]}),e.jsxs("span",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:185:21",children:["内存: ",e.jsxs("span",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:185:31",className:"text-emerald-400 font-bold",children:[h.memPct.toFixed(1),"%"]})]})]})]})]}),e.jsxs(G,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:190:15",className:"bg-slate-800/50 border-slate-700",children:[e.jsx(U,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:191:17",className:"pb-2",children:e.jsx(z,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:192:19",className:"text-sm text-slate-400",children:"资源分布"})}),e.jsx(O,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:194:17",children:e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:195:19",className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:196:21",className:"text-center p-4 rounded-lg bg-slate-800",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:197:23",className:"text-3xl font-bold text-blue-400",children:a.pod_count||0}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:198:23",className:"text-sm text-slate-500 mt-1",children:"Pod"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:200:21",className:"text-center p-4 rounded-lg bg-slate-800",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:201:23",className:"text-3xl font-bold text-emerald-400",children:a.service_count||0}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:202:23",className:"text-sm text-slate-500 mt-1",children:"Service"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:204:21",className:"text-center p-4 rounded-lg bg-slate-800",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:205:23",className:"text-3xl font-bold text-purple-400",children:a.deployment_count||0}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:206:23",className:"text-sm text-slate-500 mt-1",children:"Deployment"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:208:21",className:"text-center p-4 rounded-lg bg-slate-800",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:209:23",className:"text-3xl font-bold text-amber-400",children:a.node_count||0}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:210:23",className:"text-sm text-slate-500 mt-1",children:"节点"})]})]})})]})]})}),e.jsx(M,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:218:11",value:"nodes",className:"mt-4",children:e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:219:13",className:"border rounded-lg border-slate-700 overflow-hidden",children:e.jsxs("table",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:220:15",className:"w-full",children:[e.jsx("thead",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:221:17",className:"bg-slate-800",children:e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:222:19",children:[e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:223:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"名称"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:224:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"角色"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:225:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"状态"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:226:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"CPU"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:227:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"内存"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:228:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"Pod"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:229:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"操作系统"})]})}),e.jsx("tbody",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:232:17",className:"divide-y divide-slate-800",children:r.length===0?e.jsx("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:234:21",children:e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:235:23",colSpan:7,className:"px-4 py-8 text-center text-slate-500",children:"暂无节点数据"})}):r.map(t=>e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:239:21",className:"hover:bg-slate-800/50",children:[e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:240:23",className:"px-4 py-3 text-sm text-slate-200",children:t.name}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:241:23",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:242:25",variant:"outline",className:t.role==="master"?"border-purple-500/30 text-purple-400 bg-purple-500/10":"border-blue-500/30 text-blue-400 bg-blue-500/10",children:t.role==="master"?"Master":"Worker"})}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:253:23",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:254:25",variant:"outline",className:(t.status||"").toLowerCase()==="ready"?"border-emerald-500/30 text-emerald-400 bg-emerald-500/10":"border-red-500/30 text-red-400 bg-red-500/10",children:(t.status||"").toLowerCase()==="ready"?"Ready":"NotReady"})}),e.jsxs("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:265:23",className:"px-4 py-3 text-sm text-slate-300",children:[t.cpu_usage_m||"0m"," / ",t.cpu,"核"]}),e.jsxs("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:268:23",className:"px-4 py-3 text-sm text-slate-300",children:[t.mem_usage_mi||"0Mi"," / ",t.memory_mb?(t.memory_mb/1024).toFixed(0)+"GB":"-"]}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:271:23",className:"px-4 py-3 text-sm text-slate-300",children:t.max_pods??0}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:272:23",className:"px-4 py-3 text-sm text-slate-400",children:t.os})]},t.id||t.name))})]})})}),e.jsx(M,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:281:11",value:"pods",className:"mt-4",children:e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:282:13",className:"border rounded-lg border-slate-700 overflow-hidden",children:e.jsxs("table",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:283:15",className:"w-full",children:[e.jsx("thead",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:284:17",className:"bg-slate-800",children:e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:285:19",children:[e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:286:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"名称"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:287:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"命名空间"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:288:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"状态"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:289:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"重启次数"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:290:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"CPU"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:291:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"内存"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:292:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"节点"})]})}),e.jsx("tbody",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:295:17",className:"divide-y divide-slate-800",children:s.length===0?e.jsx("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:297:21",children:e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:298:23",colSpan:7,className:"px-4 py-8 text-center text-slate-500",children:"暂无Pod数据"})}):s.map(t=>e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:302:21",className:"hover:bg-slate-800/50",children:[e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:303:23",className:"px-4 py-3 text-sm text-slate-200",children:t.name}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:304:23",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:305:25",variant:"outline",className:"border-slate-700 text-slate-400",children:t.namespace})}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:309:23",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:310:25",variant:"outline",className:(t.status||"").toLowerCase()==="running"?"border-emerald-500/30 text-emerald-400 bg-emerald-500/10":(t.status||"").toLowerCase()==="pending"?"border-amber-500/30 text-amber-400 bg-amber-500/10":"border-red-500/30 text-red-400 bg-red-500/10",children:t.status})}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:323:23",className:"px-4 py-3 text-sm text-slate-300",children:t.restart_count??0}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:324:23",className:"px-4 py-3 text-sm text-slate-300",children:t.cpu_usage_m||"0m"}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:325:23",className:"px-4 py-3 text-sm text-slate-300",children:t.mem_usage_mi||"0Mi"}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:326:23",className:"px-4 py-3 text-sm text-slate-400",children:t.node_name})]},t.id||t.name))})]})})}),e.jsx(M,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:335:11",value:"deployments",className:"mt-4",children:e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:336:13",className:"border rounded-lg border-slate-700 overflow-hidden",children:e.jsxs("table",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:337:15",className:"w-full",children:[e.jsx("thead",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:338:17",className:"bg-slate-800",children:e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:339:19",children:[e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:340:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"名称"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:341:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"命名空间"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:342:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"副本数"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:343:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"可用副本"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:344:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"镜像"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:345:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"创建时间"})]})}),e.jsx("tbody",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:348:17",className:"divide-y divide-slate-800",children:d.length===0?e.jsx("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:350:21",children:e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:351:23",colSpan:6,className:"px-4 py-8 text-center text-slate-500",children:"暂无Deployment数据"})}):d.map(t=>e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:355:21",className:"hover:bg-slate-800/50",children:[e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:356:23",className:"px-4 py-3 text-sm text-slate-200",children:t.name}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:357:23",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:358:25",variant:"outline",className:"border-slate-700 text-slate-400",children:t.namespace})}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:362:23",className:"px-4 py-3 text-sm text-slate-300",children:t.replicas}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:363:23",className:"px-4 py-3",children:e.jsxs("span",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:364:25",className:`text-sm ${(t.available_replicas??t.availableReplicas)===t.replicas?"text-emerald-400":"text-amber-400"}`,children:[t.available_replicas??t.availableReplicas," / ",t.replicas]})}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:368:23",className:"px-4 py-3 text-sm text-slate-400 truncate max-w-[200px]",children:t.image}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:369:23",className:"px-4 py-3 text-sm text-slate-400",children:t.created_at||t.createdAt})]},t.id||t.name))})]})})}),e.jsx(M,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:378:11",value:"services",className:"mt-4",children:e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:379:13",className:"border rounded-lg border-slate-700 overflow-hidden",children:e.jsxs("table",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:380:15",className:"w-full",children:[e.jsx("thead",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:381:17",className:"bg-slate-800",children:e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:382:19",children:[e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:383:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"名称"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:384:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"命名空间"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:385:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"类型"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:386:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"ClusterIP"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:387:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"端口"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:388:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"Selector"})]})}),e.jsx("tbody",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:391:17",className:"divide-y divide-slate-800",children:k.length===0?e.jsx("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:393:21",children:e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:394:23",colSpan:6,className:"px-4 py-8 text-center text-slate-500",children:"暂无Service数据"})}):k.map(t=>e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:398:21",className:"hover:bg-slate-800/50",children:[e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:399:23",className:"px-4 py-3 text-sm text-slate-200",children:t.name}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:400:23",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:401:25",variant:"outline",className:"border-slate-700 text-slate-400",children:t.namespace})}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:405:23",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:406:25",variant:"outline",className:t.type==="ClusterIP"?"border-blue-500/30 text-blue-400 bg-blue-500/10":t.type==="NodePort"?"border-purple-500/30 text-purple-400 bg-purple-500/10":"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:t.type})}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:419:23",className:"px-4 py-3 text-sm text-slate-300",children:t.cluster_ip??t.clusterIP}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:420:23",className:"px-4 py-3 text-sm text-slate-300",children:t.ports}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:421:23",className:"px-4 py-3 text-sm text-slate-400",children:t.selector})]},t.id||t.name))})]})})}),e.jsx(M,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:430:11",value:"ingresses",className:"mt-4",children:e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:431:13",className:"border rounded-lg border-slate-700 overflow-hidden",children:e.jsxs("table",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:432:15",className:"w-full",children:[e.jsx("thead",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:433:17",className:"bg-slate-800",children:e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:434:19",children:[e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:435:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"名称"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:436:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"命名空间"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:437:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"Hosts"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:438:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"后端服务"}),e.jsx("th",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:439:21",className:"px-4 py-3 text-left text-xs font-medium text-slate-400",children:"TLS"})]})}),e.jsx("tbody",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:442:17",className:"divide-y divide-slate-800",children:b.length===0?e.jsx("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:444:21",children:e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:445:23",colSpan:5,className:"px-4 py-8 text-center text-slate-500",children:"暂无Ingress数据"})}):b.map(t=>e.jsxs("tr",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:449:21",className:"hover:bg-slate-800/50",children:[e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:450:23",className:"px-4 py-3 text-sm text-slate-200",children:t.name}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:451:23",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:452:25",variant:"outline",className:"border-slate-700 text-slate-400",children:t.namespace})}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:456:23",className:"px-4 py-3 text-sm text-slate-300",children:t.hosts}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:457:23",className:"px-4 py-3 text-sm text-slate-300",children:t.backend}),e.jsx("td",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:458:23",className:"px-4 py-3",children:e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:459:25",variant:"outline",className:t.tls?"border-emerald-500/30 text-emerald-400 bg-emerald-500/10":"border-slate-700 text-slate-400",children:t.tls?"已启用":"未启用"})})]},t.id||t.name))})]})})}),e.jsx(M,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:478:11",value:"events",className:"mt-4",children:e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:479:13",className:"space-y-2",children:[{type:"Normal",reason:"Started",message:"Started container nginx",time:"2分钟前"},{type:"Normal",reason:"Created",message:"Created pod nginx-deployment-xxx",time:"5分钟前"},{type:"Warning",reason:"FailedScheduling",message:"0/3 nodes are available",time:"10分钟前"},{type:"Normal",reason:"Pulling",message:'Pulling image "nginx:latest"',time:"15分钟前"},{type:"Normal",reason:"Pulled",message:"Successfully pulled image",time:"12分钟前"}].map((t,i)=>e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:487:17",className:"flex items-center gap-3 p-3 rounded-lg bg-slate-800/50",children:[e.jsx(y,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:491:19",variant:"outline",className:t.type==="Normal"?"border-emerald-500/30 text-emerald-400 bg-emerald-500/10":"border-amber-500/30 text-amber-400 bg-amber-500/10",children:t.type}),e.jsx("span",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:501:19",className:"text-sm font-medium text-slate-300 min-w-[120px]",children:t.reason}),e.jsx("span",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:502:19",className:"text-sm text-slate-400 flex-1",children:t.message}),e.jsx("span",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:503:19",className:"text-xs text-slate-500",children:t.time})]},i))})})]})})]})}var J="Radio",[ht,me]=ce(J),[gt,Ct]=ht(J),be=n.forwardRef((a,x)=>{const{__scopeRadio:r,name:g,checked:s=!1,required:u,disabled:d,value:K="on",onCheck:k,form:C,...b}=a,[f,h]=n.useState(null),p=X(x,m=>h(m)),t=n.useRef(!1),i=f?C||!!f.closest("form"):!0;return e.jsxs(gt,{scope:r,checked:s,disabled:d,children:[e.jsx($.button,{type:"button",role:"radio","aria-checked":s,"data-state":ke(s),"data-disabled":d?"":void 0,disabled:d,value:K,...b,ref:p,onClick:H(a.onClick,m=>{s||k?.(),i&&(t.current=m.isPropagationStopped(),t.current||m.stopPropagation())})}),i&&e.jsx(Ce,{control:f,bubbles:!t.current,name:g,value:K,checked:s,required:u,disabled:d,form:C,style:{transform:"translateX(-100%)"}})]})});be.displayName=J;var he="RadioIndicator",ge=n.forwardRef((a,x)=>{const{__scopeRadio:r,forceMount:g,...s}=a,u=Ct(he,r);return e.jsx(Ee,{present:g||u.checked,children:e.jsx($.span,{"data-state":ke(u.checked),"data-disabled":u.disabled?"":void 0,...s,ref:x})})});ge.displayName=he;var kt="RadioBubbleInput",Ce=n.forwardRef(({__scopeRadio:a,control:x,checked:r,bubbles:g=!0,...s},u)=>{const d=n.useRef(null),K=X(d,u),k=xt(r),C=Ae(x);return n.useEffect(()=>{const b=d.current;if(!b)return;const f=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(f,"checked").set;if(k!==r&&p){const t=new Event("click",{bubbles:g});p.call(b,r),b.dispatchEvent(t)}},[k,r,g]),e.jsx($.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...s,tabIndex:-1,ref:K,style:{...s.style,...C,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Ce.displayName=kt;function ke(a){return a?"checked":"unchecked"}var ft=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],W="RadioGroup",[jt]=ce(W,[ae,me]),fe=ae(),je=me(),[Kt,vt]=jt(W),Ke=n.forwardRef((a,x)=>{const{__scopeRadioGroup:r,name:g,defaultValue:s,value:u,required:d=!1,disabled:K=!1,orientation:k,dir:C,loop:b=!0,onValueChange:f,...h}=a,p=fe(r),t=_e(C),[i,m]=Re({prop:u,defaultProp:s??null,onChange:f,caller:W});return e.jsx(Kt,{scope:r,name:g,required:d,disabled:K,value:i,onValueChange:m,children:e.jsx(Pe,{asChild:!0,...p,orientation:k,dir:t,loop:b,children:e.jsx($.div,{role:"radiogroup","aria-required":d,"aria-orientation":k,"data-disabled":K?"":void 0,dir:t,...h,ref:x})})})});Ke.displayName=W;var ve="RadioGroupItem",Ne=n.forwardRef((a,x)=>{const{__scopeRadioGroup:r,disabled:g,...s}=a,u=vt(ve,r),d=u.disabled||g,K=fe(r),k=je(r),C=n.useRef(null),b=X(x,C),f=u.value===s.value,h=n.useRef(!1);return n.useEffect(()=>{const p=i=>{ft.includes(i.key)&&(h.current=!0)},t=()=>h.current=!1;return document.addEventListener("keydown",p),document.addEventListener("keyup",t),()=>{document.removeEventListener("keydown",p),document.removeEventListener("keyup",t)}},[]),e.jsx(Te,{asChild:!0,...K,focusable:!d,active:f,children:e.jsx(be,{disabled:d,required:u.required,checked:f,...k,...s,name:u.name,ref:b,onCheck:()=>u.onValueChange(s.value),onKeyDown:H(p=>{p.key==="Enter"&&p.preventDefault()}),onFocus:H(s.onFocus,()=>{h.current&&C.current?.click()})})})});Ne.displayName=ve;var Nt="RadioGroupIndicator",De=n.forwardRef((a,x)=>{const{__scopeRadioGroup:r,...g}=a,s=je(r);return e.jsx(ge,{...s,...g,ref:x})});De.displayName=Nt;var Dt=Ke,yt=Ne,wt=De;function St({className:a,...x}){return e.jsx(Dt,{"code-path":"src/components/ui/radio-group.tsx:14:5","data-slot":"radio-group",className:E("grid gap-3",a),...x})}function se({className:a,...x}){return e.jsx(yt,{"code-path":"src/components/ui/radio-group.tsx:27:5","data-slot":"radio-group-item",className:E("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...x,children:e.jsx(wt,{"code-path":"src/components/ui/radio-group.tsx:35:7","data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:e.jsx($e,{"code-path":"src/components/ui/radio-group.tsx:39:9",className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}const re=/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$/,ne={name:"",version:"",description:"",config_type:1,api_server:"",token:"",kube_config:""};function _t({open:a,onOpenChange:x,editingCluster:r,onSaved:g}){const[s,u]=n.useState({...ne}),[d,K]=n.useState(!1),[k,C]=n.useState(!1),[b,f]=n.useState(!1),[h,p]=n.useState("");n.useEffect(()=>{a&&(r&&r.id?w.getClusterDetail(r.id).then(o=>{const l=o||{};C(!!l.has_token),f(!!l.has_kube_config),u({name:l.name||"",version:l.version||"",description:l.description||"",config_type:Number(l.config_type??1),api_server:l.api_server||"",token:"",kube_config:""}),p("")}).catch(()=>{u({name:r.name||"",version:r.version||"",description:r.description||"",config_type:Number(r.config_type??1),api_server:r.api_server||"",token:"",kube_config:""}),p("")}):(C(!1),f(!1),u({...ne}),p("")))},[a,r]);const t=o=>{u({...s,name:o}),o.trim()?re.test(o)?p(""):p("只允许英文、数字和连字符(-),首尾不能是连字符"):p("")},i=o=>{const l=o.match(/^\s*server:\s*(\S+)\s*$/m);return l?l[1]:""},m=o=>{const l=i(o);u(N=>({...N,kube_config:o,api_server:l||N.api_server}))},j=async()=>{if(!s.name.trim()||!re.test(s.name.trim())){I.error("请输入有效的集群名称(英文/数字/连字符)");return}try{K(!0);const o={name:s.name.trim(),code:s.name.trim(),version:s.version,description:s.description,config_type:s.config_type,api_server:s.api_server,token:s.config_type===0?s.token:"",kube_config:s.config_type===1?s.kube_config:""};r?await w.updateCluster(r.id,o):await w.createCluster(o),x(!1),g()}catch(o){console.error("保存集群失败:",o)}finally{K(!1)}},D=d||!s.name.trim()||!!h;return e.jsx(oe,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:143:5",open:a,onOpenChange:x,children:e.jsxs(le,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:144:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] max-w-2xl",children:[e.jsxs(Me,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:145:9",children:[e.jsx(ue,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:146:11",className:"text-[var(--dg-text-primary)]",children:r?"编辑集群":"添加集群"}),e.jsx(de,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:149:11",className:"text-[var(--dg-text-secondary)]",children:r?"修改集群接入配置":"配置新的 Kubernetes 集群接入信息"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:153:9",className:"space-y-4 py-2 max-h-[60vh] overflow-y-auto pr-1",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:154:11",className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:155:13",className:"space-y-2",children:[e.jsx(P,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:156:15",className:"text-[var(--dg-text-secondary)]",children:"集群名称"}),e.jsx(L,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:157:15",value:s.name,onChange:o=>t(o.target.value),placeholder:"如: prod-cluster",className:`bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] placeholder:text-[var(--dg-text-muted)] ${h?"border-red-500":""}`}),h&&e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:163:29",className:"text-xs text-red-400",children:h}),e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:164:15",className:"text-xs text-[var(--dg-text-muted)]",children:"只允许英文、数字和连字符(-),首尾不能是连字符。名称将作为集群唯一标识。"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:168:13",className:"space-y-2",children:[e.jsx(P,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:169:15",className:"text-[var(--dg-text-secondary)]",children:"版本(可选)"}),e.jsx(L,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:170:15",value:s.version,onChange:o=>u({...s,version:o.target.value}),placeholder:"如: 1.28.0",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] placeholder:text-[var(--dg-text-muted)]"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:179:11",className:"space-y-2",children:[e.jsx(P,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:180:13",className:"text-[var(--dg-text-secondary)]",children:"描述"}),e.jsx(L,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:181:13",value:s.description,onChange:o=>u({...s,description:o.target.value}),placeholder:"集群用途描述",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] placeholder:text-[var(--dg-text-muted)]"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:189:11",className:"space-y-2",children:[e.jsx(P,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:190:13",className:"text-[var(--dg-text-secondary)]",children:"接入方式"}),e.jsxs(St,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:191:13",value:String(s.config_type),onValueChange:o=>u({...s,config_type:Number(o)}),className:"flex gap-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:196:15",className:"flex items-center gap-2 px-3 py-2 rounded-md border border-[var(--dg-border)] cursor-pointer hover:bg-[var(--dg-bg-hover)]",children:[e.jsx(se,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:197:17",value:"0",id:"ct-0"}),e.jsx(P,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:198:17",htmlFor:"ct-0",className:"cursor-pointer text-[var(--dg-text-primary)] font-normal",children:"Token"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:200:15",className:"flex items-center gap-2 px-3 py-2 rounded-md border border-[var(--dg-border)] cursor-pointer hover:bg-[var(--dg-bg-hover)]",children:[e.jsx(se,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:201:17",value:"1",id:"ct-1"}),e.jsx(P,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:202:17",htmlFor:"ct-1",className:"cursor-pointer text-[var(--dg-text-primary)] font-normal",children:"Kubeconfig"})]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:207:11",className:"space-y-2",children:[e.jsx(P,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:208:13",className:"text-[var(--dg-text-secondary)]",children:"API Server"}),e.jsx(L,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:209:13",value:s.api_server,onChange:o=>u({...s,api_server:o.target.value}),placeholder:"https://10.0.0.1:6443",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] placeholder:text-[var(--dg-text-muted)]"})]}),s.config_type===0?e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:218:13",className:"space-y-2",children:[e.jsxs(P,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:219:15",className:"text-[var(--dg-text-secondary)]",children:["Token ",k&&e.jsx("span",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:220:36",className:"text-emerald-400 text-xs ml-1",children:"✓ 已配置(留空不修改)"})]}),e.jsx(te,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:222:15",value:s.token,onChange:o=>u({...s,token:o.target.value}),placeholder:k?"已配置,输入新值覆盖...":"粘贴 Service Account Token...",rows:4,className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] placeholder:text-[var(--dg-text-muted)] font-mono text-xs"})]}):e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:231:13",className:"space-y-2",children:[e.jsxs(P,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:232:15",className:"text-[var(--dg-text-secondary)]",children:["Kubeconfig ",b&&e.jsx("span",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:233:46",className:"text-emerald-400 text-xs ml-1",children:"✓ 已配置(留空不修改)"})]}),e.jsx(te,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:235:15",value:s.kube_config,onChange:o=>m(o.target.value),placeholder:b?"已配置,输入新值覆盖...":`apiVersion: v1
kind: Config
clusters:
- cluster:
server: https://10.0.0.1:6443
...`,rows:10,className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] placeholder:text-[var(--dg-text-muted)] font-mono text-xs"}),!b&&e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:243:17",className:"text-xs text-[var(--dg-text-muted)]",children:"粘贴 kubeconfig 内容后将自动解析 API Server 地址"})]})]}),e.jsxs(Ie,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:250:9",children:[e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:251:11",variant:"outline",onClick:()=>{x(!1)},className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] hover:bg-[var(--dg-bg-hover)]",children:"取消"}),e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:258:11",onClick:j,disabled:D,className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",children:d?"保存中...":r?"保存":"添加"})]})]})})}function Rt({open:a,onOpenChange:x,clusterId:r,clusterName:g}){const s=n.useRef(null),u=n.useRef(null),d=n.useRef(null),K=n.useRef(null),[k,C]=n.useState(!1),[b,f]=n.useState(!1),[h,p]=n.useState("");return n.useEffect(()=>{a||f(!1)},[a]),n.useEffect(()=>{if(!a||!r)return;const t=new pt.Terminal({cursorBlink:!0,fontSize:14,fontFamily:'Menlo, Monaco, "Courier New", monospace',allowProposedApi:!0,theme:{background:"#0f172a",foreground:"#e2e8f0",cursor:"#38bdf8",selectionBackground:"#1e40af",black:"#1e293b",red:"#ef4444",green:"#10b981",yellow:"#f59e0b",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e2e8f0",brightBlack:"#475569",brightRed:"#f87171",brightGreen:"#34d399",brightYellow:"#fbbf24",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#f8fafc"}}),i=new mt.FitAddon;t.loadAddon(i),u.current=t,K.current=i;const j=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,D=Fe.getState().token||"",o=`${j.replace(/^http/,"ws").replace("/api/v1","")}/ws/kubectl?token=${encodeURIComponent(D)}&id=${r}`,l=new WebSocket(o);return d.current=l,t.onData(N=>{l.readyState===WebSocket.OPEN&&l.send(JSON.stringify({status:0,data:N}))}),l.onmessage=N=>{try{const _=JSON.parse(N.data);_.status===0&&typeof _.data=="string"&&t.write(_.data)}catch{typeof N.data=="string"&&t.write(N.data)}},l.onopen=()=>{C(!0),p(""),s.current&&(t.open(s.current),requestAnimationFrame(()=>{try{i.fit()}catch{}}),setTimeout(()=>{try{t.focus()}catch{}},150))},l.onclose=()=>{C(!1),t.write(`\r
\x1B[31m[连接已断开]\x1B[0m\r
`)},l.onerror=()=>{p("WebSocket 连接失败"),t.write(`\r
\x1B[31m[连接发生错误]\x1B[0m\r
`)},()=>{try{(l.readyState===WebSocket.OPEN||l.readyState===WebSocket.CONNECTING)&&l.close(),t.dispose()}catch{}u.current=null,d.current=null,C(!1)}},[a,r]),n.useEffect(()=>{if(!a)return;const t=s.current;if(!t)return;let i;const m=new ResizeObserver(()=>{clearTimeout(i),i=setTimeout(()=>{if(K.current&&u.current&&d.current)try{K.current.fit(),u.current.focus();const{cols:j,rows:D}=u.current;d.current.readyState===WebSocket.OPEN&&d.current.send(JSON.stringify({status:1,cols:j,rows:D}))}catch{}},60)});return m.observe(t),()=>{clearTimeout(i),m.disconnect()}},[a]),e.jsx(oe,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:161:5",open:a,onOpenChange:x,children:e.jsxs(le,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:162:7",showCloseButton:!1,onOpenAutoFocus:t=>t.preventDefault(),className:E("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",b?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:b?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"900px",width:"90vw"},children:[e.jsxs(ue,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:174:9",className:"sr-only",children:["kubectl — ",g]}),e.jsx(de,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:175:9",className:"sr-only",children:"Kubernetes 集群命令行终端"}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:178:9",className:"flex items-center justify-between px-4 py-2 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:179:11",className:"flex items-center gap-2 text-sm",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:180:13",className:E("w-2 h-2 rounded-full",k?"bg-emerald-400":h?"bg-red-400":"bg-yellow-400")}),e.jsx(We,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:181:13",className:"h-4 w-4 text-blue-400"}),e.jsxs("span",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:182:13",className:"text-[var(--dg-text-primary)] font-medium",children:["kubectl — ",g]}),!k&&!h&&e.jsx(Ve,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:183:38",className:"h-3 w-3 animate-spin text-[var(--dg-text-muted)]"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:185:11",className:"flex items-center gap-1",children:[e.jsx("button",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:186:13",onClick:()=>f(!b),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:b?e.jsx(qe,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:190:29",className:"h-4 w-4"}):e.jsx(He,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:190:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:192:13",onClick:()=>x(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(Xe,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:196:15",className:"h-4 w-4"})})]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:202:9",ref:s,className:"bg-[#0f172a]",style:{height:b?"calc(100vh - 49px)":"480px"}})]})})}function $t(){const[a,x]=n.useState([]),[r,g]=n.useState(!0),[s,u]=n.useState(null),[d,K]=n.useState(""),[k,C]=n.useState(!1),[b,f]=n.useState(null),[h,p]=n.useState(null),[t,i]=n.useState(!1),[m,j]=n.useState(null),[D,o]=n.useState(!1),l=async()=>{try{g(!0);const c=await w.getClusters();x(c?.list||[])}catch(c){console.error("加载集群列表失败:",c),x([])}finally{g(!1)}};n.useEffect(()=>{l()},[]);const[,N]=n.useState(null),_=()=>{l().then(()=>{b||setTimeout(async()=>{const v=(await w.getClusters())?.list||[];v.length>0&&B(v[v.length-1].id,!0)},500)})},V=async c=>{try{await w.deleteCluster(c),l()}catch(v){console.error("删除集群失败:",v)}},B=async(c,v)=>{try{v||I.info("正在同步集群资源...");const R=await w.syncCluster(c);v||I.success(R?.message||"同步完成"),l()}catch(R){v||I.error(R?.message||"同步失败")}},ye=async()=>{if(!m)return;const c=m.code||String(m.id);try{o(!0),I.info(`正在导出 ${m.name} 所有命名空间的资源...`),await w.exportAllResources(c),I.success("导出完成,已开始下载"),j(null)}catch(v){I.error(v?.message||"导出失败")}finally{o(!1)}},Y=a.filter(c=>(c.name||"").toLowerCase().includes(d.toLowerCase())||(c.version||"").includes(d)),we=c=>{switch(c){case"healthy":return e.jsxs(y,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:136:11",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx(at,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:137:13",className:"h-3 w-3 mr-1"}),"健康"]});case"warning":return e.jsxs(y,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:143:11",variant:"outline",className:"border-amber-500/30 text-amber-400 bg-amber-500/10",children:[e.jsx(nt,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:144:13",className:"h-3 w-3 mr-1"}),"警告"]});case"error":return e.jsxs(y,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:150:11",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[e.jsx(pe,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:151:13",className:"h-3 w-3 mr-1"}),"异常"]});default:return null}},Z=s?a.find(c=>c.id===s):null;return e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:163:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:165:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:166:9",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:167:11",className:"text-2xl font-bold text-slate-100",children:"集群列表"}),e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:168:11",className:"text-sm text-slate-500 mt-1",children:"管理Kubernetes集群资源"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:170:9",className:"flex items-center gap-2",children:[e.jsxs(T,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:171:11",variant:"outline",className:"border-slate-700 text-slate-300 hover:text-slate-100 hover:bg-slate-800",onClick:l,children:[e.jsx(q,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:176:13",className:E("h-4 w-4 mr-2",r&&"animate-spin")}),"刷新"]}),e.jsxs(T,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:179:11",className:"bg-blue-600 hover:bg-blue-700 text-white",onClick:()=>{f(null),C(!0)},children:[e.jsx(Je,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:180:13",className:"h-4 w-4 mr-2"}),"添加集群"]})]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:187:7",className:"flex items-center gap-3",children:e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:188:9",className:"relative w-80",children:[e.jsx(Ye,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:189:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(L,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:190:11",placeholder:"搜索集群名称或版本...",value:d,onChange:c=>K(c.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500"})]})}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:200:7",className:"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-4",children:r?e.jsx(G,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:202:11",className:"bg-slate-900 border-slate-800 col-span-full",children:e.jsxs(O,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:203:13",className:"p-12 text-center text-slate-500",children:[e.jsx(q,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:204:15",className:"h-6 w-6 animate-spin mx-auto mb-3"}),"加载中..."]})}):Y.length===0?e.jsx(G,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:209:11",className:"bg-slate-900 border-slate-800 col-span-full",children:e.jsx(O,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:210:13",className:"p-12 text-center text-slate-500",children:"暂无集群数据"})}):Y.map(c=>{const v=Number(c.cpu_usage||0),R=Number(c.memory_usage||0),Se=v>0||R>0;return e.jsxs(G,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:218:15",className:E("bg-slate-900 border-slate-800 cursor-pointer transition-all",s===c.id?"border-blue-500 ring-1 ring-blue-500/30":"hover:border-slate-700"),onClick:()=>u(c.id),children:[e.jsx(U,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:228:17",className:"pb-3",children:e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:229:19",className:"flex items-start justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:230:21",className:"flex items-center gap-3",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:231:23",className:"w-10 h-10 rounded-lg bg-blue-500/10 flex items-center justify-center",children:e.jsx(xe,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:232:25",className:"h-5 w-5 text-blue-400"})}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:234:23",children:[e.jsx(z,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:235:25",className:"text-base text-slate-100",children:c.name}),e.jsx(ie,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:236:25",className:"text-slate-500",children:c.version})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:239:21",className:"flex items-center gap-1",children:[we(c.status),e.jsxs(Ge,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:241:23",children:[e.jsx(Oe,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:242:25",asChild:!0,children:e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:243:27",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-slate-100",onClick:S=>S.stopPropagation(),children:e.jsx(Ze,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:249:29",className:"h-4 w-4"})})}),e.jsxs(Be,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:252:25",align:"end",className:"w-48 bg-slate-800 border-slate-700",children:[e.jsx(Le,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:253:27",className:"text-slate-300",children:"操作"}),e.jsx(Q,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:254:27",className:"bg-slate-700"}),e.jsxs(F,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:255:27",className:"text-slate-300 focus:bg-slate-700 focus:text-slate-100",children:[e.jsx(Qe,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:256:29",className:"h-4 w-4 mr-2"}),"查看详情"]}),e.jsxs(F,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:259:27",className:"text-slate-300 focus:bg-slate-700 focus:text-slate-100",onClick:S=>{S.stopPropagation(),f(c),C(!0)},children:[e.jsx(et,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:267:29",className:"h-4 w-4 mr-2"}),"配置"]}),e.jsxs(F,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:270:27",className:"text-cyan-400 focus:bg-slate-700 focus:text-cyan-300",onClick:S=>{S.stopPropagation(),B(c.id)},children:[e.jsx(q,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:277:29",className:"h-4 w-4 mr-2"}),"同步"]}),e.jsxs(F,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:280:27",className:"text-emerald-400 focus:bg-slate-700 focus:text-emerald-300",onClick:S=>{S.stopPropagation(),p({id:c.id,name:c.name}),i(!0)},children:[e.jsx(tt,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:288:29",className:"h-4 w-4 mr-2"}),"kubectl"]}),e.jsxs(F,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:291:27",className:"text-blue-400 focus:bg-slate-700 focus:text-blue-300",onClick:S=>{S.stopPropagation(),j(c)},children:[e.jsx(st,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:298:29",className:"h-4 w-4 mr-2"}),"导出资源"]}),e.jsx(Q,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:301:27",className:"bg-slate-700"}),e.jsxs(F,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:302:27",className:"text-red-400 focus:bg-slate-700 focus:text-red-400",onClick:S=>{S.stopPropagation(),V(c.id)},children:[e.jsx(rt,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:309:29",className:"h-4 w-4 mr-2"}),"删除"]})]})]})]})]})}),e.jsxs(O,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:317:17",className:"pt-0",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:318:19",className:"grid grid-cols-4 gap-2 mb-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:319:21",className:"text-center p-2 rounded-lg bg-slate-800/50",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:320:23",className:"text-lg font-semibold text-slate-200",children:c.node_count||0}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:321:23",className:"text-xs text-slate-500",children:"节点"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:323:21",className:"text-center p-2 rounded-lg bg-slate-800/50",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:324:23",className:"text-lg font-semibold text-slate-200",children:c.pod_count||0}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:325:23",className:"text-xs text-slate-500",children:"Pod"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:327:21",className:"text-center p-2 rounded-lg bg-slate-800/50",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:328:23",className:"text-lg font-semibold text-slate-200",children:c.service_count||0}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:329:23",className:"text-xs text-slate-500",children:"Service"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:331:21",className:"text-center p-2 rounded-lg bg-slate-800/50",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:332:23",className:"text-lg font-semibold text-slate-200",children:c.deployment_count||0}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:333:23",className:"text-xs text-slate-500",children:"Deployment"})]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:336:19",className:"space-y-2",children:Se?e.jsxs(e.Fragment,{children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:339:25",className:"flex items-center gap-2",children:[e.jsx("span",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:340:27",className:"text-xs text-slate-500 w-10",children:"CPU"}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:341:27",className:"flex-1 h-1.5 bg-slate-800 rounded-full overflow-hidden",children:e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:342:29",className:E("h-full rounded-full",v>80?"bg-red-400":v>60?"bg-amber-400":"bg-emerald-400"),style:{width:`${Math.min(v,100)}%`}})}),e.jsxs("span",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:350:27",className:"text-xs text-slate-400 w-10 text-right",children:[v.toFixed(1),"%"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:352:25",className:"flex items-center gap-2",children:[e.jsx("span",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:353:27",className:"text-xs text-slate-500 w-10",children:"内存"}),e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:354:27",className:"flex-1 h-1.5 bg-slate-800 rounded-full overflow-hidden",children:e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:355:29",className:E("h-full rounded-full",R>80?"bg-red-400":R>60?"bg-amber-400":"bg-emerald-400"),style:{width:`${Math.min(R,100)}%`}})}),e.jsxs("span",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:363:27",className:"text-xs text-slate-400 w-10 text-right",children:[R.toFixed(1),"%"]})]})]}):e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:367:23",className:"text-xs text-slate-600 text-center",children:["已接入 ",c.node_count||0," 节点 · ",c.pod_count||0," Pod · 资源使用率待采集"]})})]})]},c.id)})}),Z&&e.jsx(bt,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:379:9",cluster:Z,onClose:()=>u(null)}),e.jsx(_t,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:383:7",open:k,onOpenChange:C,editingCluster:b,onSaved:_}),h&&e.jsx(Rt,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:392:9",open:t,onOpenChange:c=>{i(c),c||p(null)},clusterId:h.id,clusterName:h.name}),m&&e.jsx("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:405:9",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:()=>j(null),children:e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:406:11",className:"bg-slate-900 border border-slate-700 rounded-lg p-5 w-96 shadow-xl",onClick:c=>c.stopPropagation(),children:[e.jsx("h3",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:407:13",className:"text-base font-semibold text-slate-100 mb-1",children:"导出集群资源"}),e.jsxs("p",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:408:13",className:"text-xs text-slate-400 mb-4",children:["导出 ",m.name," 所有命名空间的 Deployment、Service、Ingress、ConfigMap、Secret 为 tar.gz"]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:411:13",className:"flex justify-end gap-2",children:[e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:412:15",variant:"outline",className:"border-slate-700 text-slate-300",onClick:()=>j(null),children:"取消"}),e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:413:15",className:"bg-blue-600 hover:bg-blue-700 text-white",onClick:ye,disabled:D,children:D?"导出中...":"确认导出"})]})]})})]})}export{$t as KubernetesClusters};