Skip to content

Commit d35737e

Browse files
authored
Merge pull request #124 from Flux159/pr124
Adding deleteServiceSchema to destructive tools
2 parents ccd34f1 + 05fe191 commit d35737e

File tree

1 file changed

+50
-23
lines changed

1 file changed

+50
-23
lines changed

src/index.ts

Lines changed: 50 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import {
99
listDeploymentsSchema,
1010
} from "./tools/list_deployments.js";
1111
import { listCronJobs, listCronJobsSchema } from "./tools/list_cronjobs.js";
12-
import { describeCronJob, describeCronJobSchema } from "./tools/describe_cronjob.js";
12+
import {
13+
describeCronJob,
14+
describeCronJobSchema,
15+
} from "./tools/describe_cronjob.js";
1316
import { listJobs, listJobsSchema } from "./tools/list_jobs.js";
1417
import { getJobLogs, getJobLogsSchema } from "./tools/get_job_logs.js";
1518
import { describeNode, describeNodeSchema } from "./tools/describe_node.js";
@@ -52,7 +55,10 @@ import { KubernetesManager } from "./types.js";
5255
import { serverConfig } from "./config/server-config.js";
5356
import { createDeploymentSchema } from "./config/deployment-config.js";
5457
import { listNamespacesSchema } from "./config/namespace-config.js";
55-
import { deleteNamespace, deleteNamespaceSchema } from "./tools/delete_namespace.js";
58+
import {
59+
deleteNamespace,
60+
deleteNamespaceSchema,
61+
} from "./tools/delete_namespace.js";
5662
import { cleanupSchema } from "./config/cleanup-config.js";
5763
import { startSSEServer } from "./utils/sse.js";
5864
import {
@@ -61,26 +67,47 @@ import {
6167
stopPortForward,
6268
StopPortForwardSchema,
6369
} from "./tools/port_forward.js";
64-
import { deleteDeployment, deleteDeploymentSchema } from "./tools/delete_deployment.js";
70+
import {
71+
deleteDeployment,
72+
deleteDeploymentSchema,
73+
} from "./tools/delete_deployment.js";
6574
import { createDeployment } from "./tools/create_deployment.js";
66-
import { scaleDeployment, scaleDeploymentSchema } from "./tools/scale_deployment.js"
75+
import {
76+
scaleDeployment,
77+
scaleDeploymentSchema,
78+
} from "./tools/scale_deployment.js";
6779
import {
6880
describeDeployment,
6981
describeDeploymentSchema,
7082
} from "./tools/describe_deployment.js";
71-
import { updateDeployment, updateDeploymentSchema } from "./tools/update_deployment.js";
72-
import { createConfigMap, CreateConfigMapSchema } from "./tools/create_configmap.js";
83+
import {
84+
updateDeployment,
85+
updateDeploymentSchema,
86+
} from "./tools/update_deployment.js";
87+
import {
88+
createConfigMap,
89+
CreateConfigMapSchema,
90+
} from "./tools/create_configmap.js";
7391
import { listContexts, listContextsSchema } from "./tools/list_contexts.js";
74-
import { getCurrentContext, getCurrentContextSchema } from "./tools/get_current_context.js";
75-
import { setCurrentContext, setCurrentContextSchema } from "./tools/set_current_context.js";
92+
import {
93+
getCurrentContext,
94+
getCurrentContextSchema,
95+
} from "./tools/get_current_context.js";
96+
import {
97+
setCurrentContext,
98+
setCurrentContextSchema,
99+
} from "./tools/set_current_context.js";
76100
import { createService, createServiceSchema } from "./tools/create_service.js";
77-
import { describeService, describeServiceSchema } from "./tools/describe_service.js";
101+
import {
102+
describeService,
103+
describeServiceSchema,
104+
} from "./tools/describe_service.js";
78105
import { updateService, updateServiceSchema } from "./tools/update_service.js";
79106
import { deleteService, deleteServiceSchema } from "./tools/delete_service.js";
80107

81-
82108
// Check if non-destructive tools only mode is enabled
83-
const nonDestructiveTools = process.env.ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS === 'true';
109+
const nonDestructiveTools =
110+
process.env.ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS === "true";
84111

85112
const k8sManager = new KubernetesManager();
86113

@@ -95,6 +122,7 @@ const server = new Server(
95122
// Define destructive tools (delete and uninstall operations)
96123
const destructiveTools = [
97124
deletePodSchema,
125+
deleteServiceSchema,
98126
deleteDeploymentSchema,
99127
deleteNamespaceSchema,
100128
uninstallHelmChartSchema,
@@ -150,7 +178,9 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
150178

151179
// Filter out destructive tools if ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS is set to 'true'
152180
const tools = nonDestructiveTools
153-
? allTools.filter(tool => !destructiveTools.some(dt => dt.name === tool.name))
181+
? allTools.filter(
182+
(tool) => !destructiveTools.some((dt) => dt.name === tool.name)
183+
)
154184
: allTools;
155185

156186
return { tools };
@@ -224,7 +254,7 @@ server.setRequestHandler(
224254
k8sManager,
225255
input as {
226256
name: string;
227-
namespace: string
257+
namespace: string;
228258
}
229259
);
230260
}
@@ -384,10 +414,7 @@ server.setRequestHandler(
384414
}
385415

386416
case "set_current_context": {
387-
return await setCurrentContext(
388-
k8sManager,
389-
input as { name: string }
390-
);
417+
return await setCurrentContext(k8sManager, input as { name: string });
391418
}
392419

393420
case "describe_cronjob": {
@@ -525,9 +552,9 @@ server.setRequestHandler(
525552
return await scaleDeployment(
526553
k8sManager,
527554
input as {
528-
name: string,
529-
namespace: string,
530-
replicas: number
555+
name: string;
556+
namespace: string;
557+
replicas: number;
531558
}
532559
);
533560
}
@@ -536,9 +563,9 @@ server.setRequestHandler(
536563
return await createConfigMap(
537564
k8sManager,
538565
input as {
539-
name: string,
540-
namespace: string,
541-
data: Record<string, string>
566+
name: string;
567+
namespace: string;
568+
data: Record<string, string>;
542569
}
543570
);
544571
}

0 commit comments

Comments
 (0)