UNPKG

ludus-mcp

Version:

MCP server for managing Ludus cybersecurity training environments through natural language commands

64 lines 1.83 kB
import { Logger } from '../utils/logger.js'; export interface LudusConfig { adminUser: string; connectionMethod: 'wireguard' | 'ssh-tunnel'; wireguardConfig?: string | undefined; apiKey: string; sshHost: string; sshUser: string; sshAuthMethod: 'password' | 'key'; sshPassword?: string | undefined; sshKeyPath?: string | undefined; sshKeyPassphrase?: string | undefined; ludusUrl?: string; verifySSL?: boolean; } export interface SetupResult { success: boolean; message: string; config?: LudusConfig; requiresRestart?: boolean; } export declare class InteractiveSetup { private logger; private rl; constructor(logger: Logger); /** * Secure prompt for sensitive data (hides input) */ private securePrompt; private prompt; private checkWireGuardAvailable; private checkWireGuardConnectivity; private connectWireGuard; private executeWireGuardCommand; private connectWireGuardWindows; /** * Stop WireGuard tunnel on Windows */ private stopWireGuardWindows; private connectWireGuardUnix; private validateApiKey; private testSshConnectivity; private createSshTunnel; private testTunnelConnectivity; private getConfigFromEnvironment; /** * Try to retrieve credentials from keyring */ private getConfigFromKeyring; /** * Store credentials in keyring after successful validation */ private storeConfigInKeyring; private promptForCredentials; /** * Main interactive setup flow */ runSetup(forceInteractive?: boolean): Promise<SetupResult>; /** * Check if setup is complete by verifying stored credentials */ static checkSetupComplete(): Promise<boolean>; } //# sourceMappingURL=interactiveSetup.d.ts.map