feat: add k8s cluster resource management module

- Add K8s module with kubeconfig storage in cluster_config table
- Implement resource list APIs for 8 kinds: namespace, deployment, statefulset, service, configmap, pod, pv, pvc
- Add K8sResourceList page with sidebar navigation and resource tables
- Support YAML upload/input dialog for resource creation via dynamic client
- Add kubeconfig settings drawer
- Increase main content width from lg to xl for better table display
- Add navigation link for cluster resources in top bar

🤖 Generated with [Qoder][https://qoder.com]
This commit is contained in:
loveuer
2025-11-12 21:06:14 +08:00
parent dfb6fb7624
commit db28bc0425
11 changed files with 1069 additions and 10 deletions

View File

@@ -2,6 +2,7 @@ import { Container, Typography, Box, AppBar, Toolbar, Button, Stack } from '@mui
import { Routes, Route, Link } from 'react-router-dom'
import { useAppStore } from './stores/appStore'
import RegistryImageList from './pages/RegistryImageList'
import K8sResourceList from './pages/K8sResourceList'
function App() {
const { count, increment, decrement, reset } = useAppStore()
@@ -15,11 +16,13 @@ function App() {
</Typography>
<Button color="inherit" component={Link} to="/"></Button>
<Button color="inherit" component={Link} to="/registry/image"></Button>
<Button color="inherit" component={Link} to="/k8s/resources"></Button>
</Toolbar>
</AppBar>
<Container maxWidth="lg" sx={{ mt: 4, mb: 4 }}>
<Container maxWidth="xl" sx={{ mt: 4, mb: 4 }}>
<Routes>
<Route path="/registry/image" element={<RegistryImageList />} />
<Route path="/k8s/resources" element={<K8sResourceList />} />
<Route path="/" element={
<Box>
<Typography variant="h4" component="h1" gutterBottom>