UNPKG

docker-pilot

Version:

A powerful, scalable Docker CLI library for managing containerized applications of any size

116 lines 3.21 kB
/** * Configuration Manager for Docker Pilot * Handles loading, saving, and validation of configuration files */ import { DockerPilotConfig } from '../types'; export interface ConfigManagerOptions { configPath?: string; autoSave?: boolean; createDefault?: boolean; validateOnLoad?: boolean; } export declare class ConfigManager { private config; private configPath; private logger; private fileUtils; private validationUtils; private options; private i18n; constructor(options?: ConfigManagerOptions); /** * Clean old backup files with timestamp pattern */ private cleanOldBackups; /** * Get default configuration file path */ private getDefaultConfigPath; /** * Load configuration from file */ loadConfig(): Promise<DockerPilotConfig>; /** * Save configuration to file */ saveConfig(config?: DockerPilotConfig): Promise<void>; /** * Get current configuration */ getConfig(): DockerPilotConfig; /** * Update configuration */ updateConfig(updates: Partial<DockerPilotConfig>): Promise<DockerPilotConfig>; /** * Add or update a service */ addService(serviceName: string, serviceConfig: any): Promise<DockerPilotConfig>; /** * Remove a service */ removeService(serviceName: string): Promise<DockerPilotConfig>; /** * Add a plugin */ addPlugin(pluginPath: string): Promise<DockerPilotConfig>; /** * Remove a plugin */ removePlugin(pluginPath: string): Promise<DockerPilotConfig>; /** * Create default configuration */ createDefaultConfig(): DockerPilotConfig; /** * Infer project name from current directory or package.json */ private inferProjectName; /** * Deep merge configuration objects */ private mergeConfig; /** * Detect Docker Compose services from file or search recursively with enhanced search */ detectServicesFromCompose(composePath?: string): Promise<Record<string, any>>; /** * Determine if backup should be enabled for service */ private shouldEnableBackup; /** * Normalize environment variables to ensure all values are strings */ private normalizeEnvironmentVariables; /** * Extract port number from Docker port mapping */ private extractPortFromMapping; /** * Auto-detect and update services from Docker Compose */ autoDetectServices(replaceExisting?: boolean): Promise<DockerPilotConfig>; /** * Get configuration file path */ getConfigPath(): string; /** * Set configuration file path */ setConfigPath(configPath: string): void; /** * Check if configuration is loaded */ isLoaded(): boolean; /** * Reset configuration to default */ resetToDefault(): Promise<DockerPilotConfig>; /** * Export configuration to different file */ exportConfig(exportPath: string): Promise<void>; /** * Import configuration from file */ importConfig(importPath: string): Promise<DockerPilotConfig>; } //# sourceMappingURL=ConfigManager.d.ts.map