@xec-sh/cli
Version:
Xec: The Universal Shell for TypeScript
69 lines (68 loc) • 1.94 kB
TypeScript
export interface DefaultConfig {
version?: string;
name?: string;
description?: string;
defaults?: any;
targets?: {
local?: any;
hosts?: Record<string, any>;
containers?: Record<string, any>;
pods?: Record<string, any>;
defaults?: {
ssh?: {
port?: number;
keepAlive?: boolean;
keepAliveInterval?: number;
timeout?: number;
};
docker?: {
workdir?: string;
tty?: boolean;
interactive?: boolean;
};
kubernetes?: {
namespace?: string;
context?: string;
};
};
};
commands?: {
exec?: {
shell?: string;
tty?: boolean;
interactive?: boolean;
};
logs?: {
tail?: string;
timestamps?: boolean;
follow?: boolean;
prefix?: boolean;
since?: string;
until?: string;
grep?: string;
color?: boolean;
};
cp?: {
recursive?: boolean;
preserveMode?: boolean;
preserveTimestamps?: boolean;
followSymlinks?: boolean;
};
sync?: {
delete?: boolean;
exclude?: string[];
dryRun?: boolean;
};
};
secrets?: {
provider?: 'env' | 'file' | 'vault';
path?: string;
};
vars?: Record<string, string>;
tasks?: Record<string, any>;
}
export declare function getDefaultConfig(): DefaultConfig;
export declare const ROOT_KEY_ORDER: string[];
export declare function sortConfigKeys(config: any): any;
export declare function mergeWithDefaults(config: any, defaults?: any): any;
export declare function isDefaultValue(path: string, value: any, defaults?: any): boolean;