126 lines
4.0 KiB
TypeScript
126 lines
4.0 KiB
TypeScript
import {
|
|
Boxes,
|
|
ChartNoAxesColumnIncreasing,
|
|
FileKey,
|
|
HardDrive,
|
|
LayoutDashboard,
|
|
Megaphone,
|
|
Network,
|
|
Rocket,
|
|
ServerCog,
|
|
ShieldCheck,
|
|
Users
|
|
} from 'lucide-react';
|
|
import type { LucideIcon } from 'lucide-react';
|
|
|
|
export type NavChild = {
|
|
label: string;
|
|
path: string;
|
|
};
|
|
|
|
export type NavItem = {
|
|
label: string;
|
|
icon: LucideIcon;
|
|
path?: string;
|
|
children?: NavChild[];
|
|
};
|
|
|
|
export type NavGroup = {
|
|
label: string;
|
|
items: NavItem[];
|
|
};
|
|
|
|
export const navGroups: NavGroup[] = [
|
|
{
|
|
label: '플랫폼',
|
|
items: [
|
|
{ label: '대시보드', path: '/dashboard', icon: LayoutDashboard },
|
|
{
|
|
label: '런처',
|
|
icon: Rocket,
|
|
children: [
|
|
{ label: '소스 관리', path: '/launcher/sources' },
|
|
{ label: '빌드 관리', path: '/launcher/builds' },
|
|
{ label: '버전 관리', path: '/launcher/versions' },
|
|
{ label: '구성요소', path: '/launcher/components' },
|
|
{ label: '로그/이벤트', path: '/launcher/logs' },
|
|
{ label: '앱 연결', path: '/launcher/apps' }
|
|
]
|
|
},
|
|
{
|
|
label: '어플리케이션',
|
|
icon: Boxes,
|
|
children: [
|
|
{ label: '앱 관리', path: '/applications/apps' },
|
|
{ label: '저장소 관리', path: '/applications/repositories' },
|
|
{ label: '소스 관리', path: '/applications/sources' },
|
|
{ label: '빌드 관리', path: '/applications/builds' },
|
|
{ label: '릴리즈 관리', path: '/applications/releases' },
|
|
{ label: '실행 설정', path: '/applications/runtime-settings' },
|
|
{ label: '배포 관리', path: '/applications/deployments' },
|
|
{ label: '마이그레이션', path: '/applications/migrations' },
|
|
{ label: '로그/이벤트', path: '/runtime/logs' }
|
|
]
|
|
},
|
|
{
|
|
label: '테일스케일',
|
|
icon: Network,
|
|
children: [
|
|
{ label: '노드 현황', path: '/tailscale/status' },
|
|
{ label: '라우트', path: '/tailscale/routes' },
|
|
{ label: 'ACL', path: '/tailscale/acl' },
|
|
{ label: '연결 진단', path: '/tailscale/diagnostics' }
|
|
]
|
|
},
|
|
{
|
|
label: '에이전트',
|
|
icon: ShieldCheck,
|
|
children: [
|
|
{ label: '장비 등록', path: '/agents/registration' },
|
|
{ label: '장비 제어', path: '/runtime/devices' },
|
|
{ label: '설치 상태', path: '/agents/install-status' },
|
|
{ label: 'SSH 키 배포', path: '/agents/ssh-keys' },
|
|
{ label: 'Workspace 설정', path: '/agents/workspace' },
|
|
{ label: '원격 명령', path: '/agents/commands' }
|
|
]
|
|
},
|
|
{
|
|
label: '플랫폼 게이트웨이',
|
|
icon: ServerCog,
|
|
children: [
|
|
{ label: '연결 상태', path: '/gateway/status' },
|
|
{ label: 'Agent 관리', path: '/gateway/agents' },
|
|
{ label: '장비 동기화', path: '/gateway/devices' }
|
|
]
|
|
},
|
|
{
|
|
label: '인프라',
|
|
icon: HardDrive,
|
|
children: [
|
|
{ label: '클러스터', path: '/infrastructure/cluster' },
|
|
{ label: '워크로드', path: '/infrastructure/workloads' },
|
|
{ label: '네트워크', path: '/infrastructure/network' },
|
|
{ label: '스토리지', path: '/infrastructure/storage' }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
label: '운영',
|
|
items: [
|
|
{ label: '관리자 관리', path: '/operations/admins', icon: ShieldCheck },
|
|
{ label: '조직 관리', path: '/operations/organizations', icon: Boxes },
|
|
{ label: '사용자/세션', path: '/operations/users', icon: Users },
|
|
{ label: '라이센스', path: '/operations/licenses', icon: FileKey },
|
|
{ label: '공지사항', path: '/operations/notices', icon: Megaphone }
|
|
]
|
|
},
|
|
{
|
|
label: '시스템',
|
|
items: [
|
|
{ label: '모니터링', path: '/system/monitoring', icon: ChartNoAxesColumnIncreasing },
|
|
{ label: '정책', path: '/system/policies', icon: ShieldCheck }
|
|
]
|
|
}
|
|
];
|