import type { JsonData } from "@/types/common"; // 网络/配置/存储资源新建时的空 manifest 模板 // Logan.Li export function createEmptyManifest(resource: string, namespace: string, name: string): JsonData { switch (resource) { case 'services': return { apiVersion: 'v1', kind: 'Service', metadata: { name, namespace }, spec: { type: 'ClusterIP', selector: {}, ports: [{ name: 'http', port: 80, targetPort: 80, protocol: 'TCP' }], }, }; case 'ingresses': return { apiVersion: 'networking.k8s.io/v1', kind: 'Ingress', metadata: { name, namespace }, spec: { ingressClassName: 'nginx', rules: [{ host: '', http: { paths: [{ path: '/', pathType: 'Prefix', backend: { service: { name: '', port: { number: 80 } } }, }], }, }], }, }; case 'configmaps': return { apiVersion: 'v1', kind: 'ConfigMap', metadata: { name, namespace }, data: {}, }; case 'secrets': return { apiVersion: 'v1', kind: 'Secret', metadata: { name, namespace }, type: 'Opaque', data: {}, }; case 'pvcs': return { apiVersion: 'v1', kind: 'PersistentVolumeClaim', metadata: { name, namespace }, spec: { accessModes: ['ReadWriteOnce'], resources: { requests: { storage: '1Gi' } }, }, }; default: return { apiVersion: 'v1', kind: 'Unknown', metadata: { name, namespace } }; } }