@tamyla/clodo-framework 1.0.0
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.
- package/CHANGELOG.md +564 -0
- package/LICENSE +21 -0
- package/README.md +1393 -0
- package/bin/README.md +71 -0
- package/bin/clodo-service.js +416 -0
- package/bin/security/security-cli.js +96 -0
- package/bin/service-management/README.md +74 -0
- package/bin/service-management/create-service.js +129 -0
- package/bin/service-management/init-service.js +102 -0
- package/bin/service-management/init-service.js.backup +889 -0
- package/bin/shared/config/customer-cli.js +293 -0
- package/dist/config/ConfigurationManager.js +159 -0
- package/dist/config/CustomerConfigCLI.js +220 -0
- package/dist/config/FeatureManager.js +426 -0
- package/dist/config/customers.js +441 -0
- package/dist/config/domains.js +180 -0
- package/dist/config/features.js +225 -0
- package/dist/config/index.js +6 -0
- package/dist/database/database-orchestrator.js +730 -0
- package/dist/database/index.js +4 -0
- package/dist/deployment/auditor.js +971 -0
- package/dist/deployment/index.js +10 -0
- package/dist/deployment/rollback-manager.js +523 -0
- package/dist/deployment/testers/api-tester.js +80 -0
- package/dist/deployment/testers/auth-tester.js +129 -0
- package/dist/deployment/testers/core.js +217 -0
- package/dist/deployment/testers/database-tester.js +105 -0
- package/dist/deployment/testers/index.js +74 -0
- package/dist/deployment/testers/load-tester.js +120 -0
- package/dist/deployment/testers/performance-tester.js +105 -0
- package/dist/deployment/validator.js +558 -0
- package/dist/deployment/wrangler-deployer.js +574 -0
- package/dist/handlers/GenericRouteHandler.js +532 -0
- package/dist/index.js +39 -0
- package/dist/migration/MigrationAdapters.js +562 -0
- package/dist/modules/ModuleManager.js +668 -0
- package/dist/modules/security.js +98 -0
- package/dist/orchestration/cross-domain-coordinator.js +1083 -0
- package/dist/orchestration/index.js +5 -0
- package/dist/orchestration/modules/DeploymentCoordinator.js +258 -0
- package/dist/orchestration/modules/DomainResolver.js +196 -0
- package/dist/orchestration/modules/StateManager.js +332 -0
- package/dist/orchestration/multi-domain-orchestrator.js +255 -0
- package/dist/routing/EnhancedRouter.js +158 -0
- package/dist/schema/SchemaManager.js +778 -0
- package/dist/security/ConfigurationValidator.js +490 -0
- package/dist/security/DeploymentManager.js +208 -0
- package/dist/security/SecretGenerator.js +142 -0
- package/dist/security/SecurityCLI.js +228 -0
- package/dist/security/index.js +51 -0
- package/dist/security/patterns/environment-rules.js +66 -0
- package/dist/security/patterns/insecure-patterns.js +21 -0
- package/dist/service-management/ConfirmationEngine.js +411 -0
- package/dist/service-management/ErrorTracker.js +294 -0
- package/dist/service-management/GenerationEngine.js +3109 -0
- package/dist/service-management/InputCollector.js +237 -0
- package/dist/service-management/ServiceCreator.js +229 -0
- package/dist/service-management/ServiceInitializer.js +448 -0
- package/dist/service-management/ServiceOrchestrator.js +638 -0
- package/dist/service-management/handlers/ConfigMutator.js +130 -0
- package/dist/service-management/handlers/ConfirmationHandler.js +71 -0
- package/dist/service-management/handlers/GenerationHandler.js +80 -0
- package/dist/service-management/handlers/InputHandler.js +59 -0
- package/dist/service-management/handlers/ValidationHandler.js +203 -0
- package/dist/service-management/index.js +7 -0
- package/dist/services/GenericDataService.js +488 -0
- package/dist/shared/cloudflare/domain-discovery.js +562 -0
- package/dist/shared/cloudflare/domain-manager.js +912 -0
- package/dist/shared/cloudflare/index.js +8 -0
- package/dist/shared/cloudflare/ops.js +387 -0
- package/dist/shared/config/cache.js +1167 -0
- package/dist/shared/config/command-config-manager.js +174 -0
- package/dist/shared/config/customer-cli.js +258 -0
- package/dist/shared/config/index.js +9 -0
- package/dist/shared/config/manager.js +289 -0
- package/dist/shared/database/connection-manager.js +338 -0
- package/dist/shared/database/index.js +7 -0
- package/dist/shared/database/orchestrator.js +632 -0
- package/dist/shared/deployment/auditor.js +971 -0
- package/dist/shared/deployment/index.js +10 -0
- package/dist/shared/deployment/rollback-manager.js +523 -0
- package/dist/shared/deployment/validator.js +558 -0
- package/dist/shared/index.js +32 -0
- package/dist/shared/monitoring/health-checker.js +250 -0
- package/dist/shared/monitoring/index.js +8 -0
- package/dist/shared/monitoring/memory-manager.js +382 -0
- package/dist/shared/monitoring/production-monitor.js +390 -0
- package/dist/shared/production-tester/api-tester.js +80 -0
- package/dist/shared/production-tester/auth-tester.js +129 -0
- package/dist/shared/production-tester/core.js +217 -0
- package/dist/shared/production-tester/database-tester.js +105 -0
- package/dist/shared/production-tester/index.js +74 -0
- package/dist/shared/production-tester/load-tester.js +120 -0
- package/dist/shared/production-tester/performance-tester.js +105 -0
- package/dist/shared/security/api-token-manager.js +296 -0
- package/dist/shared/security/index.js +8 -0
- package/dist/shared/security/secret-generator.js +918 -0
- package/dist/shared/security/secure-token-manager.js +379 -0
- package/dist/shared/utils/error-recovery.js +240 -0
- package/dist/shared/utils/graceful-shutdown-manager.js +380 -0
- package/dist/shared/utils/index.js +9 -0
- package/dist/shared/utils/interactive-prompts.js +134 -0
- package/dist/shared/utils/rate-limiter.js +249 -0
- package/dist/utils/ErrorHandler.js +173 -0
- package/dist/utils/deployment/config-cache.js +1160 -0
- package/dist/utils/deployment/index.js +6 -0
- package/dist/utils/deployment/interactive-prompts.js +97 -0
- package/dist/utils/deployment/secret-generator.js +896 -0
- package/dist/utils/dirname-helper.js +35 -0
- package/dist/utils/domain-config.js +159 -0
- package/dist/utils/error-recovery.js +240 -0
- package/dist/utils/esm-helper.js +52 -0
- package/dist/utils/framework-config.js +481 -0
- package/dist/utils/graceful-shutdown-manager.js +379 -0
- package/dist/utils/health-checker.js +114 -0
- package/dist/utils/index.js +36 -0
- package/dist/utils/prompt-handler.js +98 -0
- package/dist/utils/usage-tracker.js +252 -0
- package/dist/utils/validation.js +112 -0
- package/dist/version/VersionDetector.js +723 -0
- package/dist/worker/index.js +4 -0
- package/dist/worker/integration.js +332 -0
- package/docs/FRAMEWORK-ARCHITECTURE-OVERVIEW.md +206 -0
- package/docs/INTEGRATION_GUIDE.md +2045 -0
- package/docs/README.md +82 -0
- package/docs/SECURITY.md +242 -0
- package/docs/deployment/deployment-guide.md +540 -0
- package/docs/overview.md +280 -0
- package/package.json +176 -0
- package/types/index.d.ts +575 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ConfigurationValidator } from '../security/ConfigurationValidator.js';
|
|
2
|
+
import { DeploymentManager } from '../security/DeploymentManager.js';
|
|
3
|
+
import { SecretGenerator } from '../security/SecretGenerator.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Security Module for Clodo Framework
|
|
7
|
+
* Provides comprehensive security validation and management
|
|
8
|
+
*/
|
|
9
|
+
export const securityModule = {
|
|
10
|
+
name: 'security',
|
|
11
|
+
version: '1.0.0',
|
|
12
|
+
// Main security methods
|
|
13
|
+
validate: (config, env) => ConfigurationValidator.validate(config, env),
|
|
14
|
+
validateConfiguration: (customer, env) => ConfigurationValidator.validateConfiguration(customer, env),
|
|
15
|
+
// Key generation
|
|
16
|
+
generateSecureKey: prefix => SecretGenerator.generateSecureApiKey(32, prefix),
|
|
17
|
+
generateSecureJwtSecret: length => SecretGenerator.generateSecureJwtSecret(length || 64),
|
|
18
|
+
generateServiceKey: (serviceName, env, length) => SecretGenerator.generateServiceKey(serviceName, env, length),
|
|
19
|
+
// Secure deployment
|
|
20
|
+
deployWithSecurity: options => DeploymentManager.deployWithSecurity(options),
|
|
21
|
+
generateSecureConfig: (customer, env) => DeploymentManager.generateSecureConfig(customer, env),
|
|
22
|
+
validateDeploymentReadiness: (customer, env) => DeploymentManager.validateDeploymentReadiness(customer, env),
|
|
23
|
+
// Pre-deployment hooks
|
|
24
|
+
hooks: {
|
|
25
|
+
'pre-deployment': async context => {
|
|
26
|
+
const {
|
|
27
|
+
config,
|
|
28
|
+
environment,
|
|
29
|
+
customer
|
|
30
|
+
} = context;
|
|
31
|
+
console.log(`🔒 Security validation for ${customer}/${environment}`);
|
|
32
|
+
|
|
33
|
+
// Validate configuration
|
|
34
|
+
const issues = ConfigurationValidator.validate(config, environment);
|
|
35
|
+
const criticalIssues = issues.filter(i => i.severity === 'critical');
|
|
36
|
+
if (criticalIssues.length > 0) {
|
|
37
|
+
console.error('❌ Critical security issues detected:');
|
|
38
|
+
criticalIssues.forEach(issue => {
|
|
39
|
+
console.error(` - ${issue.message}`);
|
|
40
|
+
if (issue.key) console.error(` Field: ${issue.key}`);
|
|
41
|
+
});
|
|
42
|
+
throw new Error('Deployment blocked due to critical security issues');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Check deployment readiness
|
|
46
|
+
const readiness = DeploymentManager.validateDeploymentReadiness(customer, environment);
|
|
47
|
+
if (!readiness.ready) {
|
|
48
|
+
console.error('❌ Deployment not ready:');
|
|
49
|
+
readiness.issues.forEach(issue => console.error(` - ${issue}`));
|
|
50
|
+
throw new Error('Deployment blocked due to readiness issues');
|
|
51
|
+
}
|
|
52
|
+
console.log(`✅ Security validation passed (${issues.length} total issues, ${criticalIssues.length} critical)`);
|
|
53
|
+
return {
|
|
54
|
+
valid: true,
|
|
55
|
+
issues,
|
|
56
|
+
readiness
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
'post-deployment': async context => {
|
|
60
|
+
const {
|
|
61
|
+
customer,
|
|
62
|
+
environment
|
|
63
|
+
} = context;
|
|
64
|
+
console.log(`🔍 Post-deployment security checks for ${customer}/${environment}`);
|
|
65
|
+
|
|
66
|
+
// Perform post-deployment validation
|
|
67
|
+
try {
|
|
68
|
+
await DeploymentManager.performPostDeploymentChecks(customer, environment);
|
|
69
|
+
console.log(`✅ Post-deployment checks passed`);
|
|
70
|
+
} catch (error) {
|
|
71
|
+
console.error(`❌ Post-deployment checks failed: ${error.message}`);
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
// Utility methods
|
|
77
|
+
utils: {
|
|
78
|
+
calculateKeyEntropy: key => SecretGenerator.calculateEntropy(key),
|
|
79
|
+
validateKeyStrength: (key, requirements) => SecretGenerator.validateKeyStrength(key, requirements),
|
|
80
|
+
isValidEnvironment: env => {
|
|
81
|
+
const {
|
|
82
|
+
isValidEnvironment
|
|
83
|
+
} = require('../security/patterns/environment-rules.js');
|
|
84
|
+
return isValidEnvironment(env);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// Auto-register the security module if ModuleManager is available
|
|
90
|
+
try {
|
|
91
|
+
const {
|
|
92
|
+
moduleManager
|
|
93
|
+
} = await import('../modules/ModuleManager.js');
|
|
94
|
+
moduleManager.registerModule('security', securityModule);
|
|
95
|
+
console.log('🔒 Security module registered with Clodo Framework');
|
|
96
|
+
} catch (error) {
|
|
97
|
+
// ModuleManager not available, module will be registered manually
|
|
98
|
+
}
|