// Deployment manifest 统一保存 // Logan.Li import { kubernetesApi } from '@/api'; import { prepareManifestForSave } from './k8s-manifest-utils'; import { isCreateDeployment } from './deployment-constants'; import type { JsonData } from '@/types/common'; import i18n from '@/i18n'; export async function saveDeploymentManifest( clusterCode: string, namespace: string, deploymentName: string, manifest: JsonData, ): Promise { const resName = String(manifest?.metadata?.name || '').trim(); if (!resName) throw new Error(i18n.t('k8s.misc.name1')); const yaml = await prepareManifestForSave(manifest); if (isCreateDeployment(deploymentName)) { await kubernetesApi.applyYAML(clusterCode, yaml); } else { await kubernetesApi.updateResourceYaml(clusterCode, namespace, 'deployments', resName, yaml); } return resName; }