19 lines
585 B
TypeScript
19 lines
585 B
TypeScript
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);
|
|
}
|