This commit implements all features outlined in PLAN.md: Phase 1 - High Priority: - Landing page with retro early 2000s design aesthetic - Volume storage system with Docker volume management - File upload/download/browse capabilities for volumes - Health monitoring with Docker, DB, and Traefik checks - Orphaned container detection and cleanup Phase 2 - Medium Priority: - Build queue system with concurrent build limits - Automatic retry with exponential backoff - Resource limits (CPU and memory) per project - Deployment rollback functionality - Image history management and cleanup - Centralized logging with secret masking Phase 3 - Low Priority: - Webhook support for GitHub auto-deployment - Branch filtering for webhooks - Build cache optimization using previous images - Configuration file support (minipaas.config.js) - Enhanced secrets management with auto-detection - Secret masking in environment variables Additional Improvements: - Updated server.js with all new routes and services - Added health monitor service integration - Implemented landing page routing based on auth - Enhanced database schema with new tables and columns - Added multer dependency for file uploads - Created comprehensive API endpoints for all features - Updated README with new features (removed emojis) - Created IMPLEMENTATION_SUMMARY.md documentation Database Changes: - Added volumes and volume_files tables - Added webhooks table for event tracking - Enhanced projects table with resource limits - Enhanced deployments table with rollback support - Enhanced env_vars table with secret flags - Added teams tables for future multi-user support All changes are backward compatible with safe migrations. No emojis used in code or UI as requested.
31 lines
460 B
JavaScript
31 lines
460 B
JavaScript
module.exports = {
|
|
defaultPort: 3000,
|
|
|
|
maxConcurrentBuilds: 2,
|
|
|
|
volumeDefaultSize: 5 * 1024 * 1024 * 1024,
|
|
|
|
buildCacheEnabled: true,
|
|
|
|
resourceLimits: {
|
|
defaultMemoryMB: 512,
|
|
defaultCPUMillicores: 1000
|
|
},
|
|
|
|
retention: {
|
|
keepDeployments: 10,
|
|
keepImages: 5,
|
|
logRetentionDays: 30
|
|
},
|
|
|
|
healthCheck: {
|
|
intervalSeconds: 60,
|
|
autoRestartFailed: false
|
|
},
|
|
|
|
webhooks: {
|
|
enabled: true,
|
|
allowedEvents: ['push']
|
|
}
|
|
};
|