mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-06-30 03:25:22 +02:00
feat: add swarm router and related Docker service functions
This commit is contained in:
@@ -21,6 +21,7 @@ import { mysqlRouter } from "./routers/mysql";
|
||||
import { notificationRouter } from "./routers/notification";
|
||||
import { portRouter } from "./routers/port";
|
||||
import { postgresRouter } from "./routers/postgres";
|
||||
import { previewDeploymentRouter } from "./routers/preview-deployment";
|
||||
import { projectRouter } from "./routers/project";
|
||||
import { redirectsRouter } from "./routers/redirects";
|
||||
import { redisRouter } from "./routers/redis";
|
||||
@@ -30,8 +31,8 @@ import { serverRouter } from "./routers/server";
|
||||
import { settingsRouter } from "./routers/settings";
|
||||
import { sshRouter } from "./routers/ssh-key";
|
||||
import { stripeRouter } from "./routers/stripe";
|
||||
import { swarmRouter } from "./routers/swarm";
|
||||
import { userRouter } from "./routers/user";
|
||||
import { previewDeploymentRouter } from "./routers/preview-deployment";
|
||||
|
||||
/**
|
||||
* This is the primary router for your server.
|
||||
@@ -73,6 +74,7 @@ export const appRouter = createTRPCRouter({
|
||||
github: githubRouter,
|
||||
server: serverRouter,
|
||||
stripe: stripeRouter,
|
||||
swarm: swarmRouter,
|
||||
});
|
||||
|
||||
// export type definition of API
|
||||
|
||||
31
apps/dokploy/server/api/routers/swarm.ts
Normal file
31
apps/dokploy/server/api/routers/swarm.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import {
|
||||
getApplicationInfo,
|
||||
getNodeApplications,
|
||||
getNodeInfo,
|
||||
getSwarmNodes,
|
||||
} from "@dokploy/server";
|
||||
import { z } from "zod";
|
||||
import { createTRPCRouter, protectedProcedure } from "../trpc";
|
||||
|
||||
export const swarmRouter = createTRPCRouter({
|
||||
getNodes: protectedProcedure.query(async () => {
|
||||
return await getSwarmNodes();
|
||||
}),
|
||||
getNodeInfo: protectedProcedure
|
||||
.input(z.object({ nodeId: z.string() }))
|
||||
.query(async ({ input }) => {
|
||||
return await getNodeInfo(input.nodeId);
|
||||
}),
|
||||
getNodeApps: protectedProcedure.query(async () => {
|
||||
return getNodeApplications();
|
||||
}),
|
||||
getAppInfos: protectedProcedure
|
||||
.input(
|
||||
z.object({
|
||||
appName: z.string(),
|
||||
}),
|
||||
)
|
||||
.query(async ({ input }) => {
|
||||
return await getApplicationInfo(input.appName);
|
||||
}),
|
||||
});
|
||||
Reference in New Issue
Block a user