refactor: full-stack restructure with multi-tenancy, workspace management, and K8s diagnostics

- Add Workspace domain (entity, repository, service, handler, DTO)
- Add multi-tenant K8s client with tenant binding and quota management
- Add K8s diagnostics client (instance diagnostics)
- Add authorization middleware (authz package)
- Restructure frontend to feature-based architecture (features/)
- Add User Management page in configuration
- Add AccessDenied page and route guards
- Refactor shared components (form inputs, layout, UI)
- Update Tailwind config for new design system
- Add comprehensive documentation (docs/, tasks/, plans)
- Improve cluster service with better kubeconfig handling
- Add tests for crypto, config, helm client, tenant binding
This commit is contained in:
Ivan087
2026-05-12 16:15:14 +08:00
parent c5e51ed069
commit 7f238a3168
172 changed files with 15703 additions and 3162 deletions

View File

@ -17,15 +17,15 @@ export interface BadgeProps {
}
const variantStyles: Record<BadgeVariant, string> = {
default: "bg-blue-600/20 text-blue-300 border-blue-500/30",
success: "bg-green-600/20 text-green-300 border-green-500/30",
warning: "bg-yellow-600/20 text-yellow-300 border-yellow-500/30",
danger: "bg-red-600/20 text-red-300 border-red-500/30",
info: "bg-blue-600/20 text-blue-300 border-blue-500/30",
purple: "bg-purple-600/20 text-purple-300 border-purple-500/30",
gray: "bg-gray-600/20 text-gray-300 border-gray-500/30",
blue: "bg-blue-600/20 text-blue-300 border-blue-500/30",
secondary: "bg-gray-700/30 text-gray-200 border-gray-500/40",
default: "bg-slate-100 text-slate-700 border-slate-200",
success: "bg-emerald-50 text-emerald-700 border-emerald-200",
warning: "bg-amber-50 text-amber-700 border-amber-200",
danger: "bg-red-50 text-red-700 border-red-200",
info: "bg-blue-50 text-blue-700 border-blue-200",
purple: "bg-violet-50 text-violet-700 border-violet-200",
gray: "bg-slate-100 text-slate-600 border-slate-200",
blue: "bg-blue-50 text-blue-700 border-blue-200",
secondary: "bg-slate-100 text-slate-700 border-slate-200",
};
const sizeStyles: Record<BadgeSize, { badge: string; icon: string }> = {