move ssh-ca-setup endpoint to only the ssh resource type

This commit is contained in:
x032205
2025-12-18 22:42:27 -05:00
parent c747bc479e
commit f4cf886c36
2 changed files with 4 additions and 7 deletions

View File

@@ -25,7 +25,7 @@ import {
UpdateSSHResourceSchema
} from "@app/ee/services/pam-resource/ssh/ssh-resource-schemas";
import { registerPamResourceEndpoints } from "./pam-resource-endpoints";
import { registerPamResourceEndpoints, registerSshCaSetupEndpoint } from "./pam-resource-endpoints";
export const PAM_RESOURCE_REGISTER_ROUTER_MAP: Record<PamResource, (server: FastifyZodProvider) => Promise<void>> = {
[PamResource.Postgres]: async (server: FastifyZodProvider) => {
@@ -54,6 +54,7 @@ export const PAM_RESOURCE_REGISTER_ROUTER_MAP: Record<PamResource, (server: Fast
createResourceSchema: CreateSSHResourceSchema,
updateResourceSchema: UpdateSSHResourceSchema
});
registerSshCaSetupEndpoint(server);
},
[PamResource.Kubernetes]: async (server: FastifyZodProvider) => {
registerPamResourceEndpoints({

View File

@@ -1,9 +1,7 @@
import { z } from "zod";
import { EventType } from "@app/ee/services/audit-log/audit-log-types";
import { PamResource } from "@app/ee/services/pam-resource/pam-resource-enums";
import { TPamResource } from "@app/ee/services/pam-resource/pam-resource-types";
import { BadRequestError } from "@app/lib/errors";
import { readLimit, writeLimit } from "@app/server/config/rateLimiter";
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
import { AuthMode } from "@app/services/auth/auth-type";
@@ -198,7 +196,9 @@ export const registerPamResourceEndpoints = <T extends TPamResource>({
return { resource };
}
});
};
export const registerSshCaSetupEndpoint = (server: FastifyZodProvider) => {
server.route({
method: "GET",
url: "/:resourceId/ssh-ca-setup",
@@ -216,10 +216,6 @@ export const registerPamResourceEndpoints = <T extends TPamResource>({
},
onRequest: verifyAuth([AuthMode.JWT]),
handler: async (req, reply) => {
if (resourceType !== PamResource.SSH) {
throw new BadRequestError({ message: "This endpoint is only available for SSH resources" });
}
const { caPublicKey } = await server.services.pamResource.getOrCreateSshCa(req.params.resourceId, req.permission);
const setupScript = `#!/bin/bash