feat: add show cluster

This commit is contained in:
Mauricio Siu
2024-05-13 01:28:50 -06:00
parent 6c792564ae
commit c45017e204
8 changed files with 174 additions and 6 deletions

View File

@@ -21,6 +21,7 @@ import { portRouter } from "./routers/port";
import { adminRouter } from "./routers/admin";
import { dockerRouter } from "./routers/docker";
import { registryRouter } from "./routers/registry";
import { clusterRouter } from "./routers/cluster";
/**
* This is the primary router for your server.
*
@@ -49,6 +50,7 @@ export const appRouter = createTRPCRouter({
redirects: redirectsRouter,
port: portRouter,
registry: registryRouter,
cluster: clusterRouter,
});
// export type definition of API

View File

@@ -0,0 +1,17 @@
import { docker } from "@/server/constants";
import { createTRPCRouter, protectedProcedure } from "../trpc";
import { getPublicIpWithFallback } from "@/server/wss/terminal";
export const clusterRouter = createTRPCRouter({
getWorkers: protectedProcedure.query(async () => {
const workers = await docker.listNodes();
// console.log(workers);
return workers;
}),
addWorker: protectedProcedure.query(async ({ input }) => {
const result = await docker.swarmInspect();
return `docker swarm join --token ${
result.JoinTokens.Worker
} ${await getPublicIpWithFallback()}:2377`;
}),
});