feat: implement deploy command with SSH support and context management

This commit is contained in:
2026-05-07 12:02:26 -04:00
parent f5f3678e30
commit 52ce8bc622
7 changed files with 393 additions and 3 deletions

18
src/lib/env.ts Normal file
View File

@@ -0,0 +1,18 @@
import { z } from "zod";
const deployEnvSchema = z.object({
REMOTE_HOST: z.string().min(1),
REMOTE_USER: z.string().min(1),
REMOTE_PATH: z.string().min(1),
REMOTE_PORT: z.coerce.number().int().positive().default(22),
SSH_PRIVATE_KEY: z.string().optional(),
CACHE_DIR: z.string().default("/cache/wpop"),
WP_VERSION: z.string().default("latest"),
WP_LOCALE: z.string().default("fr_CA"),
});
export type DeployEnv = z.infer<typeof deployEnvSchema>;
export function readDeployEnv(env: NodeJS.ProcessEnv = process.env): DeployEnv {
return deployEnvSchema.parse(env);
}