@tamyla/clodo-framework 3.1.21 → 3.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +283 -1
  3. package/dist/{bin → cli}/clodo-service.js +47 -15
  4. package/dist/cli/commands/assess.js +183 -0
  5. package/dist/{bin → cli}/commands/create.js +5 -5
  6. package/dist/{bin → cli}/commands/deploy.js +122 -90
  7. package/dist/{bin → cli}/commands/diagnose.js +5 -5
  8. package/dist/cli/commands/helpers/deployment-ui.js +138 -0
  9. package/dist/cli/commands/helpers/deployment-verification.js +250 -0
  10. package/dist/cli/commands/helpers/error-recovery.js +80 -0
  11. package/dist/cli/commands/helpers/resource-detection.js +113 -0
  12. package/dist/{bin → cli}/commands/helpers.js +0 -28
  13. package/dist/cli/commands/init-config.js +57 -0
  14. package/dist/{bin → cli}/commands/update.js +5 -5
  15. package/dist/{bin → cli}/commands/validate.js +5 -5
  16. package/dist/cli/security-cli.js +118 -0
  17. package/dist/config/FeatureManager.js +6 -0
  18. package/dist/config/clodo-create.example.json +26 -0
  19. package/dist/config/clodo-deploy.example.json +41 -0
  20. package/dist/config/clodo-update.example.json +46 -0
  21. package/dist/config/clodo-validate.example.json +41 -0
  22. package/dist/config/customers/template/development.env.template +37 -0
  23. package/dist/config/customers/template/production.env.template +39 -0
  24. package/dist/config/customers/template/staging.env.template +37 -0
  25. package/dist/config/customers.js +28 -26
  26. package/dist/config/domain-examples/README.md +464 -0
  27. package/dist/config/domain-examples/environment-mapped.json +168 -0
  28. package/dist/config/domain-examples/multi-domain.json +144 -0
  29. package/dist/config/domain-examples/single-domain.json +50 -0
  30. package/dist/config/examples +12 -0
  31. package/dist/config/features.js +61 -0
  32. package/dist/config/staging-deployment.json +60 -0
  33. package/dist/config/validation-config.json +347 -0
  34. package/dist/deployment/wrangler-deployer.js +1 -1
  35. package/dist/{bin → lib}/deployment/modules/DeploymentOrchestrator.js +2 -2
  36. package/dist/{bin → lib}/deployment/modules/EnvironmentManager.js +2 -2
  37. package/dist/lib/deployment/orchestration/EnterpriseOrchestrator.js +21 -0
  38. package/dist/lib/shared/cache/configuration-cache.js +82 -0
  39. package/dist/{bin → lib}/shared/cloudflare/domain-discovery.js +1 -1
  40. package/dist/{bin → lib}/shared/cloudflare/domain-manager.js +1 -1
  41. package/dist/{bin → lib}/shared/cloudflare/index.js +1 -1
  42. package/dist/{bin → lib}/shared/cloudflare/ops.js +10 -8
  43. package/dist/{bin → lib}/shared/config/ConfigurationManager.js +23 -1
  44. package/dist/{bin → lib}/shared/config/command-config-manager.js +19 -3
  45. package/dist/{bin → lib}/shared/config/index.js +1 -1
  46. package/dist/{bin → lib}/shared/deployment/credential-collector.js +30 -7
  47. package/dist/lib/shared/deployment/index.js +10 -0
  48. package/dist/lib/shared/deployment/rollback-manager.js +7 -0
  49. package/dist/lib/shared/deployment/utilities/d1-error-recovery.js +177 -0
  50. package/dist/{bin → lib}/shared/deployment/validator.js +40 -10
  51. package/dist/lib/shared/deployment/workflows/deployment-summary.js +214 -0
  52. package/dist/lib/shared/deployment/workflows/interactive-confirmation.js +188 -0
  53. package/dist/lib/shared/deployment/workflows/interactive-database-workflow.js +234 -0
  54. package/dist/lib/shared/deployment/workflows/interactive-domain-info-gatherer.js +240 -0
  55. package/dist/lib/shared/deployment/workflows/interactive-secret-workflow.js +228 -0
  56. package/dist/lib/shared/deployment/workflows/interactive-testing-workflow.js +235 -0
  57. package/dist/lib/shared/deployment/workflows/interactive-validation.js +218 -0
  58. package/dist/lib/shared/error-handling/error-classifier.js +46 -0
  59. package/dist/{bin → lib}/shared/monitoring/health-checker.js +129 -1
  60. package/dist/{bin → lib}/shared/monitoring/memory-manager.js +17 -6
  61. package/dist/{bin → lib}/shared/routing/domain-router.js +1 -1
  62. package/dist/lib/shared/utils/deployment-validator.js +97 -0
  63. package/dist/{bin → lib}/shared/utils/formatters.js +10 -0
  64. package/dist/{bin → lib}/shared/utils/index.js +13 -1
  65. package/dist/{bin → lib}/shared/utils/interactive-prompts.js +34 -18
  66. package/dist/{bin → lib}/shared/utils/progress-manager.js +2 -2
  67. package/dist/lib/shared/utils/progress-spinner.js +53 -0
  68. package/dist/lib/shared/utils/sensitive-redactor.js +91 -0
  69. package/dist/{bin → lib}/shared/validation/ValidationRegistry.js +1 -1
  70. package/dist/migration/MigrationAdapters.js +50 -4
  71. package/dist/orchestration/cross-domain-coordinator.js +5 -5
  72. package/dist/orchestration/multi-domain-orchestrator.js +63 -22
  73. package/dist/security/index.js +2 -2
  74. package/dist/security/patterns/insecure-patterns.js +1 -1
  75. package/dist/service-management/ConfirmationEngine.js +1 -1
  76. package/dist/service-management/ErrorTracker.js +1 -1
  77. package/dist/service-management/InputCollector.js +1 -1
  78. package/dist/service-management/ServiceCreator.js +11 -255
  79. package/dist/service-management/ServiceOrchestrator.js +0 -2
  80. package/dist/service-management/generators/testing/UnitTestsGenerator.js +4 -4
  81. package/dist/service-management/index.js +1 -1
  82. package/dist/utils/cloudflare/ops.js +1 -1
  83. package/dist/utils/constants.js +102 -0
  84. package/dist/utils/deployment/wrangler-config-manager.js +215 -48
  85. package/dist/utils/file-manager.js +1 -1
  86. package/dist/utils/formatters.js +1 -1
  87. package/dist/utils/framework-config.js +2 -2
  88. package/dist/utils/interactive-prompts.js +10 -59
  89. package/dist/utils/logger.js +1 -1
  90. package/dist/version/VersionDetector.js +99 -9
  91. package/dist/worker/integration.js +1 -1
  92. package/package.json +10 -10
  93. package/dist/bin/clodo-service-old.js +0 -868
  94. package/dist/bin/clodo-service-test.js +0 -10
  95. package/dist/bin/commands/assess.js +0 -91
  96. package/dist/bin/database/enterprise-db-manager.js +0 -457
  97. package/dist/bin/deployment/enterprise-deploy.js +0 -877
  98. package/dist/bin/deployment/master-deploy.js +0 -1376
  99. package/dist/bin/deployment/modular-enterprise-deploy.js +0 -466
  100. package/dist/bin/deployment/orchestration/EnterpriseOrchestrator.js +0 -401
  101. package/dist/bin/deployment/test-interactive-utils.js +0 -66
  102. package/dist/bin/portfolio/portfolio-manager.js +0 -487
  103. package/dist/bin/security/security-cli.js +0 -108
  104. package/dist/bin/service-management/create-service.js +0 -122
  105. package/dist/bin/service-management/init-service.js +0 -79
  106. package/dist/bin/shared/deployment/index.js +0 -10
  107. package/dist/bin/shared/deployment/rollback-manager.js +0 -523
  108. package/dist/deployment/orchestration/EnterpriseOrchestrator.js +0 -401
  109. package/dist/service-management/ServiceInitializer.js +0 -453
  110. /package/dist/{bin → lib}/database/deployment-db-manager.js +0 -0
  111. /package/dist/{bin → lib}/database/wrangler-d1-manager.js +0 -0
  112. /package/dist/{bin → lib}/deployment/modules/DeploymentConfiguration.js +0 -0
  113. /package/dist/{bin → lib}/deployment/modules/MonitoringIntegration.js +0 -0
  114. /package/dist/{bin → lib}/deployment/modules/ValidationManager.js +0 -0
  115. /package/dist/{bin → lib}/deployment/orchestration/BaseDeploymentOrchestrator.js +0 -0
  116. /package/dist/{bin → lib}/deployment/orchestration/PortfolioOrchestrator.js +0 -0
  117. /package/dist/{bin → lib}/deployment/orchestration/SingleServiceOrchestrator.js +0 -0
  118. /package/dist/{bin → lib}/deployment/orchestration/UnifiedDeploymentOrchestrator.js +0 -0
  119. /package/dist/{bin → lib}/shared/config/cache.js +0 -0
  120. /package/dist/{bin → lib}/shared/config/cloudflare-service-validator.js +0 -0
  121. /package/dist/{bin → lib}/shared/config/manager.js +0 -0
  122. /package/dist/{bin → lib}/shared/config/manifest-loader.js +0 -0
  123. /package/dist/{bin → lib}/shared/database/connection-manager.js +0 -0
  124. /package/dist/{bin → lib}/shared/database/index.js +0 -0
  125. /package/dist/{bin → lib}/shared/database/orchestrator.js +0 -0
  126. /package/dist/{bin → lib}/shared/deployment/auditor.js +0 -0
  127. /package/dist/{bin → lib}/shared/index.js +0 -0
  128. /package/dist/{bin → lib}/shared/logging/Logger.js +0 -0
  129. /package/dist/{bin → lib}/shared/monitoring/index.js +0 -0
  130. /package/dist/{bin → lib}/shared/monitoring/production-monitor.js +0 -0
  131. /package/dist/{bin → lib}/shared/production-tester/api-tester.js +0 -0
  132. /package/dist/{bin → lib}/shared/production-tester/auth-tester.js +0 -0
  133. /package/dist/{bin → lib}/shared/production-tester/core.js +0 -0
  134. /package/dist/{bin → lib}/shared/production-tester/database-tester.js +0 -0
  135. /package/dist/{bin → lib}/shared/production-tester/index.js +0 -0
  136. /package/dist/{bin → lib}/shared/production-tester/load-tester.js +0 -0
  137. /package/dist/{bin → lib}/shared/production-tester/performance-tester.js +0 -0
  138. /package/dist/{bin → lib}/shared/security/api-token-manager.js +0 -0
  139. /package/dist/{bin → lib}/shared/security/index.js +0 -0
  140. /package/dist/{bin → lib}/shared/security/secret-generator.js +0 -0
  141. /package/dist/{bin → lib}/shared/security/secure-token-manager.js +0 -0
  142. /package/dist/{bin → lib}/shared/utils/ErrorHandler.js +0 -0
  143. /package/dist/{bin → lib}/shared/utils/cli-options.js +0 -0
  144. /package/dist/{bin → lib}/shared/utils/config-loader.js +0 -0
  145. /package/dist/{bin → lib}/shared/utils/error-recovery.js +0 -0
  146. /package/dist/{bin → lib}/shared/utils/file-manager.js +0 -0
  147. /package/dist/{bin → lib}/shared/utils/graceful-shutdown-manager.js +0 -0
  148. /package/dist/{bin → lib}/shared/utils/interactive-utils.js +0 -0
  149. /package/dist/{bin → lib}/shared/utils/output-formatter.js +0 -0
  150. /package/dist/{bin → lib}/shared/utils/rate-limiter.js +0 -0
@@ -1,466 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Refactored Enterprise Interactive Deployer
5
- *
6
- * Modular deployment system using focused components for maintainability and reusability.
7
- * Leverages new modular architecture with specialized managers for each deployment aspect.
8
- *
9
- * Modular Components:
10
- * - DeploymentConfiguration: Configuration management and setup
11
- * - EnvironmentManager: Environment and domain orchestration
12
- * - ValidationManager: Comprehensive validation orchestration
13
- * - MonitoringIntegration: Health checking and performance monitoring
14
- * - DeploymentOrchestrator: Main deployment flow coordination
15
- *
16
- * Features:
17
- * - Clean separation of concerns with focused modules
18
- * - Interactive deployment flow with comprehensive validation
19
- * - Enterprise module integration support
20
- * - Comprehensive monitoring and reporting
21
- * - Rollback and recovery capabilities
22
- * - Multi-domain and portfolio management support
23
- *
24
- * @version 3.0.0 - Modular Architecture Edition
25
- */
26
- import { askYesNo, closePrompts, startProgress } from '../shared/utils/interactive-utils.js';
27
-
28
- // Modular architecture components
29
- import { DeploymentConfiguration } from './modules/DeploymentConfiguration.js';
30
- import { EnvironmentManager } from './modules/EnvironmentManager.js';
31
- import { ValidationManager } from './modules/ValidationManager.js';
32
- import { MonitoringIntegration } from './modules/MonitoringIntegration.js';
33
- import { DeploymentOrchestrator } from './modules/DeploymentOrchestrator.js';
34
-
35
- // Enterprise modules (optional)
36
- import { MultiDomainOrchestrator } from "../../orchestration/multi-domain-orchestrator.js";
37
- import { CrossDomainCoordinator } from "../../orchestration/cross-domain-coordinator.js";
38
- import { DeploymentValidator } from '../shared/deployment/validator.js';
39
- import { DatabaseOrchestrator } from "../../database/database-orchestrator.js";
40
- import { EnhancedSecretManager } from '../shared/security/secret-generator.js';
41
- import { ProductionTester } from '../shared/production-tester/index.js';
42
- import { DeploymentAuditor } from '../shared/deployment/auditor.js';
43
- import { RollbackManager } from '../shared/deployment/rollback-manager.js';
44
-
45
- /**
46
- * Refactored Enterprise Interactive Deployer using modular architecture
47
- */
48
- export class ModularEnterpriseDeployer {
49
- constructor() {
50
- this.version = '3.0.0';
51
- this.deploymentId = `deploy-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
52
-
53
- // Core modular components
54
- this.components = {
55
- config: null,
56
- // DeploymentConfiguration
57
- environment: null,
58
- // EnvironmentManager
59
- validation: null,
60
- // ValidationManager
61
- monitoring: null,
62
- // MonitoringIntegration
63
- orchestrator: null // DeploymentOrchestrator
64
- };
65
-
66
- // Enterprise modules (optional)
67
- this.enterpriseModules = {};
68
-
69
- // Deployment state
70
- this.deploymentState = {
71
- currentPhase: 'initialization',
72
- startTime: null,
73
- config: {},
74
- errors: [],
75
- warnings: []
76
- };
77
- }
78
-
79
- /**
80
- * Main deployment execution flow
81
- */
82
- async run() {
83
- try {
84
- console.log('\\n🚀 Modular Enterprise Deployment System v3.0.0');
85
- console.log('================================================');
86
- console.log('Advanced modular architecture with focused components');
87
- console.log(`Deployment ID: ${this.deploymentId}`);
88
-
89
- // Initialize core components
90
- await this.initializeComponents();
91
-
92
- // Initialize enterprise modules if needed
93
- await this.initializeEnterpriseModules();
94
-
95
- // Start deployment monitoring
96
- this.components.monitoring.startDeploymentMonitoring(this.deploymentId);
97
-
98
- // Execute deployment phases using modular components
99
- await this.executeModularDeploymentFlow();
100
-
101
- // Display success summary
102
- this.components.monitoring.displaySuccessSummary();
103
- console.log('\\n🎉 Modular deployment completed successfully!');
104
- } catch (error) {
105
- console.error(`\\n❌ Deployment failed: ${error.message}`);
106
-
107
- // Attempt rollback if available
108
- if (this.enterpriseModules.rollbackManager) {
109
- const shouldRollback = await askYesNo('Attempt automatic rollback?', 'y');
110
- if (shouldRollback) {
111
- await this.executeRollback(error);
112
- }
113
- }
114
- process.exit(1);
115
- } finally {
116
- // Cleanup resources
117
- await this.cleanup();
118
- }
119
- }
120
-
121
- /**
122
- * Initialize core modular components
123
- */
124
- async initializeComponents() {
125
- console.log('\\n🔧 Initializing Modular Components');
126
- console.log('====================================');
127
-
128
- // Initialize configuration manager
129
- this.components.config = new DeploymentConfiguration();
130
- console.log(' ✅ Configuration Manager initialized');
131
-
132
- // Initialize environment manager
133
- this.components.environment = new EnvironmentManager(this.deploymentState.config);
134
- console.log(' ✅ Environment Manager initialized');
135
-
136
- // Initialize validation manager
137
- this.components.validation = new ValidationManager(this.deploymentState.config, this.enterpriseModules);
138
- console.log(' ✅ Validation Manager initialized');
139
-
140
- // Initialize monitoring integration
141
- this.components.monitoring = new MonitoringIntegration(this.deploymentState.config, this.enterpriseModules);
142
- console.log(' ✅ Monitoring Integration initialized');
143
-
144
- // Initialize deployment orchestrator
145
- this.components.orchestrator = new DeploymentOrchestrator(this.deploymentState.config);
146
- console.log(' ✅ Deployment Orchestrator initialized');
147
- console.log('\\n✅ All modular components initialized successfully');
148
- }
149
-
150
- /**
151
- * Initialize enterprise modules for advanced features
152
- */
153
- async initializeEnterpriseModules() {
154
- console.log('\\n🏢 Initializing Enterprise Modules');
155
- console.log('====================================');
156
- try {
157
- // Initialize enterprise modules
158
- this.enterpriseModules = {
159
- validator: new DeploymentValidator({
160
- validationLevel: 'comprehensive'
161
- }),
162
- databaseOrchestrator: new DatabaseOrchestrator({
163
- enableSafeMode: true
164
- }),
165
- secretManager: new EnhancedSecretManager({
166
- crossDomainCoordination: false
167
- }),
168
- productionTester: new ProductionTester({
169
- comprehensiveTests: true
170
- }),
171
- auditor: new DeploymentAuditor({
172
- auditLevel: 'detailed'
173
- }),
174
- rollbackManager: new RollbackManager({
175
- autoRollbackEnabled: true
176
- })
177
- };
178
-
179
- // Initialize auditing for this deployment
180
- this.enterpriseModules.auditor.initializeAudit(this.deploymentId, 'modular-interactive-deployment');
181
- console.log(' ✅ Enterprise validation and testing modules loaded');
182
- console.log(' ✅ Enterprise database and security modules loaded');
183
- console.log(' ✅ Enterprise audit and rollback modules loaded');
184
-
185
- // Update validation manager with enterprise modules
186
- this.components.validation = new ValidationManager(this.deploymentState.config, this.enterpriseModules);
187
-
188
- // Update monitoring integration with enterprise modules
189
- this.components.monitoring = new MonitoringIntegration(this.deploymentState.config, this.enterpriseModules);
190
- console.log('\\n✅ Enterprise modules initialized successfully');
191
- } catch (error) {
192
- console.warn(`\\n⚠️ Enterprise modules initialization failed: ${error.message}`);
193
- console.log(' Continuing with standard deployment capabilities...');
194
- }
195
- }
196
-
197
- /**
198
- * Execute modular deployment flow with enhanced progress tracking
199
- */
200
- async executeModularDeploymentFlow() {
201
- this.deploymentState.startTime = new Date();
202
-
203
- // Initialize progress tracking for 6 phases
204
- const progressTracker = startProgress(6, 'Starting Enhanced Modular Deployment');
205
-
206
- // Phase 1: Environment and Mode Selection
207
- progressTracker.nextStep('Environment Setup and Mode Selection');
208
- await this.executeEnvironmentSetup();
209
-
210
- // Phase 2: Configuration Management
211
- progressTracker.nextStep('Configuration Generation and Management');
212
- await this.executeConfigurationSetup();
213
-
214
- // Phase 3: Comprehensive Validation
215
- progressTracker.nextStep('Comprehensive Validation Suite');
216
- await this.executeValidationPhase();
217
-
218
- // Phase 4: Pre-deployment Preparation
219
- progressTracker.nextStep('Pre-deployment Preparation');
220
- await this.executePreDeploymentPhase();
221
-
222
- // Phase 5: Main Deployment Execution
223
- progressTracker.nextStep('Main Deployment Execution');
224
- await this.executeMainDeployment();
225
-
226
- // Phase 6: Post-deployment Testing and Monitoring
227
- progressTracker.nextStep('Post-deployment Testing and Monitoring');
228
- await this.executePostDeploymentPhase();
229
- console.log('\\n✅ All deployment phases completed successfully!');
230
- }
231
-
232
- /**
233
- * Phase 1: Environment Setup using EnvironmentManager
234
- */
235
- async executeEnvironmentSetup() {
236
- this.components.monitoring.recordPhase('environment-setup', 'start');
237
- console.log('\\n🌍 Phase 1: Environment Setup');
238
- console.log('==============================');
239
-
240
- // Select deployment mode
241
- const deploymentMode = await this.components.environment.selectDeploymentMode();
242
- this.deploymentState.config.deploymentMode = deploymentMode;
243
-
244
- // Initialize environment-specific components
245
- await this.components.environment.initializeEnvironment();
246
-
247
- // Gather environment configuration
248
- const envConfig = await this.components.environment.gatherEnvironmentConfiguration();
249
- Object.assign(this.deploymentState.config, envConfig);
250
- this.components.monitoring.recordPhase('environment-setup', 'end', {
251
- deploymentMode,
252
- environment: this.deploymentState.config.environment,
253
- domain: this.deploymentState.config.domain
254
- });
255
- console.log(`\\n✅ Environment setup completed - ${deploymentMode} mode`);
256
- }
257
-
258
- /**
259
- * Phase 2: Configuration Setup using DeploymentConfiguration
260
- */
261
- async executeConfigurationSetup() {
262
- this.components.monitoring.recordPhase('configuration-setup', 'start');
263
- console.log('\\n⚙️ Phase 2: Configuration Setup');
264
- console.log('=================================');
265
-
266
- // Generate deployment configuration
267
- const config = await this.components.config.generateDeploymentConfiguration(this.deploymentState.config.domain, this.deploymentState.config.environment, {
268
- deploymentMode: this.deploymentState.config.deploymentMode,
269
- interactiveMode: true
270
- });
271
-
272
- // Merge configuration
273
- this.deploymentState.config = {
274
- ...this.deploymentState.config,
275
- ...config
276
- };
277
-
278
- // Update all components with final configuration
279
- this.updateComponentsWithConfig();
280
- this.components.monitoring.recordPhase('configuration-setup', 'end', {
281
- configKeys: Object.keys(config).length
282
- });
283
- console.log('\\n✅ Configuration setup completed');
284
- }
285
-
286
- /**
287
- * Phase 3: Validation using ValidationManager
288
- */
289
- async executeValidationPhase() {
290
- this.components.monitoring.recordPhase('validation', 'start');
291
- console.log('\\n🔍 Phase 3: Comprehensive Validation');
292
- console.log('=====================================');
293
-
294
- // Execute comprehensive validation
295
- const validationResult = await this.components.validation.executeComprehensiveValidation();
296
- if (!validationResult.valid) {
297
- // Attempt auto-fix for common issues
298
- if (validationResult.phases.failed.some(f => f.phase === 'Authentication')) {
299
- const fixed = await this.components.validation.autoFixAuthentication();
300
- if (fixed) {
301
- console.log(' ✅ Authentication issue auto-fixed');
302
- }
303
- }
304
-
305
- // Re-validate after fixes
306
- const revalidationResult = await this.components.validation.executeComprehensiveValidation();
307
- if (!revalidationResult.valid) {
308
- const continueAnyway = await askYesNo('\\nContinue deployment despite validation errors?', 'n');
309
- if (!continueAnyway) {
310
- throw new Error('Deployment cancelled due to validation failures');
311
- }
312
- }
313
- }
314
- this.components.monitoring.recordPhase('validation', 'end', {
315
- validationResult: validationResult.valid,
316
- errors: validationResult.phases.failed.length,
317
- warnings: validationResult.phases.warnings.length
318
- });
319
- console.log('\\n✅ Validation phase completed');
320
- }
321
-
322
- /**
323
- * Phase 4: Pre-deployment Preparation
324
- */
325
- async executePreDeploymentPhase() {
326
- this.components.monitoring.recordPhase('pre-deployment', 'start');
327
- console.log('\\n🚀 Phase 4: Pre-deployment Preparation');
328
- console.log('=======================================');
329
-
330
- // Prepare deployment using orchestrator
331
- await this.components.orchestrator.prepareDeployment(this.deploymentState.config.domain, this.deploymentState.config.environment, {
332
- validateConfiguration: true,
333
- setupDatabase: true,
334
- generateSecrets: true
335
- });
336
- this.components.monitoring.recordPhase('pre-deployment', 'end');
337
- console.log('\\n✅ Pre-deployment preparation completed');
338
- }
339
-
340
- /**
341
- * Phase 5: Main Deployment Execution
342
- */
343
- async executeMainDeployment() {
344
- this.components.monitoring.recordPhase('deployment', 'start');
345
- console.log('\\n🚀 Phase 5: Main Deployment Execution');
346
- console.log('======================================');
347
-
348
- // Execute deployment using orchestrator
349
- const deploymentResult = await this.components.orchestrator.executeDeployment(this.deploymentState.config.domain, this.deploymentState.config.environment, {
350
- enableRollback: true,
351
- runValidation: true,
352
- interactiveMode: true
353
- });
354
- if (!deploymentResult.success) {
355
- throw new Error(`Deployment failed: ${deploymentResult.error}`);
356
- }
357
-
358
- // Update config with deployment results
359
- this.deploymentState.config.worker = deploymentResult.worker;
360
- this.deploymentState.config.database = deploymentResult.database;
361
- this.components.monitoring.recordPhase('deployment', 'end', {
362
- workerUrl: deploymentResult.worker?.url,
363
- databaseId: deploymentResult.database?.id
364
- });
365
- console.log('\\n✅ Main deployment execution completed');
366
- }
367
-
368
- /**
369
- * Phase 6: Post-deployment Testing and Monitoring
370
- */
371
- async executePostDeploymentPhase() {
372
- this.components.monitoring.recordPhase('post-deployment', 'start');
373
- console.log('\\n🧪 Phase 6: Post-deployment Testing');
374
- console.log('====================================');
375
-
376
- // Execute health validation
377
- await this.components.monitoring.executeHealthValidation();
378
-
379
- // Execute comprehensive testing
380
- if (this.enterpriseModules.productionTester) {
381
- await this.components.monitoring.executeEnterpriseComprehensiveTesting();
382
- } else {
383
- await this.components.monitoring.executePostDeploymentTesting();
384
- }
385
- this.components.monitoring.recordPhase('post-deployment', 'end');
386
- console.log('\\n✅ Post-deployment testing completed');
387
- }
388
-
389
- /**
390
- * Update all components with final configuration
391
- */
392
- updateComponentsWithConfig() {
393
- // Update environment manager
394
- this.components.environment.config = this.deploymentState.config;
395
-
396
- // Update validation manager
397
- this.components.validation.config = this.deploymentState.config;
398
-
399
- // Update monitoring integration
400
- this.components.monitoring.config = this.deploymentState.config;
401
-
402
- // Update deployment orchestrator
403
- this.components.orchestrator.config = this.deploymentState.config;
404
- }
405
-
406
- /**
407
- * Execute rollback in case of deployment failure
408
- */
409
- async executeRollback(error) {
410
- console.log('\\n🔄 Initiating Rollback Process');
411
- console.log('===============================');
412
- try {
413
- const rollbackResult = await this.enterpriseModules.rollbackManager.executeRollback(this.deploymentId, {
414
- reason: error.message,
415
- interactiveMode: true
416
- });
417
- if (rollbackResult.success) {
418
- console.log('\\n✅ Rollback completed successfully');
419
- } else {
420
- console.error(`\\n❌ Rollback failed: ${rollbackResult.error}`);
421
- }
422
- } catch (rollbackError) {
423
- console.error(`\\n❌ Rollback process failed: ${rollbackError.message}`);
424
- }
425
- }
426
-
427
- /**
428
- * Cleanup resources and close connections
429
- */
430
- async cleanup() {
431
- console.log('\\n🧹 Cleaning up resources...');
432
- try {
433
- // Cleanup modular components
434
- if (this.components.environment) {
435
- await this.components.environment.cleanup();
436
- }
437
- if (this.components.monitoring) {
438
- this.components.monitoring.cleanup();
439
- }
440
-
441
- // Cleanup enterprise modules
442
- if (this.enterpriseModules.rollbackManager) {
443
- await this.enterpriseModules.rollbackManager.cleanup();
444
- }
445
-
446
- // Close interactive prompts
447
- closePrompts();
448
- console.log(' ✅ Cleanup completed');
449
- } catch (error) {
450
- console.warn(` ⚠️ Cleanup warning: ${error.message}`);
451
- }
452
- }
453
- }
454
-
455
- /**
456
- * Main execution entry point
457
- */
458
- async function main() {
459
- const deployer = new ModularEnterpriseDeployer();
460
- await deployer.run();
461
- }
462
-
463
- // Execute if running directly
464
- if (process.argv[1] && import.meta.url.includes(process.argv[1].replace(/\\\\/g, '/'))) {
465
- main().catch(console.error);
466
- }