P1: - utils/storage.ts、theme.ts、validate.ts + index 统一出口 - request/store/useTheme 接入 storage;清零 confirm/alert - PipelineManager、TerminalAuditTab 拆分子模块(<700行红线) P2: - api/monitor、api/deploy 子目录化 - hooks/api 扩展:servers/pipelines/alerts/audit/sessionCommands - PipelineManager、AuditOperationsTab 接入 TanStack Query
2 lines
29 KiB
JavaScript
2 lines
29 KiB
JavaScript
import{k as Te,m as Re,y as Le,f as $e,r as d,j as e,B as x,q as ne,R as Ae,F as Me,z as ze,E as Be,w as he,A as Oe,H as Fe}from"./index-HuRw9UhJ.js";import{C as V,a as W,b as y,c as S}from"./card-B2Wqa0sK.js";import{B as j}from"./badge-CeS-g-Od.js";import{T as ce,a as le,b as C,c as h,d as de,e as i}from"./table-Du1vU-OM.js";import{k as U}from"./index-GZwpRmKU.js";import{u as He}from"./use-toast-B25j_Fg3.js";import{Y as ie,S as w,f as me,s as q,P as _e,a as Ye}from"./PodFileBrowser-DmjH49sm.js";import{A as De}from"./arrow-left-J2A6V6Vq.js";import{T as Ee}from"./tag-DcJS0iSd.js";import{H as qe}from"./hard-drive-laLCm9TI.js";import{M as Ie}from"./minus-BLAorVC4.js";import{P as Je}from"./plus-BVwIGPvl.js";import"./copy-Ci4WwJkK.js";import"./sparkles-DEwze8TU.js";import"./save-PutEGGnz.js";import"./select-KDzbUQs3.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";import"./xterm-DSqgeKvr.js";import"./box-DPoVh2_c.js";import"./rotate-cw-Dt34Qj6N.js";import"./minimize-2-UErWMOt6.js";import"./upload-oCjAhX91.js";import"./refresh-cw-CSycAyA2.js";import"./folder-CyecCkCR.js";import"./download-CjFatm64.js";function c({label:t,value:m,sub:P,color:u}){return e.jsx(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:29:5",className:"bg-slate-900 border-slate-800",children:e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:30:7",className:"p-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:31:9",className:"text-xs text-slate-500",children:t}),e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:32:9",className:"text-base font-bold mt-0.5",style:{color:u||"#e2e8f0"},children:m}),P&&e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:33:17",className:"text-[10px] text-slate-600 mt-0.5",children:P})]})})}function pe({labels:t}){const m=Object.entries(t||{});return m.length===0?e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:42:36",className:"text-xs text-slate-600",children:"无"}):e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:44:5",className:"flex flex-wrap gap-1.5",children:m.map(([P,u])=>e.jsxs(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:46:9",variant:"outline",className:"border-slate-700 text-slate-400 text-[10px] font-mono",children:[P,"=",u]},P))})}function Ps(){const t=Te(),m=Re(),P=Le(),{toast:u}=He(),ke=$e(),r=t.clusterCode||"",n=t.namespace||"",l=t.name||"",p=P.pathname.includes("/DaemonSet/")?"DaemonSet":"StatefulSet",T=t.mode==="yaml"?"yaml":"view",[N,ue]=d.useState(null),[R,be]=d.useState([]),[ge,I]=d.useState(!0),[we,L]=d.useState(!1),[v,F]=d.useState(1),[$,A]=d.useState(!1),[H,J]=d.useState(null),[_,K]=d.useState(null),[je,G]=d.useState(!1),M=d.useCallback(async()=>{I(!0);try{const[s,o]=await Promise.all([U.getResourceYaml(r,n,p.toLowerCase()+"s",l).catch(()=>""),U.getPods(r).catch(()=>[])]);let f=null;if(s&&typeof s=="string")try{f=JSON.parse(s)}catch{f={_raw:s}}else s&&typeof s=="object"&&(f=s);ue(f);const E=(Array.isArray(o)?o:o?.list||o?.data||[]).filter(O=>{const Ue=O.name||O.metadata?.name||"",re=O.namespace||O.namespace_name||"";return Ue.startsWith(l)&&(!re||re===n)});be(E)}catch(s){console.error("load error",s)}finally{I(!1)}},[r,n,l,p]);d.useEffect(()=>{M()},[M]);const Q=s=>{s!==T&&m(`/kubernetes/${r}/namespace/${n}/workload/${s}/${p}/${l}`,{replace:!0})},Pe=async()=>{if(await ke({title:"滚动重启",description:`确认重启 ${p} ${l}?将触发滚动重启。`,confirmText:"重启"})){A(!0);try{p==="StatefulSet"?await U.restartStatefulSet(r,n,l):await U.restartDaemonSet(r,n,l),u({title:"重启指令已下发",description:`${p} 滚动重启已触发`}),setTimeout(M,1e3)}catch(o){u({title:"重启失败",description:o?.message||String(o),variant:"destructive"})}finally{A(!1)}}},Ve=async()=>{A(!0);try{await U.scaleStatefulSet(r,n,l,v),u({title:"扩缩容成功",description:`StatefulSet 副本数已更新为 ${v}`}),L(!1),setTimeout(M,1e3)}catch(s){u({title:"扩缩容失败",description:s?.message||String(s),variant:"destructive"})}finally{A(!1)}},k=N?.spec||{},b=N?.status||{},X=k?.template?.spec?.containers||[],Z=k?.template?.spec?.initContainers||[],z=k.replicas??1,ee=b.readyReplicas??0,We=b.currentReplicas??0,Ne=b.updatedReplicas??0,Y=b.desiredNumberScheduled??0,fe=b.currentNumberScheduled??0,se=b.numberReady??0,ve=b.numberAvailable??0,ye=b.updatedNumberScheduled??0,g=p==="StatefulSet",B=g?ee===z&&z>0:se===Y&&Y>0,a=k.updateStrategy||{},D=a.type||"RollingUpdate",te=k.volumeClaimTemplates||[],Se=k.selector?.matchLabels||{},Ce=N?.metadata?.labels||{},ae=N?.metadata?.annotations||{};return e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:190:5",className:"p-4 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:192:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:193:9",className:"flex items-center gap-3",children:[e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:194:11",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-slate-200",onClick:()=>m(-1),children:e.jsx(De,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:195:13",className:"h-4 w-4"})}),e.jsx(ne,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:197:11",className:"h-5 w-5 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:198:11",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:199:13",className:"flex items-center gap-2",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:200:15",className:"text-lg font-bold text-slate-100",children:l}),e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:201:15",variant:"outline",className:"border-slate-700 text-slate-400",children:p}),e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:202:15",variant:"outline",className:"border-slate-700 text-slate-400",children:n}),B?e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:204:19",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:"健康"}):e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:205:19",className:"bg-amber-500/20 text-amber-400 border-amber-500/30",children:"更新中"})]}),e.jsxs("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:207:13",className:"text-xs text-slate-500 mt-0.5",children:["集群: ",r]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:210:9",className:"flex items-center gap-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:212:11",className:"flex items-center gap-1 bg-slate-900 border border-slate-800 rounded-lg p-0.5",children:[e.jsx("button",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:213:13",className:`px-3 py-1 text-xs rounded transition-colors ${T==="view"?"bg-blue-500/20 text-blue-400":"text-slate-400 hover:text-slate-200"}`,onClick:()=>Q("view"),children:"查看"}),e.jsx("button",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:217:13",className:`px-3 py-1 text-xs rounded transition-colors ${T==="yaml"?"bg-blue-500/20 text-blue-400":"text-slate-400 hover:text-slate-200"}`,onClick:()=>Q("yaml"),children:"YAML"})]}),g&&e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:224:13",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 hover:text-slate-100",onClick:()=>{F(z),L(!0)},children:[e.jsx(ne,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:226:15",className:"h-3.5 w-3.5 mr-1"}),"伸缩"]}),e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:229:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 hover:text-slate-100",disabled:$,onClick:Pe,children:[e.jsx(Ae,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:231:13",className:"h-3.5 w-3.5 mr-1"}),$?"重启中...":"重启"]}),e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:233:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 hover:text-slate-100",onClick:()=>G(!0),children:[e.jsx(Me,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:235:13",className:"h-3.5 w-3.5 mr-1"}),"YAML"]})]})]}),ge?e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:241:9",className:"text-center text-slate-500 py-20",children:"加载中..."}):T==="yaml"?e.jsx(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:243:9",className:"bg-slate-900 border-slate-800",children:e.jsx(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:244:11",className:"p-4",children:e.jsx(ie,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:245:13",clusterCode:r,namespace:n,resource:p.toLowerCase()+"s",name:l,onClose:()=>{},inline:!0,autoEdit:!0})})}):e.jsxs(e.Fragment,{children:[e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:259:11",className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-3",children:g?e.jsxs(e.Fragment,{children:[e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:262:17",label:"副本就绪",value:`${ee}/${z}`,color:B?w.green:w.orange,sub:B?"全部就绪":"部分未就绪"}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:263:17",label:"当前副本",value:We,color:w.blue}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:264:17",label:"已更新副本",value:Ne,color:w.green}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:265:17",label:"服务名",value:k.serviceName||"-",color:"#94a3b8"}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:266:17",label:"Pod 数量",value:R.length,color:"#94a3b8"}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:267:17",label:"创建时间",value:e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:267:47",className:"text-xs",children:me(N?.metadata?.creationTimestamp)}),color:"#94a3b8"})]}):e.jsxs(e.Fragment,{children:[e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:271:17",label:"期望调度",value:Y,color:w.blue}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:272:17",label:"当前调度",value:fe,color:"#94a3b8"}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:273:17",label:"就绪数量",value:se,color:B?w.green:w.orange}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:274:17",label:"可用数量",value:ve,color:w.green}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:275:17",label:"已更新",value:ye,color:"#94a3b8"}),e.jsx(c,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:276:17",label:"创建时间",value:e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:276:47",className:"text-xs",children:me(N?.metadata?.creationTimestamp)}),color:"#94a3b8"})]})}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:282:11",className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:283:13",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:284:15",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:285:17",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(ze,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:286:19",className:"h-4 w-4 text-amber-400"}),"更新策略"]})}),e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:289:15",className:"pt-0 space-y-2 text-xs",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:290:17",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:291:19",className:"text-slate-500",children:"策略类型"}),e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:292:19",variant:"outline",className:"border-slate-700 text-slate-300",children:D})]}),D==="RollingUpdate"&&g&&a.rollingUpdate&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:296:21",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:297:23",className:"text-slate-500",children:"分区 (partition)"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:298:23",className:"text-slate-300 font-mono",children:a.rollingUpdate.partition??0})]}),a.rollingUpdate.maxUnavailable&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:301:23",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:302:25",className:"text-slate-500",children:"最大不可用"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:303:25",className:"text-slate-300 font-mono",children:typeof a.rollingUpdate.maxUnavailable=="object"?JSON.stringify(a.rollingUpdate.maxUnavailable):a.rollingUpdate.maxUnavailable})]})]}),D==="RollingUpdate"&&!g&&a.rollingUpdate&&e.jsxs(e.Fragment,{children:[a.rollingUpdate.maxUnavailable&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:311:23",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:312:25",className:"text-slate-500",children:"最大不可用"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:313:25",className:"text-slate-300 font-mono",children:typeof a.rollingUpdate.maxUnavailable=="object"?JSON.stringify(a.rollingUpdate.maxUnavailable):a.rollingUpdate.maxUnavailable})]}),a.rollingUpdate.maxSurge&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:317:23",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:318:25",className:"text-slate-500",children:"最大 surge"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:319:25",className:"text-slate-300 font-mono",children:typeof a.rollingUpdate.maxSurge=="object"?JSON.stringify(a.rollingUpdate.maxSurge):a.rollingUpdate.maxSurge})]})]}),g&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:325:19",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:326:21",className:"text-slate-500",children:"Pod 管理策略"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:327:21",className:"text-slate-300 font-mono",children:k.podManagementPolicy||"OrderedReady"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:330:17",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:331:19",className:"text-slate-500",children:"修订历史限制"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:332:19",className:"text-slate-300 font-mono",children:k.revisionHistoryLimit??10})]})]})]}),e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:337:13",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:338:15",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:339:17",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(Ee,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:340:19",className:"h-4 w-4 text-purple-400"}),"选择器与标签"]})}),e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:343:15",className:"pt-0 space-y-3 text-xs",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:344:17",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:345:19",className:"text-slate-500 mb-1.5",children:"Selector (matchLabels)"}),e.jsx(pe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:346:19",labels:Se})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:348:17",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:349:19",className:"text-slate-500 mb-1.5",children:"Labels"}),e.jsx(pe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:350:19",labels:Ce})]}),Object.keys(ae).length>0&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:353:19",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:354:21",className:"text-slate-500 mb-1.5",children:"Annotations"}),e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:355:21",className:"flex flex-wrap gap-1.5",children:Object.entries(ae).slice(0,8).map(([s,o])=>e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:357:25",variant:"outline",className:"border-slate-700 text-slate-500 text-[10px] font-mono max-w-[300px] truncate",children:s},s))})]})]})]})]}),g&&te.length>0&&e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:370:13",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:371:15",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:372:17",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(Be,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:373:19",className:"h-4 w-4 text-cyan-400"}),"存储卷声明模板 (VolumeClaimTemplates)"]})}),e.jsx(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:376:15",className:"pt-0",children:e.jsxs(ce,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:377:17",children:[e.jsx(le,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:378:19",children:e.jsxs(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:379:21",className:"border-slate-800 hover:bg-transparent",children:[e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:380:23",className:"text-slate-400",children:"名称"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:381:23",className:"text-slate-400",children:"访问模式"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:382:23",className:"text-slate-400",children:"存储类"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:383:23",className:"text-slate-400",children:"大小"})]})}),e.jsx(de,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:386:19",children:te.map((s,o)=>{const f=(s.spec?.accessModes||[]).join(", "),oe=s.spec?.storageClassName||s.spec?.storageClassName||"-",E=s.spec?.resources?.requests?.storage||"-";return e.jsxs(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:392:25",className:"border-slate-800",children:[e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:393:27",className:"font-medium text-slate-200",children:s.metadata?.name||"-"}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:394:27",className:"text-sm text-slate-400",children:f||"-"}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:395:27",className:"text-sm text-slate-400",children:oe}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:396:27",className:"text-sm text-slate-300 font-mono",children:E})]},o)})})]})})]}),e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:407:11",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:408:13",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:409:15",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(he,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:410:17",className:"h-4 w-4 text-blue-400"}),"容器模板(Pod Template)"]})}),e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:413:13",className:"pt-0",children:[Z.length>0&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:415:17",className:"mb-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:416:19",className:"text-[11px] text-slate-500 mb-2 uppercase tracking-wide",children:"Init Containers"}),e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:417:19",className:"space-y-2",children:Z.map((s,o)=>e.jsx(xe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:419:23",c:s},`init-${o}`))})]}),X.length===0?e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:425:17",className:"text-xs text-slate-500 py-3",children:"暂无容器数据,请查看 YAML"}):e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:427:17",className:"space-y-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:428:19",className:"text-[11px] text-slate-500 mb-1 uppercase tracking-wide",children:"Containers"}),X.map((s,o)=>e.jsx(xe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:430:21",c:s},o))]})]})]}),e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:438:11",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:439:13",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:440:15",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(Oe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:441:17",className:"h-4 w-4 text-emerald-400"}),"Pod 实例 (",R.length,")"]})}),e.jsx(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:444:13",className:"p-0",children:e.jsxs(ce,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:445:15",children:[e.jsx(le,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:446:17",children:e.jsxs(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:447:19",className:"border-slate-800 hover:bg-transparent",children:[e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:448:21",className:"text-slate-400",children:"Pod 名称"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:449:21",className:"text-slate-400",children:"状态"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:450:21",className:"text-slate-400",children:"所在节点"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:451:21",className:"text-slate-400",children:"Pod IP"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:452:21",className:"text-slate-400",children:"重启"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:453:21",className:"text-slate-400",children:"操作"})]})}),e.jsx(de,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:456:17",children:R.length===0?e.jsx(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:458:21",children:e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:458:31",colSpan:6,className:"text-center text-slate-500 py-8",children:"暂无 Pod"})}):R.map(s=>e.jsxs(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:460:21",className:"border-slate-800 hover:bg-slate-800/30",children:[e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:461:23",className:"font-medium text-slate-200",children:s.name}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:462:23",children:e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:463:25",style:{background:`${q(s.status)}22`,color:q(s.status),border:`1px solid ${q(s.status)}44`},children:s.status||"Unknown"})}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:467:23",className:"text-sm text-slate-400",children:s.node_name||s.node||"-"}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:468:23",className:"text-sm text-slate-400 font-mono",children:s.ip||s.pod_ip||"-"}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:469:23",className:(s.restart_count||0)>0?"text-yellow-400":"text-slate-500",children:s.restart_count||0}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:470:23",children:e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:471:25",className:"flex items-center gap-1",children:[e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:472:27",variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-emerald-400 hover:text-emerald-300 hover:bg-emerald-500/10",onClick:()=>J(s),children:[e.jsx(Fe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:474:29",className:"h-3.5 w-3.5 mr-1"}),"终端"]}),e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:476:27",variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-amber-400 hover:text-amber-300 hover:bg-amber-500/10",onClick:()=>K(s),children:[e.jsx(qe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:478:29",className:"h-3.5 w-3.5 mr-1"}),"文件浏览器"]})]})})]},s.name))})]})})]})]}),we&&e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:493:9",className:"fixed inset-0 bg-black/60 z-50 flex items-center justify-center",onClick:()=>L(!1),children:e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:494:11",className:"bg-slate-900 border border-slate-800 rounded-lg p-6 w-80",onClick:s=>s.stopPropagation(),children:[e.jsx("h3",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:495:13",className:"text-sm font-semibold text-slate-200 mb-4",children:"伸缩 StatefulSet"}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:496:13",className:"flex items-center justify-center gap-4 mb-4",children:[e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:497:15",variant:"outline",size:"icon",className:"h-9 w-9",onClick:()=>F(Math.max(0,v-1)),children:e.jsx(Ie,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:498:17",className:"h-4 w-4"})}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:500:15",className:"text-2xl font-bold text-slate-100 w-12 text-center",children:v}),e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:501:15",variant:"outline",size:"icon",className:"h-9 w-9",onClick:()=>F(v+1),children:e.jsx(Je,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:502:17",className:"h-4 w-4"})})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:505:13",className:"flex gap-2",children:[e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:506:15",variant:"outline",size:"sm",className:"flex-1 border-slate-700 text-slate-400",onClick:()=>L(!1),children:"取消"}),e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:507:15",size:"sm",className:"flex-1 bg-blue-600 hover:bg-blue-500",disabled:$,onClick:Ve,children:$?"执行中...":"确认"})]})]})}),je&&e.jsx(ie,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:517:9",clusterCode:r,namespace:n,resource:p.toLowerCase()+"s",name:l,onClose:()=>G(!1)}),H&&e.jsx(_e,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:528:9",open:!0,onOpenChange:s=>{s||J(null)},clusterId:r,namespace:n,podName:H.name,containers:H.containers?.map(s=>s.name).filter(Boolean)||[]}),_&&e.jsx(Ye,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:540:9",open:!0,onOpenChange:s=>{s||K(null)},clusterCode:r,namespace:n,podName:_.name,containers:_.containers?.map(s=>s.name).filter(Boolean)||[]})]})}function xe({c:t}){return e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:556:5",className:"border border-slate-800 rounded-lg p-3 bg-slate-950/30",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:557:7",className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:558:9",className:"flex items-center gap-2",children:[e.jsx(he,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:559:11",className:"h-4 w-4 text-blue-400"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:560:11",className:"text-sm font-semibold text-slate-200",children:t.name})]}),e.jsx("code",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:562:9",className:"text-[11px] text-slate-400 font-mono truncate max-w-[400px]",children:t.image})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:564:7",className:"grid grid-cols-2 md:grid-cols-3 gap-2 text-xs",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:565:9",className:"text-slate-400",children:["CPU: ",e.jsxs("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:566:16",className:"text-slate-200 font-mono",children:[t.resources?.requests?.cpu||"-","/",t.resources?.limits?.cpu||"-"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:568:9",className:"text-slate-400",children:["内存: ",e.jsxs("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:569:15",className:"text-slate-200 font-mono",children:[t.resources?.requests?.memory||"-","/",t.resources?.limits?.memory||"-"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:571:9",className:"text-slate-400",children:["端口: ",e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:572:15",className:"text-slate-200 font-mono",children:(t.ports||[]).map(m=>m.containerPort||m.port).join(", ")||"-"})]})]})]})}export{Ps as default};
|