docker-pilot
Version:
A powerful, scalable Docker CLI library for managing containerized applications of any size
124 lines • 2.95 kB
TypeScript
/**
* Validation utility functions
* Provides validation for various Docker Pilot configurations and inputs
*/
import { Logger } from './Logger';
import { FileUtils } from './FileUtils';
export interface ValidationResult {
valid: boolean;
errors: ValidationError[];
warnings: ValidationWarning[];
}
export interface ValidationError {
field: string;
message: string;
code: string;
value?: any;
}
export interface ValidationWarning {
field: string;
message: string;
suggestion?: string;
}
export declare class ValidationUtils {
private fileUtils;
private i18n;
constructor(_logger?: Logger, fileUtils?: FileUtils);
/**
* Update language for validation messages
*/
updateLanguage(language: string): void;
/**
* Validate Docker Pilot configuration
*/
validateConfig(config: any): Promise<ValidationResult>;
/**
* Validate business rules beyond schema validation
*/
private validateBusinessRules;
/**
* Validate project name
*/
private validateProjectName;
/**
* Validate individual service configuration
*/
private validateService;
/**
* Validate Docker Compose command
*/
private validateDockerComposeCommand;
/**
* Validate plugin paths
*/
private validatePlugins;
/**
* Validate backup configuration
*/
private validateBackupConfig;
/**
* Validate monitoring configuration
*/
private validateMonitoringConfig;
/**
* Check for common misconfigurations
*/
private checkCommonMisconfigurations;
/**
* Validate service name format
*/
private isValidServiceName;
/**
* Validate port number
*/
private isValidPort;
/**
* Check for common port conflicts
*/
private checkPortConflicts;
/**
* Validate environment variables
*/
private validateEnvironmentVariables;
/**
* Validate volume mounts
*/
private validateVolumes;
/**
* Validate CPU limit format
*/
private validateCpuLimit;
/**
* Validate memory limit format
*/
private validateMemoryLimit;
/**
* Check if value contains sensitive data
*/
private containsSensitiveData;
/**
* Validate URL format
*/
private isValidUrl;
/**
* Validate cron expression (basic validation)
*/
private isValidCronExpression;
/**
* Validate version string
*/
validateVersion(version: string): boolean;
/**
* Validate Docker Compose file structure
*/
validateDockerComposeStructure(composeData: any): Promise<ValidationResult>;
/**
* Validate individual Docker Compose service
*/
private validateDockerComposeService;
/**
* Validate Docker port mapping format
*/
private isValidPortMapping;
}
//# sourceMappingURL=ValidationUtils.d.ts.map