@friggframework/devtools 2.0.0-next.61 → 2.0.0-next.62
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/package.json +14 -7
- package/.eslintrc.json +0 -3
- package/CHANGELOG.md +0 -132
- package/infrastructure/ARCHITECTURE.md +0 -487
- package/infrastructure/CLAUDE.md +0 -481
- package/infrastructure/HEALTH.md +0 -468
- package/infrastructure/README.md +0 -522
- package/infrastructure/__tests__/fixtures/mock-aws-resources.js +0 -391
- package/infrastructure/__tests__/helpers/test-utils.js +0 -277
- package/infrastructure/__tests__/postgres-config.test.js +0 -914
- package/infrastructure/__tests__/template-generation.test.js +0 -687
- package/infrastructure/create-frigg-infrastructure.js +0 -147
- package/infrastructure/docs/POSTGRES-CONFIGURATION.md +0 -630
- package/infrastructure/docs/PRE-DEPLOYMENT-HEALTH-CHECK-SPEC.md +0 -1317
- package/infrastructure/docs/WEBSOCKET-CONFIGURATION.md +0 -105
- package/infrastructure/docs/deployment-instructions.md +0 -268
- package/infrastructure/docs/generate-iam-command.md +0 -278
- package/infrastructure/docs/iam-policy-templates.md +0 -193
- package/infrastructure/domains/database/aurora-builder.js +0 -809
- package/infrastructure/domains/database/aurora-builder.test.js +0 -950
- package/infrastructure/domains/database/aurora-discovery.js +0 -87
- package/infrastructure/domains/database/aurora-discovery.test.js +0 -188
- package/infrastructure/domains/database/aurora-resolver.js +0 -210
- package/infrastructure/domains/database/aurora-resolver.test.js +0 -347
- package/infrastructure/domains/database/migration-builder.js +0 -701
- package/infrastructure/domains/database/migration-builder.test.js +0 -321
- package/infrastructure/domains/database/migration-resolver.js +0 -163
- package/infrastructure/domains/database/migration-resolver.test.js +0 -337
- package/infrastructure/domains/health/application/ports/IPropertyReconciler.js +0 -164
- package/infrastructure/domains/health/application/ports/IResourceDetector.js +0 -129
- package/infrastructure/domains/health/application/ports/IResourceImporter.js +0 -142
- package/infrastructure/domains/health/application/ports/IStackRepository.js +0 -131
- package/infrastructure/domains/health/application/ports/index.js +0 -26
- package/infrastructure/domains/health/application/use-cases/__tests__/execute-resource-import-use-case.test.js +0 -679
- package/infrastructure/domains/health/application/use-cases/__tests__/mismatch-analyzer-method-name.test.js +0 -167
- package/infrastructure/domains/health/application/use-cases/__tests__/repair-via-import-use-case.test.js +0 -1130
- package/infrastructure/domains/health/application/use-cases/execute-resource-import-use-case.js +0 -221
- package/infrastructure/domains/health/application/use-cases/reconcile-properties-use-case.js +0 -152
- package/infrastructure/domains/health/application/use-cases/reconcile-properties-use-case.test.js +0 -343
- package/infrastructure/domains/health/application/use-cases/repair-via-import-use-case.js +0 -535
- package/infrastructure/domains/health/application/use-cases/repair-via-import-use-case.test.js +0 -376
- package/infrastructure/domains/health/application/use-cases/run-health-check-use-case.js +0 -213
- package/infrastructure/domains/health/application/use-cases/run-health-check-use-case.test.js +0 -441
- package/infrastructure/domains/health/docs/ACME-DEV-DRIFT-ANALYSIS.md +0 -267
- package/infrastructure/domains/health/docs/BUILD-VS-DEPLOYED-TEMPLATE-ANALYSIS.md +0 -324
- package/infrastructure/domains/health/docs/ORPHAN-DETECTION-ANALYSIS.md +0 -386
- package/infrastructure/domains/health/docs/SPEC-CLEANUP-COMMAND.md +0 -1419
- package/infrastructure/domains/health/docs/TDD-IMPLEMENTATION-SUMMARY.md +0 -391
- package/infrastructure/domains/health/docs/TEMPLATE-COMPARISON-IMPLEMENTATION.md +0 -551
- package/infrastructure/domains/health/domain/entities/issue.js +0 -299
- package/infrastructure/domains/health/domain/entities/issue.test.js +0 -528
- package/infrastructure/domains/health/domain/entities/property-mismatch.js +0 -108
- package/infrastructure/domains/health/domain/entities/property-mismatch.test.js +0 -275
- package/infrastructure/domains/health/domain/entities/resource.js +0 -159
- package/infrastructure/domains/health/domain/entities/resource.test.js +0 -432
- package/infrastructure/domains/health/domain/entities/stack-health-report.js +0 -306
- package/infrastructure/domains/health/domain/entities/stack-health-report.test.js +0 -601
- package/infrastructure/domains/health/domain/services/__tests__/health-score-percentage-based.test.js +0 -380
- package/infrastructure/domains/health/domain/services/__tests__/import-progress-monitor.test.js +0 -971
- package/infrastructure/domains/health/domain/services/__tests__/import-template-generator.test.js +0 -1150
- package/infrastructure/domains/health/domain/services/__tests__/logical-id-mapper.test.js +0 -672
- package/infrastructure/domains/health/domain/services/__tests__/template-parser.test.js +0 -496
- package/infrastructure/domains/health/domain/services/__tests__/update-progress-monitor.test.js +0 -419
- package/infrastructure/domains/health/domain/services/health-score-calculator.js +0 -248
- package/infrastructure/domains/health/domain/services/health-score-calculator.test.js +0 -504
- package/infrastructure/domains/health/domain/services/import-progress-monitor.js +0 -195
- package/infrastructure/domains/health/domain/services/import-template-generator.js +0 -435
- package/infrastructure/domains/health/domain/services/logical-id-mapper.js +0 -345
- package/infrastructure/domains/health/domain/services/mismatch-analyzer.js +0 -234
- package/infrastructure/domains/health/domain/services/mismatch-analyzer.test.js +0 -431
- package/infrastructure/domains/health/domain/services/property-mutability-config.js +0 -382
- package/infrastructure/domains/health/domain/services/template-parser.js +0 -245
- package/infrastructure/domains/health/domain/services/update-progress-monitor.js +0 -192
- package/infrastructure/domains/health/domain/value-objects/health-score.js +0 -138
- package/infrastructure/domains/health/domain/value-objects/health-score.test.js +0 -267
- package/infrastructure/domains/health/domain/value-objects/property-mutability.js +0 -161
- package/infrastructure/domains/health/domain/value-objects/property-mutability.test.js +0 -198
- package/infrastructure/domains/health/domain/value-objects/resource-state.js +0 -167
- package/infrastructure/domains/health/domain/value-objects/resource-state.test.js +0 -196
- package/infrastructure/domains/health/domain/value-objects/stack-identifier.js +0 -192
- package/infrastructure/domains/health/domain/value-objects/stack-identifier.test.js +0 -262
- package/infrastructure/domains/health/infrastructure/adapters/__tests__/orphan-detection-cfn-tagged.test.js +0 -312
- package/infrastructure/domains/health/infrastructure/adapters/__tests__/orphan-detection-multi-stack.test.js +0 -367
- package/infrastructure/domains/health/infrastructure/adapters/__tests__/orphan-detection-relationship-analysis.test.js +0 -432
- package/infrastructure/domains/health/infrastructure/adapters/aws-property-reconciler.js +0 -784
- package/infrastructure/domains/health/infrastructure/adapters/aws-property-reconciler.test.js +0 -1133
- package/infrastructure/domains/health/infrastructure/adapters/aws-resource-detector.js +0 -565
- package/infrastructure/domains/health/infrastructure/adapters/aws-resource-detector.test.js +0 -554
- package/infrastructure/domains/health/infrastructure/adapters/aws-resource-importer.js +0 -318
- package/infrastructure/domains/health/infrastructure/adapters/aws-resource-importer.test.js +0 -398
- package/infrastructure/domains/health/infrastructure/adapters/aws-stack-repository.js +0 -777
- package/infrastructure/domains/health/infrastructure/adapters/aws-stack-repository.test.js +0 -580
- package/infrastructure/domains/integration/integration-builder.js +0 -404
- package/infrastructure/domains/integration/integration-builder.test.js +0 -690
- package/infrastructure/domains/integration/integration-resolver.js +0 -170
- package/infrastructure/domains/integration/integration-resolver.test.js +0 -369
- package/infrastructure/domains/integration/websocket-builder.js +0 -69
- package/infrastructure/domains/integration/websocket-builder.test.js +0 -195
- package/infrastructure/domains/networking/vpc-builder.js +0 -2051
- package/infrastructure/domains/networking/vpc-builder.test.js +0 -1960
- package/infrastructure/domains/networking/vpc-discovery.js +0 -177
- package/infrastructure/domains/networking/vpc-discovery.test.js +0 -350
- package/infrastructure/domains/networking/vpc-resolver.js +0 -505
- package/infrastructure/domains/networking/vpc-resolver.test.js +0 -801
- package/infrastructure/domains/parameters/ssm-builder.js +0 -79
- package/infrastructure/domains/parameters/ssm-builder.test.js +0 -189
- package/infrastructure/domains/parameters/ssm-discovery.js +0 -84
- package/infrastructure/domains/parameters/ssm-discovery.test.js +0 -210
- package/infrastructure/domains/security/iam-generator.js +0 -816
- package/infrastructure/domains/security/iam-generator.test.js +0 -204
- package/infrastructure/domains/security/kms-builder.js +0 -415
- package/infrastructure/domains/security/kms-builder.test.js +0 -392
- package/infrastructure/domains/security/kms-discovery.js +0 -80
- package/infrastructure/domains/security/kms-discovery.test.js +0 -177
- package/infrastructure/domains/security/kms-resolver.js +0 -96
- package/infrastructure/domains/security/kms-resolver.test.js +0 -216
- package/infrastructure/domains/security/templates/frigg-deployment-iam-stack.yaml +0 -401
- package/infrastructure/domains/security/templates/iam-policy-basic.json +0 -218
- package/infrastructure/domains/security/templates/iam-policy-full.json +0 -288
- package/infrastructure/domains/shared/base-builder.js +0 -112
- package/infrastructure/domains/shared/base-resolver.js +0 -186
- package/infrastructure/domains/shared/base-resolver.test.js +0 -305
- package/infrastructure/domains/shared/builder-orchestrator.js +0 -212
- package/infrastructure/domains/shared/builder-orchestrator.test.js +0 -213
- package/infrastructure/domains/shared/cloudformation-discovery-v2.js +0 -334
- package/infrastructure/domains/shared/cloudformation-discovery.js +0 -672
- package/infrastructure/domains/shared/cloudformation-discovery.test.js +0 -985
- package/infrastructure/domains/shared/environment-builder.js +0 -119
- package/infrastructure/domains/shared/environment-builder.test.js +0 -247
- package/infrastructure/domains/shared/providers/aws-provider-adapter.js +0 -579
- package/infrastructure/domains/shared/providers/aws-provider-adapter.test.js +0 -416
- package/infrastructure/domains/shared/providers/azure-provider-adapter.stub.js +0 -93
- package/infrastructure/domains/shared/providers/cloud-provider-adapter.js +0 -136
- package/infrastructure/domains/shared/providers/gcp-provider-adapter.stub.js +0 -82
- package/infrastructure/domains/shared/providers/provider-factory.js +0 -108
- package/infrastructure/domains/shared/providers/provider-factory.test.js +0 -170
- package/infrastructure/domains/shared/resource-discovery.enhanced.test.js +0 -306
- package/infrastructure/domains/shared/resource-discovery.js +0 -233
- package/infrastructure/domains/shared/resource-discovery.test.js +0 -588
- package/infrastructure/domains/shared/types/app-definition.js +0 -205
- package/infrastructure/domains/shared/types/discovery-result.js +0 -106
- package/infrastructure/domains/shared/types/discovery-result.test.js +0 -258
- package/infrastructure/domains/shared/types/index.js +0 -46
- package/infrastructure/domains/shared/types/resource-ownership.js +0 -108
- package/infrastructure/domains/shared/types/resource-ownership.test.js +0 -101
- package/infrastructure/domains/shared/utilities/base-definition-factory.js +0 -394
- package/infrastructure/domains/shared/utilities/base-definition-factory.js.bak +0 -338
- package/infrastructure/domains/shared/utilities/base-definition-factory.test.js +0 -291
- package/infrastructure/domains/shared/utilities/handler-path-resolver.js +0 -134
- package/infrastructure/domains/shared/utilities/handler-path-resolver.test.js +0 -268
- package/infrastructure/domains/shared/utilities/prisma-layer-manager.js +0 -159
- package/infrastructure/domains/shared/utilities/prisma-layer-manager.test.js +0 -444
- package/infrastructure/domains/shared/validation/env-validator.js +0 -78
- package/infrastructure/domains/shared/validation/env-validator.test.js +0 -173
- package/infrastructure/domains/shared/validation/plugin-validator.js +0 -187
- package/infrastructure/domains/shared/validation/plugin-validator.test.js +0 -323
- package/infrastructure/esbuild.config.js +0 -53
- package/infrastructure/index.js +0 -4
- package/infrastructure/infrastructure-composer.js +0 -117
- package/infrastructure/infrastructure-composer.test.js +0 -1895
- package/infrastructure/integration.test.js +0 -383
- package/infrastructure/scripts/build-prisma-layer.js +0 -701
- package/infrastructure/scripts/build-prisma-layer.test.js +0 -170
- package/infrastructure/scripts/build-time-discovery.js +0 -238
- package/infrastructure/scripts/build-time-discovery.test.js +0 -379
- package/infrastructure/scripts/run-discovery.js +0 -110
- package/infrastructure/scripts/verify-prisma-layer.js +0 -72
- package/layers/prisma/.build-complete +0 -3
- package/layers/prisma/nodejs/package.json +0 -8
- package/management-ui/.eslintrc.js +0 -22
- package/management-ui/components.json +0 -21
- package/management-ui/docs/phase2-integration-guide.md +0 -320
- package/management-ui/index.html +0 -13
- package/management-ui/package.json +0 -76
- package/management-ui/packages/devtools/frigg-cli/ui-command/index.js +0 -302
- package/management-ui/postcss.config.js +0 -6
- package/management-ui/server/api/backend.js +0 -256
- package/management-ui/server/api/cli.js +0 -315
- package/management-ui/server/api/codegen.js +0 -663
- package/management-ui/server/api/connections.js +0 -857
- package/management-ui/server/api/discovery.js +0 -185
- package/management-ui/server/api/environment/index.js +0 -1
- package/management-ui/server/api/environment/router.js +0 -378
- package/management-ui/server/api/environment.js +0 -328
- package/management-ui/server/api/integrations.js +0 -876
- package/management-ui/server/api/logs.js +0 -248
- package/management-ui/server/api/monitoring.js +0 -282
- package/management-ui/server/api/open-ide.js +0 -31
- package/management-ui/server/api/project.js +0 -1029
- package/management-ui/server/api/users/sessions.js +0 -371
- package/management-ui/server/api/users/simulation.js +0 -254
- package/management-ui/server/api/users.js +0 -362
- package/management-ui/server/api-contract.md +0 -275
- package/management-ui/server/index.js +0 -873
- package/management-ui/server/middleware/errorHandler.js +0 -93
- package/management-ui/server/middleware/security.js +0 -32
- package/management-ui/server/processManager.js +0 -296
- package/management-ui/server/server.js +0 -346
- package/management-ui/server/services/aws-monitor.js +0 -413
- package/management-ui/server/services/npm-registry.js +0 -347
- package/management-ui/server/services/template-engine.js +0 -538
- package/management-ui/server/utils/cliIntegration.js +0 -220
- package/management-ui/server/utils/environment/auditLogger.js +0 -471
- package/management-ui/server/utils/environment/awsParameterStore.js +0 -275
- package/management-ui/server/utils/environment/encryption.js +0 -278
- package/management-ui/server/utils/environment/envFileManager.js +0 -286
- package/management-ui/server/utils/import-commonjs.js +0 -28
- package/management-ui/server/utils/response.js +0 -83
- package/management-ui/server/websocket/handler.js +0 -325
- package/management-ui/src/App.jsx +0 -25
- package/management-ui/src/assets/FriggLogo.svg +0 -1
- package/management-ui/src/components/AppRouter.jsx +0 -65
- package/management-ui/src/components/Button.jsx +0 -70
- package/management-ui/src/components/Card.jsx +0 -97
- package/management-ui/src/components/EnvironmentCompare.jsx +0 -400
- package/management-ui/src/components/EnvironmentEditor.jsx +0 -372
- package/management-ui/src/components/EnvironmentImportExport.jsx +0 -469
- package/management-ui/src/components/EnvironmentSchema.jsx +0 -491
- package/management-ui/src/components/EnvironmentSecurity.jsx +0 -463
- package/management-ui/src/components/ErrorBoundary.jsx +0 -73
- package/management-ui/src/components/IntegrationCard.jsx +0 -481
- package/management-ui/src/components/IntegrationCardEnhanced.jsx +0 -770
- package/management-ui/src/components/IntegrationExplorer.jsx +0 -379
- package/management-ui/src/components/IntegrationStatus.jsx +0 -336
- package/management-ui/src/components/Layout.jsx +0 -716
- package/management-ui/src/components/LoadingSpinner.jsx +0 -113
- package/management-ui/src/components/RepositoryPicker.jsx +0 -248
- package/management-ui/src/components/SessionMonitor.jsx +0 -350
- package/management-ui/src/components/StatusBadge.jsx +0 -208
- package/management-ui/src/components/UserContextSwitcher.jsx +0 -212
- package/management-ui/src/components/UserSimulation.jsx +0 -327
- package/management-ui/src/components/Welcome.jsx +0 -434
- package/management-ui/src/components/codegen/APIEndpointGenerator.jsx +0 -637
- package/management-ui/src/components/codegen/APIModuleSelector.jsx +0 -227
- package/management-ui/src/components/codegen/CodeGenerationWizard.jsx +0 -247
- package/management-ui/src/components/codegen/CodePreviewEditor.jsx +0 -316
- package/management-ui/src/components/codegen/DynamicModuleForm.jsx +0 -271
- package/management-ui/src/components/codegen/FormBuilder.jsx +0 -737
- package/management-ui/src/components/codegen/IntegrationGenerator.jsx +0 -855
- package/management-ui/src/components/codegen/ProjectScaffoldWizard.jsx +0 -797
- package/management-ui/src/components/codegen/SchemaBuilder.jsx +0 -303
- package/management-ui/src/components/codegen/TemplateSelector.jsx +0 -586
- package/management-ui/src/components/codegen/index.js +0 -10
- package/management-ui/src/components/connections/ConnectionConfigForm.jsx +0 -362
- package/management-ui/src/components/connections/ConnectionHealthMonitor.jsx +0 -182
- package/management-ui/src/components/connections/ConnectionTester.jsx +0 -200
- package/management-ui/src/components/connections/EntityRelationshipMapper.jsx +0 -292
- package/management-ui/src/components/connections/OAuthFlow.jsx +0 -204
- package/management-ui/src/components/connections/index.js +0 -5
- package/management-ui/src/components/index.js +0 -21
- package/management-ui/src/components/monitoring/APIGatewayMetrics.jsx +0 -222
- package/management-ui/src/components/monitoring/LambdaMetrics.jsx +0 -169
- package/management-ui/src/components/monitoring/MetricsChart.jsx +0 -197
- package/management-ui/src/components/monitoring/MonitoringDashboard.jsx +0 -393
- package/management-ui/src/components/monitoring/SQSMetrics.jsx +0 -246
- package/management-ui/src/components/monitoring/index.js +0 -6
- package/management-ui/src/components/monitoring/monitoring.css +0 -218
- package/management-ui/src/components/theme-provider.jsx +0 -52
- package/management-ui/src/components/theme-toggle.jsx +0 -39
- package/management-ui/src/components/ui/badge.tsx +0 -36
- package/management-ui/src/components/ui/button.test.jsx +0 -56
- package/management-ui/src/components/ui/button.tsx +0 -57
- package/management-ui/src/components/ui/card.tsx +0 -76
- package/management-ui/src/components/ui/dropdown-menu.tsx +0 -199
- package/management-ui/src/components/ui/select.tsx +0 -157
- package/management-ui/src/components/ui/skeleton.jsx +0 -15
- package/management-ui/src/hooks/useFrigg.jsx +0 -387
- package/management-ui/src/hooks/useSocket.jsx +0 -58
- package/management-ui/src/index.css +0 -193
- package/management-ui/src/lib/utils.ts +0 -6
- package/management-ui/src/main.jsx +0 -10
- package/management-ui/src/pages/CodeGeneration.jsx +0 -14
- package/management-ui/src/pages/Connections.jsx +0 -252
- package/management-ui/src/pages/ConnectionsEnhanced.jsx +0 -633
- package/management-ui/src/pages/Dashboard.jsx +0 -311
- package/management-ui/src/pages/Environment.jsx +0 -314
- package/management-ui/src/pages/IntegrationConfigure.jsx +0 -669
- package/management-ui/src/pages/IntegrationDiscovery.jsx +0 -567
- package/management-ui/src/pages/IntegrationTest.jsx +0 -742
- package/management-ui/src/pages/Integrations.jsx +0 -253
- package/management-ui/src/pages/Monitoring.jsx +0 -17
- package/management-ui/src/pages/Simulation.jsx +0 -155
- package/management-ui/src/pages/Users.jsx +0 -492
- package/management-ui/src/services/api.js +0 -41
- package/management-ui/src/services/apiModuleService.js +0 -193
- package/management-ui/src/services/websocket-handlers.js +0 -120
- package/management-ui/src/test/api/project.test.js +0 -273
- package/management-ui/src/test/components/Welcome.test.jsx +0 -378
- package/management-ui/src/test/mocks/server.js +0 -178
- package/management-ui/src/test/setup.js +0 -61
- package/management-ui/src/test/utils/test-utils.jsx +0 -134
- package/management-ui/src/utils/repository.js +0 -98
- package/management-ui/src/utils/repository.test.js +0 -118
- package/management-ui/src/workflows/phase2-integration-workflows.js +0 -884
- package/management-ui/tailwind.config.js +0 -63
- package/management-ui/tsconfig.json +0 -37
- package/management-ui/tsconfig.node.json +0 -10
- package/management-ui/vite.config.js +0 -26
- package/management-ui/vitest.config.js +0 -38
- package/test/auther-definition-method-tester.js +0 -45
- package/test/index.js +0 -9
- package/test/integration-validator.js +0 -2
- package/test/mock-api-readme.md +0 -102
- package/test/mock-api.js +0 -284
- package/test/mock-integration.js +0 -78
package/infrastructure/README.md
DELETED
|
@@ -1,522 +0,0 @@
|
|
|
1
|
-
# Frigg Infrastructure
|
|
2
|
-
|
|
3
|
-
This directory contains the infrastructure-as-code templates and utilities for deploying Frigg applications to AWS.
|
|
4
|
-
|
|
5
|
-
## Quick Start
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Install dependencies
|
|
9
|
-
npm install
|
|
10
|
-
|
|
11
|
-
# Run infrastructure tests
|
|
12
|
-
npm test
|
|
13
|
-
|
|
14
|
-
# Deploy basic infrastructure
|
|
15
|
-
frigg deploy --stage production
|
|
16
|
-
|
|
17
|
-
# Deploy with Phase 3 features
|
|
18
|
-
frigg deploy --stage production --enable-phase3
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Directory Structure
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
infrastructure/
|
|
25
|
-
├── README.md # This file
|
|
26
|
-
├── PHASE3-DEPLOYMENT-GUIDE.md # Phase 3 deployment guide
|
|
27
|
-
├── AWS-DISCOVERY-TROUBLESHOOTING.md # AWS discovery troubleshooting
|
|
28
|
-
├── DEPLOYMENT-INSTRUCTIONS.md # General deployment instructions
|
|
29
|
-
├── README-TESTING.md # Testing strategy documentation
|
|
30
|
-
├──
|
|
31
|
-
├── cloudformation/ # CloudFormation templates
|
|
32
|
-
│ ├── monitoring-infrastructure.yaml # Enhanced monitoring (Phase 3)
|
|
33
|
-
│ ├── cdn-infrastructure.yaml # CDN and UI distribution (Phase 3)
|
|
34
|
-
│ ├── codegen-infrastructure.yaml # Code generation services (Phase 3)
|
|
35
|
-
│ ├── alerting-infrastructure.yaml # Advanced alerting (Phase 3)
|
|
36
|
-
│ └── deployment-pipeline.yaml # CI/CD pipeline (Phase 3)
|
|
37
|
-
├──
|
|
38
|
-
├── aws-discovery.js # AWS resource discovery utility
|
|
39
|
-
├── build-time-discovery.js # Build-time discovery integration
|
|
40
|
-
├── serverless-template.js # Serverless configuration generator
|
|
41
|
-
├── iam-generator.js # IAM policy generator
|
|
42
|
-
├── create-frigg-infrastructure.js # Infrastructure creation utility
|
|
43
|
-
├── run-discovery.js # Discovery runner script
|
|
44
|
-
├──
|
|
45
|
-
├── __tests__/ # Test files
|
|
46
|
-
│ ├── fixtures/ # Test fixtures and mock data
|
|
47
|
-
│ └── helpers/ # Test helper utilities
|
|
48
|
-
├── aws-discovery.test.js # AWS discovery tests
|
|
49
|
-
├── build-time-discovery.test.js # Build-time discovery tests
|
|
50
|
-
├── serverless-template.test.js # Serverless template tests
|
|
51
|
-
├── iam-generator.test.js # IAM generator tests
|
|
52
|
-
├── integration.test.js # End-to-end integration tests
|
|
53
|
-
└── ... # Additional test files
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Infrastructure Components
|
|
57
|
-
|
|
58
|
-
### Core Infrastructure (Phase 1-2)
|
|
59
|
-
|
|
60
|
-
#### 1. Serverless Template Generator (`serverless-template.js`)
|
|
61
|
-
|
|
62
|
-
Generates complete serverless.yml configurations with:
|
|
63
|
-
|
|
64
|
-
- VPC configuration and resource discovery (with optional self-healing)
|
|
65
|
-
- NAT/EIP management strategies (`discover`, `createAndManage`, `useExisting`)
|
|
66
|
-
- KMS encryption for field-level encryption
|
|
67
|
-
- SSM Parameter Store integration
|
|
68
|
-
- Integration-specific functions and queues
|
|
69
|
-
- WebSocket support for real-time features
|
|
70
|
-
|
|
71
|
-
#### 2. AWS Discovery (`aws-discovery.js`)
|
|
72
|
-
|
|
73
|
-
Automatically discovers existing AWS resources and highlights misconfigurations:
|
|
74
|
-
|
|
75
|
-
- Default VPC and security groups
|
|
76
|
-
- Private subnets for Lambda functions (with routing validation)
|
|
77
|
-
- Customer-managed KMS keys
|
|
78
|
-
- Route tables for VPC endpoints
|
|
79
|
-
- NAT gateways / Elastic IPs and whether remediation is required
|
|
80
|
-
|
|
81
|
-
#### 3. Build-Time Discovery (`build-time-discovery.js`)
|
|
82
|
-
|
|
83
|
-
Integrates AWS discovery into the build process:
|
|
84
|
-
|
|
85
|
-
- Pre-build hook for serverless deployments
|
|
86
|
-
- Environment variable injection
|
|
87
|
-
- Template variable replacement
|
|
88
|
-
- Error handling and fallback values
|
|
89
|
-
|
|
90
|
-
### Phase 3 Infrastructure
|
|
91
|
-
|
|
92
|
-
#### 1. Enhanced Monitoring (`cloudformation/monitoring-infrastructure.yaml`)
|
|
93
|
-
|
|
94
|
-
Production-ready monitoring with:
|
|
95
|
-
|
|
96
|
-
- Code generation service monitoring
|
|
97
|
-
- UI distribution monitoring
|
|
98
|
-
- Advanced CloudWatch dashboards
|
|
99
|
-
- Custom metrics and alarms
|
|
100
|
-
|
|
101
|
-
#### 2. CDN Infrastructure (`cloudformation/cdn-infrastructure.yaml`)
|
|
102
|
-
|
|
103
|
-
CloudFront distribution for UI packages:
|
|
104
|
-
|
|
105
|
-
- S3 bucket for multi-framework UI packages
|
|
106
|
-
- CloudFront distribution with custom domains
|
|
107
|
-
- Lambda function for package deployment
|
|
108
|
-
- API Gateway for package management
|
|
109
|
-
|
|
110
|
-
#### 3. Code Generation Infrastructure (`cloudformation/codegen-infrastructure.yaml`)
|
|
111
|
-
|
|
112
|
-
Serverless code generation platform:
|
|
113
|
-
|
|
114
|
-
- SQS queue for generation requests
|
|
115
|
-
- Lambda function with AI/ML integration
|
|
116
|
-
- DynamoDB tracking table
|
|
117
|
-
- S3 storage for templates and generated code
|
|
118
|
-
- ElastiCache for template caching
|
|
119
|
-
|
|
120
|
-
#### 4. Advanced Alerting (`cloudformation/alerting-infrastructure.yaml`)
|
|
121
|
-
|
|
122
|
-
Multi-channel alerting system:
|
|
123
|
-
|
|
124
|
-
- Multiple SNS topics for alert severity levels
|
|
125
|
-
- Lambda function for alert processing
|
|
126
|
-
- PagerDuty and Slack integration
|
|
127
|
-
- Composite alarms for system health
|
|
128
|
-
- Advanced metrics collection
|
|
129
|
-
|
|
130
|
-
#### 5. Deployment Pipeline (`cloudformation/deployment-pipeline.yaml`)
|
|
131
|
-
|
|
132
|
-
CI/CD pipeline for automated deployments:
|
|
133
|
-
|
|
134
|
-
- CodePipeline with GitHub integration
|
|
135
|
-
- CodeBuild projects for backend and UI
|
|
136
|
-
- Multi-stage deployment workflow
|
|
137
|
-
- Integration testing and approval gates
|
|
138
|
-
|
|
139
|
-
## Configuration Options
|
|
140
|
-
|
|
141
|
-
### App Definition Structure
|
|
142
|
-
|
|
143
|
-
```javascript
|
|
144
|
-
const appDefinition = {
|
|
145
|
-
// Basic configuration
|
|
146
|
-
name: 'my-frigg-app',
|
|
147
|
-
provider: 'aws',
|
|
148
|
-
|
|
149
|
-
// VPC configuration
|
|
150
|
-
vpc: {
|
|
151
|
-
enable: true,
|
|
152
|
-
management: 'discover', // 'discover' | 'create-new' | 'use-existing'
|
|
153
|
-
selfHeal: true, // Let the template repair routing/NAT issues
|
|
154
|
-
securityGroupIds: [...], // Optional: custom security groups or CFN Refs
|
|
155
|
-
subnets: {
|
|
156
|
-
management: 'discover', // 'discover' | 'create' | 'use-existing'
|
|
157
|
-
ids: [...], // Required when management is 'use-existing'
|
|
158
|
-
},
|
|
159
|
-
natGateway: {
|
|
160
|
-
management: 'discover', // 'discover' | 'createAndManage' | 'useExisting'
|
|
161
|
-
id: 'nat-xxxxxxxx', // Required when management is 'useExisting'
|
|
162
|
-
},
|
|
163
|
-
enableVPCEndpoints: true // Optional: create VPC endpoints
|
|
164
|
-
},
|
|
165
|
-
|
|
166
|
-
// KMS encryption
|
|
167
|
-
encryption: {
|
|
168
|
-
fieldLevelEncryptionMethod: 'kms',
|
|
169
|
-
createResourceIfNoneFound: true
|
|
170
|
-
},
|
|
171
|
-
|
|
172
|
-
// SSM Parameter Store
|
|
173
|
-
ssm: {
|
|
174
|
-
enable: true
|
|
175
|
-
},
|
|
176
|
-
|
|
177
|
-
// WebSocket support (optional)
|
|
178
|
-
websockets: {
|
|
179
|
-
enable: true
|
|
180
|
-
},
|
|
181
|
-
|
|
182
|
-
// Integrations
|
|
183
|
-
integrations: [
|
|
184
|
-
{ Definition: { name: 'hubspot' } },
|
|
185
|
-
{ Definition: { name: 'salesforce' } }
|
|
186
|
-
]
|
|
187
|
-
};
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
### Environment Variables
|
|
191
|
-
|
|
192
|
-
The infrastructure system uses environment variables for AWS resource references:
|
|
193
|
-
|
|
194
|
-
```bash
|
|
195
|
-
# Automatically set by AWS discovery
|
|
196
|
-
AWS_DISCOVERY_VPC_ID=vpc-12345678
|
|
197
|
-
AWS_DISCOVERY_SECURITY_GROUP_ID=sg-12345678
|
|
198
|
-
AWS_DISCOVERY_SUBNET_ID_1=subnet-12345678
|
|
199
|
-
AWS_DISCOVERY_SUBNET_ID_2=subnet-87654321
|
|
200
|
-
AWS_DISCOVERY_PUBLIC_SUBNET_ID=subnet-abcdef12
|
|
201
|
-
AWS_DISCOVERY_ROUTE_TABLE_ID=rtb-12345678
|
|
202
|
-
AWS_DISCOVERY_KMS_KEY_ID=arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
|
|
203
|
-
|
|
204
|
-
# Set by serverless framework
|
|
205
|
-
AWS_REGION=us-east-1
|
|
206
|
-
STAGE=production
|
|
207
|
-
SERVICE_NAME=my-frigg-app
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
## Lambda Layers
|
|
211
|
-
|
|
212
|
-
### Prisma Layer
|
|
213
|
-
|
|
214
|
-
The Frigg infrastructure uses a Lambda Layer to optimize Prisma deployment, reducing function sizes by ~60%.
|
|
215
|
-
|
|
216
|
-
**What's included:**
|
|
217
|
-
|
|
218
|
-
- `@prisma/client` - Prisma Client runtime
|
|
219
|
-
- `@prisma-mongodb/client` - MongoDB Prisma Client
|
|
220
|
-
- `@prisma-postgresql/client` - PostgreSQL Prisma Client
|
|
221
|
-
- `prisma` - Prisma CLI (for migrations)
|
|
222
|
-
|
|
223
|
-
**Benefits:**
|
|
224
|
-
|
|
225
|
-
- ✅ **Reduces function sizes**: From ~120MB → ~45MB per function (60% reduction)
|
|
226
|
-
- ✅ **Faster deployments**: Layer cached between deployments
|
|
227
|
-
- ✅ **Shared resources**: Prisma uploaded once (~70MB layer), shared by all functions
|
|
228
|
-
- ✅ **Improved cold starts**: Smaller packages = faster initialization
|
|
229
|
-
|
|
230
|
-
**Building the layer:**
|
|
231
|
-
|
|
232
|
-
```bash
|
|
233
|
-
cd packages/devtools
|
|
234
|
-
npm run build:prisma-layer
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
**Expected output:**
|
|
238
|
-
|
|
239
|
-
```
|
|
240
|
-
Building Prisma Lambda Layer...
|
|
241
|
-
✓ Layer built successfully (70MB)
|
|
242
|
-
Layer location: infrastructure/layers/prisma
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
**Automatic deployment:**
|
|
246
|
-
|
|
247
|
-
The layer is automatically deployed when you run `frigg deploy`. All Lambda functions reference the layer via CloudFormation.
|
|
248
|
-
|
|
249
|
-
**Troubleshooting:**
|
|
250
|
-
|
|
251
|
-
If you encounter "Module not found" errors after deployment:
|
|
252
|
-
|
|
253
|
-
```bash
|
|
254
|
-
# Verify layer is attached to function
|
|
255
|
-
aws lambda get-function-configuration \
|
|
256
|
-
--function-name your-app-dev-auth \
|
|
257
|
-
--query 'Layers[*].Arn'
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
**Disabling Prisma Layer (Bundle with Functions):**
|
|
261
|
-
|
|
262
|
-
By default, Prisma ships via a Lambda Layer. You can disable the layer and bundle Prisma directly with each Lambda:
|
|
263
|
-
|
|
264
|
-
```javascript
|
|
265
|
-
const appDefinition = {
|
|
266
|
-
name: 'my-app',
|
|
267
|
-
usePrismaLambdaLayer: false, // Bundle Prisma with each function
|
|
268
|
-
integrations: [{ Definition: { name: 'asana' } }],
|
|
269
|
-
};
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
**When to disable the Prisma Layer:**
|
|
273
|
-
|
|
274
|
-
- ✅ Your CI/CD IAM user lacks `lambda:PublishLayerVersion`
|
|
275
|
-
- ✅ Deploying to an AWS region/account with Lambda layer restrictions
|
|
276
|
-
- ✅ Troubleshooting Prisma client loading issues
|
|
277
|
-
- ✅ You prefer a simpler deployment artifact (no shared layer management)
|
|
278
|
-
|
|
279
|
-
**Trade-offs:**
|
|
280
|
-
|
|
281
|
-
| Mode | Function Size | Deploy Speed | IAM Permissions Required |
|
|
282
|
-
|------|---------------|--------------|-------------------------|
|
|
283
|
-
| **Layer (default)** | ~45MB per function | Faster (layer cached) | `lambda:PublishLayerVersion` |
|
|
284
|
-
| **Bundled** | ~80MB per function | Slower (Prisma uploaded per function) | None (layer-related) |
|
|
285
|
-
|
|
286
|
-
> ℹ️ When `usePrismaLambdaLayer: false`, Prisma stays inside each bundle and the runtime automatically loads the correct binary. No extra configuration is required.
|
|
287
|
-
|
|
288
|
-
## Usage Examples
|
|
289
|
-
|
|
290
|
-
### Basic Deployment
|
|
291
|
-
|
|
292
|
-
```javascript
|
|
293
|
-
const { composeServerlessDefinition } = require('./serverless-template');
|
|
294
|
-
|
|
295
|
-
const appDefinition = {
|
|
296
|
-
name: 'my-app',
|
|
297
|
-
integrations: [{ Definition: { name: 'hubspot' } }],
|
|
298
|
-
};
|
|
299
|
-
|
|
300
|
-
const serverlessConfig = await composeServerlessDefinition(appDefinition);
|
|
301
|
-
// Use serverlessConfig for deployment
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
### VPC-Enabled Deployment
|
|
305
|
-
|
|
306
|
-
```javascript
|
|
307
|
-
const appDefinition = {
|
|
308
|
-
name: 'secure-app',
|
|
309
|
-
vpc: { enable: true },
|
|
310
|
-
encryption: { fieldLevelEncryptionMethod: 'kms' },
|
|
311
|
-
ssm: { enable: true },
|
|
312
|
-
integrations: [{ Definition: { name: 'salesforce' } }],
|
|
313
|
-
};
|
|
314
|
-
|
|
315
|
-
const serverlessConfig = await composeServerlessDefinition(appDefinition);
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
### Phase 3 Deployment with WebSockets
|
|
319
|
-
|
|
320
|
-
```javascript
|
|
321
|
-
const appDefinition = {
|
|
322
|
-
name: 'realtime-app',
|
|
323
|
-
websockets: { enable: true },
|
|
324
|
-
vpc: { enable: true },
|
|
325
|
-
integrations: [{ Definition: { name: 'slack' } }],
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
const serverlessConfig = await composeServerlessDefinition(appDefinition);
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
## Testing
|
|
332
|
-
|
|
333
|
-
### Running Tests
|
|
334
|
-
|
|
335
|
-
```bash
|
|
336
|
-
# Run all infrastructure tests
|
|
337
|
-
npm test
|
|
338
|
-
|
|
339
|
-
# Run specific test suites
|
|
340
|
-
npm test aws-discovery.test.js
|
|
341
|
-
npm test serverless-template.test.js
|
|
342
|
-
npm test integration.test.js
|
|
343
|
-
|
|
344
|
-
# Run with coverage
|
|
345
|
-
npm test -- --coverage
|
|
346
|
-
|
|
347
|
-
# Run in watch mode
|
|
348
|
-
npm test -- --watch
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
### Test Categories
|
|
352
|
-
|
|
353
|
-
1. **Unit Tests**: Test individual components
|
|
354
|
-
|
|
355
|
-
- AWS discovery utilities
|
|
356
|
-
- Serverless template generation
|
|
357
|
-
- IAM policy generation
|
|
358
|
-
|
|
359
|
-
2. **Integration Tests**: Test end-to-end workflows
|
|
360
|
-
|
|
361
|
-
- Complete discovery and template generation
|
|
362
|
-
- Plugin integration
|
|
363
|
-
- Phase 3 infrastructure validation
|
|
364
|
-
|
|
365
|
-
3. **Performance Tests**: Validate infrastructure limits
|
|
366
|
-
- CloudFormation template sizes
|
|
367
|
-
- Resource count limits
|
|
368
|
-
- Cross-stack dependencies
|
|
369
|
-
|
|
370
|
-
### Mock Data
|
|
371
|
-
|
|
372
|
-
Tests use mock AWS resources to avoid real AWS API calls:
|
|
373
|
-
|
|
374
|
-
```javascript
|
|
375
|
-
const mockAWSResources = {
|
|
376
|
-
defaultVpcId: 'vpc-12345678',
|
|
377
|
-
defaultSecurityGroupId: 'sg-12345678',
|
|
378
|
-
privateSubnetId1: 'subnet-private-1',
|
|
379
|
-
privateSubnetId2: 'subnet-private-2',
|
|
380
|
-
defaultKmsKeyId:
|
|
381
|
-
'arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012',
|
|
382
|
-
};
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
## Security
|
|
386
|
-
|
|
387
|
-
### IAM Permissions
|
|
388
|
-
|
|
389
|
-
The infrastructure requires specific IAM permissions for AWS resource discovery and deployment:
|
|
390
|
-
|
|
391
|
-
- **EC2**: Describe VPCs, subnets, security groups, route tables
|
|
392
|
-
- **KMS**: List keys, describe keys
|
|
393
|
-
- **STS**: Get caller identity
|
|
394
|
-
- **CloudFormation**: Full access for stack operations
|
|
395
|
-
- **Lambda**: Function management
|
|
396
|
-
- **API Gateway**: API management
|
|
397
|
-
- **S3**: Bucket and object operations (including tagging)
|
|
398
|
-
- **DynamoDB**: Table operations
|
|
399
|
-
- **SQS**: Queue operations
|
|
400
|
-
- **SNS**: Topic operations
|
|
401
|
-
- **CloudWatch**: Metrics and alarms
|
|
402
|
-
- **IAM**: Role and policy management
|
|
403
|
-
|
|
404
|
-
### Best Practices
|
|
405
|
-
|
|
406
|
-
1. **Least Privilege**: IAM roles have minimal required permissions
|
|
407
|
-
2. **Encryption**: All data encrypted at rest and in transit
|
|
408
|
-
3. **VPC Security**: Lambda functions in private subnets when needed
|
|
409
|
-
4. **Access Control**: S3 buckets block public access by default
|
|
410
|
-
5. **Audit Logging**: CloudTrail integration for API calls
|
|
411
|
-
|
|
412
|
-
## Troubleshooting
|
|
413
|
-
|
|
414
|
-
### Common Issues
|
|
415
|
-
|
|
416
|
-
#### AWS Discovery Failures
|
|
417
|
-
|
|
418
|
-
```bash
|
|
419
|
-
# Check AWS credentials
|
|
420
|
-
aws sts get-caller-identity
|
|
421
|
-
|
|
422
|
-
# Verify region configuration
|
|
423
|
-
echo $AWS_REGION
|
|
424
|
-
|
|
425
|
-
# Test VPC discovery
|
|
426
|
-
node -e "
|
|
427
|
-
const { AWSDiscovery } = require('./aws-discovery');
|
|
428
|
-
const discovery = new AWSDiscovery('us-east-1');
|
|
429
|
-
discovery.findDefaultVpc().then(console.log).catch(console.error);
|
|
430
|
-
"
|
|
431
|
-
```
|
|
432
|
-
|
|
433
|
-
#### Serverless Deployment Issues
|
|
434
|
-
|
|
435
|
-
```bash
|
|
436
|
-
# Enable debug logging
|
|
437
|
-
SLS_DEBUG=true serverless deploy
|
|
438
|
-
|
|
439
|
-
# Check generated template
|
|
440
|
-
serverless print
|
|
441
|
-
|
|
442
|
-
# Validate CloudFormation template
|
|
443
|
-
aws cloudformation validate-template --template-body file://template.json
|
|
444
|
-
```
|
|
445
|
-
|
|
446
|
-
- **Connectivity to external services (e.g., databases):** If your Lambda functions in a VPC cannot connect to external services, ensure that the `FriggLambdaSecurityGroup` has the correct **egress** rules to allow outbound traffic on the required ports (e.g., port 27017 for MongoDB).
|
|
447
|
-
|
|
448
|
-
#### Infrastructure Test Failures
|
|
449
|
-
|
|
450
|
-
```bash
|
|
451
|
-
# Run specific failing test
|
|
452
|
-
npm test -- --testNamePattern="should discover all AWS resources"
|
|
453
|
-
|
|
454
|
-
# Debug with verbose output
|
|
455
|
-
npm test -- --verbose --silent=false
|
|
456
|
-
|
|
457
|
-
# Check test environment
|
|
458
|
-
npm run test:debug
|
|
459
|
-
```
|
|
460
|
-
|
|
461
|
-
### Performance Optimization
|
|
462
|
-
|
|
463
|
-
#### Lambda Cold Starts
|
|
464
|
-
|
|
465
|
-
- Use provisioned concurrency for critical functions
|
|
466
|
-
- Optimize function size and dependencies
|
|
467
|
-
- Monitor cold start metrics
|
|
468
|
-
|
|
469
|
-
#### VPC Performance
|
|
470
|
-
|
|
471
|
-
- Use VPC endpoints to reduce NAT Gateway costs
|
|
472
|
-
- Monitor ENI creation/deletion times
|
|
473
|
-
- Consider Lambda@Edge for global distribution
|
|
474
|
-
|
|
475
|
-
#### Cost Optimization
|
|
476
|
-
|
|
477
|
-
- Use S3 Intelligent Tiering
|
|
478
|
-
- Configure CloudWatch log retention
|
|
479
|
-
- Monitor and alert on unexpected usage
|
|
480
|
-
|
|
481
|
-
## Contributing
|
|
482
|
-
|
|
483
|
-
### Adding New Infrastructure Components
|
|
484
|
-
|
|
485
|
-
1. Create CloudFormation template in `cloudformation/`
|
|
486
|
-
2. Add validation tests in `__tests__/`
|
|
487
|
-
3. Update integration tests
|
|
488
|
-
4. Document in deployment guide
|
|
489
|
-
5. Add to CI/CD pipeline
|
|
490
|
-
|
|
491
|
-
### Testing Guidelines
|
|
492
|
-
|
|
493
|
-
1. Mock all AWS API calls
|
|
494
|
-
2. Test both success and failure scenarios
|
|
495
|
-
3. Validate CloudFormation template syntax
|
|
496
|
-
4. Test cross-stack dependencies
|
|
497
|
-
5. Include performance and security tests
|
|
498
|
-
|
|
499
|
-
### Documentation
|
|
500
|
-
|
|
501
|
-
1. Update this README for new features
|
|
502
|
-
2. Add examples to deployment guide
|
|
503
|
-
3. Document troubleshooting steps
|
|
504
|
-
4. Include security considerations
|
|
505
|
-
|
|
506
|
-
## Support
|
|
507
|
-
|
|
508
|
-
- **Documentation**: See `PHASE3-DEPLOYMENT-GUIDE.md` for detailed deployment instructions
|
|
509
|
-
- **Testing**: See `README-TESTING.md` for testing strategy
|
|
510
|
-
- **Troubleshooting**: See `AWS-DISCOVERY-TROUBLESHOOTING.md` for common issues
|
|
511
|
-
- **Issues**: Create GitHub issues for bugs and feature requests
|
|
512
|
-
- **Discussions**: Use GitHub Discussions for questions and ideas
|
|
513
|
-
|
|
514
|
-
## Related Documentation
|
|
515
|
-
|
|
516
|
-
- [Lambda Layer for Prisma](./LAMBDA-LAYER-PRISMA.md) - Complete guide to Prisma Lambda Layer optimization
|
|
517
|
-
- [Phase 3 Deployment Guide](./PHASE3-DEPLOYMENT-GUIDE.md)
|
|
518
|
-
- [Testing Strategy](./README-TESTING.md)
|
|
519
|
-
- [AWS Discovery Troubleshooting](./AWS-DISCOVERY-TROUBLESHOOTING.md)
|
|
520
|
-
- [IAM Policy Templates](./IAM-POLICY-TEMPLATES.md)
|
|
521
|
-
- [VPC Configuration](./VPC-CONFIGURATION.md)
|
|
522
|
-
- [WebSocket Configuration](./WEBSOCKET-CONFIGURATION.md)
|