@friggframework/devtools 2.0.0--canary.400.bed3308.0 → 2.0.0--canary.400.545e7a8.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/frigg-cli/build-command/index.js +2 -15
- package/frigg-cli/deploy-command/index.js +2 -15
- package/frigg-cli/index.js +4 -66
- package/frigg-cli/install-command/index.js +2 -15
- package/frigg-cli/start-command/index.js +2 -17
- package/infrastructure/AWS-IAM-CREDENTIAL-NEEDS.md +19 -43
- package/infrastructure/IAM-POLICY-TEMPLATES.md +1 -1
- package/infrastructure/frigg-deployment-iam-stack.yaml +2 -16
- package/infrastructure/iam-generator.js +6 -129
- package/infrastructure/iam-policy-basic.json +5 -29
- package/infrastructure/iam-policy-full.json +5 -28
- package/infrastructure/serverless-template.js +3 -190
- package/infrastructure/serverless-template.test.js +0 -12
- package/management-ui/dist/assets/index-CbM64Oba.js +1221 -0
- package/management-ui/dist/assets/index-CkvseXTC.css +1 -0
- package/management-ui/{index.html → dist/index.html} +2 -1
- package/package.json +5 -5
- package/frigg-cli/.eslintrc.js +0 -141
- package/frigg-cli/__tests__/jest.config.js +0 -102
- package/frigg-cli/__tests__/unit/commands/build.test.js +0 -483
- package/frigg-cli/__tests__/unit/commands/install.test.js +0 -418
- package/frigg-cli/__tests__/unit/commands/ui.test.js +0 -592
- package/frigg-cli/__tests__/utils/command-tester.js +0 -170
- package/frigg-cli/__tests__/utils/mock-factory.js +0 -270
- package/frigg-cli/__tests__/utils/test-fixtures.js +0 -463
- package/frigg-cli/__tests__/utils/test-setup.js +0 -286
- package/frigg-cli/generate-command/__tests__/generate-command.test.js +0 -312
- package/frigg-cli/generate-command/azure-generator.js +0 -43
- package/frigg-cli/generate-command/gcp-generator.js +0 -47
- package/frigg-cli/generate-command/index.js +0 -350
- package/frigg-cli/generate-command/terraform-generator.js +0 -555
- package/frigg-cli/package.json +0 -75
- package/frigg-cli/ui-command/index.js +0 -167
- package/frigg-cli/utils/app-resolver.js +0 -319
- package/frigg-cli/utils/backend-path.js +0 -38
- package/frigg-cli/utils/process-manager.js +0 -199
- package/frigg-cli/utils/repo-detection.js +0 -405
- package/management-ui/.eslintrc.js +0 -22
- package/management-ui/README.md +0 -203
- package/management-ui/components.json +0 -21
- package/management-ui/merge-conflict-cleaner.py +0 -371
- package/management-ui/package-lock.json +0 -10997
- package/management-ui/package.json +0 -76
- 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 -479
- 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 -553
- 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 -428
- package/management-ui/server/middleware/errorHandler.js +0 -70
- package/management-ui/server/middleware/security.js +0 -32
- package/management-ui/server/processManager.js +0 -296
- package/management-ui/server/server.js +0 -188
- 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 -264
- 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 -51
- package/management-ui/src/components/AppRouter.jsx +0 -65
- package/management-ui/src/components/Button.jsx +0 -2
- package/management-ui/src/components/Card.jsx +0 -9
- 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 -199
- package/management-ui/src/components/IntegrationCardEnhanced.jsx +0 -490
- package/management-ui/src/components/IntegrationExplorer.jsx +0 -379
- package/management-ui/src/components/IntegrationStatus.jsx +0 -235
- package/management-ui/src/components/Layout.jsx +0 -250
- package/management-ui/src/components/LoadingSpinner.jsx +0 -45
- package/management-ui/src/components/RepositoryPicker.jsx +0 -248
- package/management-ui/src/components/SessionMonitor.jsx +0 -255
- package/management-ui/src/components/StatusBadge.jsx +0 -70
- package/management-ui/src/components/UserContextSwitcher.jsx +0 -154
- package/management-ui/src/components/UserSimulation.jsx +0 -299
- 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 -194
- 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 -427
- 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 -544
- package/management-ui/src/pages/IntegrationDiscovery.jsx +0 -479
- package/management-ui/src/pages/IntegrationTest.jsx +0 -494
- package/management-ui/src/pages/Integrations.jsx +0 -254
- 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/management-ui/{src/assets/FriggLogo.svg → dist/assets/FriggLogo-B7Xx8ZW1.svg} +0 -0
|
@@ -8,7 +8,7 @@ const { AWSDiscovery } = require('./aws-discovery');
|
|
|
8
8
|
* @returns {boolean} True if discovery should run
|
|
9
9
|
*/
|
|
10
10
|
const shouldRunDiscovery = (AppDefinition) => {
|
|
11
|
-
return AppDefinition.vpc?.enable === true ||
|
|
11
|
+
return AppDefinition.vpc?.enable === true ||
|
|
12
12
|
AppDefinition.encryption?.useDefaultKMSForFieldLevelEncryption === true ||
|
|
13
13
|
AppDefinition.ssm?.enable === true;
|
|
14
14
|
};
|
|
@@ -453,34 +453,22 @@ const createVPCInfrastructure = (AppDefinition) => {
|
|
|
453
453
|
const composeServerlessDefinition = async (AppDefinition) => {
|
|
454
454
|
// Store discovered resources
|
|
455
455
|
let discoveredResources = {};
|
|
456
|
-
<<<<<<< HEAD
|
|
457
|
-
=======
|
|
458
456
|
|
|
459
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
460
457
|
// Run AWS discovery if needed
|
|
461
458
|
if (shouldRunDiscovery(AppDefinition)) {
|
|
462
459
|
console.log('🔍 Running AWS resource discovery for serverless template...');
|
|
463
460
|
try {
|
|
464
461
|
const region = process.env.AWS_REGION || 'us-east-1';
|
|
465
462
|
const discovery = new AWSDiscovery(region);
|
|
466
|
-
<<<<<<< HEAD
|
|
467
|
-
=======
|
|
468
463
|
|
|
469
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
470
464
|
const config = {
|
|
471
465
|
vpc: AppDefinition.vpc || {},
|
|
472
466
|
encryption: AppDefinition.encryption || {},
|
|
473
467
|
ssm: AppDefinition.ssm || {}
|
|
474
468
|
};
|
|
475
|
-
<<<<<<< HEAD
|
|
476
|
-
|
|
477
|
-
discoveredResources = await discovery.discoverResources(config);
|
|
478
|
-
|
|
479
|
-
=======
|
|
480
469
|
|
|
481
470
|
discoveredResources = await discovery.discoverResources(config);
|
|
482
471
|
|
|
483
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
484
472
|
console.log('✅ AWS discovery completed successfully!');
|
|
485
473
|
if (discoveredResources.defaultVpcId) {
|
|
486
474
|
console.log(` VPC: ${discoveredResources.defaultVpcId}`);
|
|
@@ -499,10 +487,7 @@ const composeServerlessDefinition = async (AppDefinition) => {
|
|
|
499
487
|
throw new Error(`AWS discovery failed: ${error.message}`);
|
|
500
488
|
}
|
|
501
489
|
}
|
|
502
|
-
<<<<<<< HEAD
|
|
503
|
-
=======
|
|
504
490
|
|
|
505
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
506
491
|
const definition = {
|
|
507
492
|
frameworkVersion: '>=3.17.0',
|
|
508
493
|
service: AppDefinition.name || 'create-frigg-app',
|
|
@@ -810,39 +795,22 @@ const composeServerlessDefinition = async (AppDefinition) => {
|
|
|
810
795
|
// Option 2: Use AWS Discovery (default behavior)
|
|
811
796
|
// VPC configuration using discovered or explicitly provided resources
|
|
812
797
|
const vpcConfig = {
|
|
813
|
-
<<<<<<< HEAD
|
|
814
|
-
securityGroupIds: AppDefinition.vpc.securityGroupIds ||
|
|
815
|
-
(discoveredResources.defaultSecurityGroupId ? [discoveredResources.defaultSecurityGroupId] : []),
|
|
816
|
-
subnetIds: AppDefinition.vpc.subnetIds ||
|
|
817
|
-
(discoveredResources.privateSubnetId1 && discoveredResources.privateSubnetId2 ?
|
|
818
|
-
[discoveredResources.privateSubnetId1, discoveredResources.privateSubnetId2] :
|
|
819
|
-
[])
|
|
820
|
-
=======
|
|
821
798
|
securityGroupIds: AppDefinition.vpc.securityGroupIds ||
|
|
822
799
|
(discoveredResources.defaultSecurityGroupId ? [discoveredResources.defaultSecurityGroupId] : []),
|
|
823
800
|
subnetIds: AppDefinition.vpc.subnetIds ||
|
|
824
801
|
(discoveredResources.privateSubnetId1 && discoveredResources.privateSubnetId2 ?
|
|
825
802
|
[discoveredResources.privateSubnetId1, discoveredResources.privateSubnetId2] :
|
|
826
803
|
[])
|
|
827
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
828
804
|
};
|
|
829
805
|
|
|
830
806
|
// Set VPC config for Lambda functions only if we have valid subnet IDs
|
|
831
807
|
if (vpcConfig.subnetIds.length >= 2 && vpcConfig.securityGroupIds.length > 0) {
|
|
832
808
|
definition.provider.vpc = vpcConfig;
|
|
833
|
-
<<<<<<< HEAD
|
|
834
|
-
|
|
835
|
-
// Check if we have an existing NAT Gateway to use
|
|
836
|
-
if (!discoveredResources.existingNatGatewayId) {
|
|
837
|
-
// No existing NAT Gateway, create new resources
|
|
838
|
-
|
|
839
|
-
=======
|
|
840
809
|
|
|
841
810
|
// Check if we have an existing NAT Gateway to use
|
|
842
811
|
if (!discoveredResources.existingNatGatewayId) {
|
|
843
812
|
// No existing NAT Gateway, create new resources
|
|
844
813
|
|
|
845
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
846
814
|
// Only create EIP if we don't have an existing one available
|
|
847
815
|
if (!discoveredResources.existingElasticIpAllocationId) {
|
|
848
816
|
definition.resources.Resources.FriggNATGatewayEIP = {
|
|
@@ -859,13 +827,8 @@ const composeServerlessDefinition = async (AppDefinition) => {
|
|
|
859
827
|
definition.resources.Resources.FriggNATGateway = {
|
|
860
828
|
Type: 'AWS::EC2::NatGateway',
|
|
861
829
|
Properties: {
|
|
862
|
-
<<<<<<< HEAD
|
|
863
|
-
AllocationId: discoveredResources.existingElasticIpAllocationId ||
|
|
864
|
-
{ 'Fn::GetAtt': ['FriggNATGatewayEIP', 'AllocationId'] },
|
|
865
|
-
=======
|
|
866
830
|
AllocationId: discoveredResources.existingElasticIpAllocationId ||
|
|
867
831
|
{ 'Fn::GetAtt': ['FriggNATGatewayEIP', 'AllocationId'] },
|
|
868
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
869
832
|
SubnetId: discoveredResources.publicSubnetId || discoveredResources.privateSubnetId1, // Use first discovered subnet if no public subnet found
|
|
870
833
|
Tags: [
|
|
871
834
|
{ Key: 'Name', Value: '${self:service}-${self:provider.stage}-nat-gateway' }
|
|
@@ -897,21 +860,6 @@ const composeServerlessDefinition = async (AppDefinition) => {
|
|
|
897
860
|
// Associate Lambda subnets with NAT Gateway route table
|
|
898
861
|
definition.resources.Resources.FriggSubnet1RouteAssociation = {
|
|
899
862
|
Type: 'AWS::EC2::SubnetRouteTableAssociation',
|
|
900
|
-
<<<<<<< HEAD
|
|
901
|
-
Properties: {
|
|
902
|
-
SubnetId: vpcConfig.subnetIds[0],
|
|
903
|
-
RouteTableId: { Ref: 'FriggLambdaRouteTable' }
|
|
904
|
-
}
|
|
905
|
-
};
|
|
906
|
-
|
|
907
|
-
definition.resources.Resources.FriggSubnet2RouteAssociation = {
|
|
908
|
-
Type: 'AWS::EC2::SubnetRouteTableAssociation',
|
|
909
|
-
Properties: {
|
|
910
|
-
SubnetId: vpcConfig.subnetIds[1],
|
|
911
|
-
RouteTableId: { Ref: 'FriggLambdaRouteTable' }
|
|
912
|
-
}
|
|
913
|
-
};
|
|
914
|
-
=======
|
|
915
863
|
Properties: {
|
|
916
864
|
SubnetId: vpcConfig.subnetIds[0],
|
|
917
865
|
RouteTableId: { Ref: 'FriggLambdaRouteTable' }
|
|
@@ -925,31 +873,10 @@ const composeServerlessDefinition = async (AppDefinition) => {
|
|
|
925
873
|
RouteTableId: { Ref: 'FriggLambdaRouteTable' }
|
|
926
874
|
}
|
|
927
875
|
};
|
|
928
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
929
876
|
|
|
930
877
|
// Add VPC endpoints for AWS service optimization (optional but recommended)
|
|
931
878
|
if (AppDefinition.vpc.enableVPCEndpoints !== false) {
|
|
932
879
|
definition.resources.Resources.VPCEndpointS3 = {
|
|
933
|
-
<<<<<<< HEAD
|
|
934
|
-
Type: 'AWS::EC2::VPCEndpoint',
|
|
935
|
-
Properties: {
|
|
936
|
-
VpcId: discoveredResources.defaultVpcId,
|
|
937
|
-
ServiceName: 'com.amazonaws.${self:provider.region}.s3',
|
|
938
|
-
VpcEndpointType: 'Gateway',
|
|
939
|
-
RouteTableIds: [{ Ref: 'FriggLambdaRouteTable' }]
|
|
940
|
-
}
|
|
941
|
-
};
|
|
942
|
-
|
|
943
|
-
definition.resources.Resources.VPCEndpointDynamoDB = {
|
|
944
|
-
Type: 'AWS::EC2::VPCEndpoint',
|
|
945
|
-
Properties: {
|
|
946
|
-
VpcId: discoveredResources.defaultVpcId,
|
|
947
|
-
ServiceName: 'com.amazonaws.${self:provider.region}.dynamodb',
|
|
948
|
-
VpcEndpointType: 'Gateway',
|
|
949
|
-
RouteTableIds: [{ Ref: 'FriggLambdaRouteTable' }]
|
|
950
|
-
}
|
|
951
|
-
};
|
|
952
|
-
=======
|
|
953
880
|
Type: 'AWS::EC2::VPCEndpoint',
|
|
954
881
|
Properties: {
|
|
955
882
|
VpcId: discoveredResources.defaultVpcId,
|
|
@@ -968,7 +895,6 @@ const composeServerlessDefinition = async (AppDefinition) => {
|
|
|
968
895
|
RouteTableIds: [{ Ref: 'FriggLambdaRouteTable' }]
|
|
969
896
|
}
|
|
970
897
|
};
|
|
971
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
972
898
|
}
|
|
973
899
|
}
|
|
974
900
|
}
|
|
@@ -1008,15 +934,6 @@ const composeServerlessDefinition = async (AppDefinition) => {
|
|
|
1008
934
|
|
|
1009
935
|
// Add function for the integration
|
|
1010
936
|
definition.functions[integrationName] = {
|
|
1011
|
-
<<<<<<< HEAD
|
|
1012
|
-
handler: `node_modules/@friggframework/core/handlers/routers/integration-defined-routers.handlers.${integrationName}.handler`,
|
|
1013
|
-
events: [
|
|
1014
|
-
{
|
|
1015
|
-
http: {
|
|
1016
|
-
path: `/api/${integrationName}-integration/{proxy+}`,
|
|
1017
|
-
method: 'ANY',
|
|
1018
|
-
cors: true,
|
|
1019
|
-
=======
|
|
1020
937
|
handler: `node_modules/@friggframework/core/handlers/routers/integration-defined-routers.handlers.${integrationName}.handler`,
|
|
1021
938
|
events: [
|
|
1022
939
|
{
|
|
@@ -1058,117 +975,14 @@ const composeServerlessDefinition = async (AppDefinition) => {
|
|
|
1058
975
|
sqs: {
|
|
1059
976
|
arn: {
|
|
1060
977
|
'Fn::GetAtt': [queueReference, 'Arn'],
|
|
1061
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
1062
|
-
},
|
|
1063
|
-
},
|
|
1064
|
-
],
|
|
1065
|
-
};
|
|
1066
|
-
|
|
1067
|
-
// Add SQS Queue for the integration
|
|
1068
|
-
const queueReference = `${integrationName.charAt(0).toUpperCase() + integrationName.slice(1)
|
|
1069
|
-
}Queue`;
|
|
1070
|
-
const queueName = `\${self:service}--\${self:provider.stage}-${queueReference}`;
|
|
1071
|
-
definition.resources.Resources[queueReference] = {
|
|
1072
|
-
Type: 'AWS::SQS::Queue',
|
|
1073
|
-
Properties: {
|
|
1074
|
-
QueueName: `\${self:custom.${queueReference}}`,
|
|
1075
|
-
MessageRetentionPeriod: 60,
|
|
1076
|
-
VisibilityTimeout: 1800, // 30 minutes
|
|
1077
|
-
RedrivePolicy: {
|
|
1078
|
-
maxReceiveCount: 1,
|
|
1079
|
-
deadLetterTargetArn: {
|
|
1080
|
-
'Fn::GetAtt': ['InternalErrorQueue', 'Arn'],
|
|
1081
978
|
},
|
|
1082
|
-
|
|
1083
|
-
},
|
|
1084
|
-
};
|
|
1085
|
-
|
|
1086
|
-
// Add Queue Worker for the integration
|
|
1087
|
-
const queueWorkerName = `${integrationName}QueueWorker`;
|
|
1088
|
-
definition.functions[queueWorkerName] = {
|
|
1089
|
-
handler: `node_modules/@friggframework/core/handlers/workers/integration-defined-workers.handlers.${integrationName}.queueWorker`,
|
|
1090
|
-
reservedConcurrency: 5,
|
|
1091
|
-
events: [
|
|
1092
|
-
{
|
|
1093
|
-
sqs: {
|
|
1094
|
-
arn: {
|
|
1095
|
-
'Fn::GetAtt': [queueReference, 'Arn'],
|
|
1096
|
-
},
|
|
1097
|
-
batchSize: 1,
|
|
1098
|
-
},
|
|
1099
|
-
},
|
|
1100
|
-
],
|
|
1101
|
-
timeout: 600,
|
|
1102
|
-
};
|
|
1103
|
-
|
|
1104
|
-
// Add Queue URL for the integration to the ENVironment variables
|
|
1105
|
-
definition.provider.environment = {
|
|
1106
|
-
...definition.provider.environment,
|
|
1107
|
-
[`${integrationName.toUpperCase()}_QUEUE_URL`]: {
|
|
1108
|
-
Ref: queueReference,
|
|
1109
|
-
},
|
|
1110
|
-
};
|
|
1111
|
-
|
|
1112
|
-
definition.custom[queueReference] = queueName;
|
|
1113
|
-
}
|
|
1114
|
-
}
|
|
1115
|
-
|
|
1116
|
-
// Discovery has already run successfully at this point if needed
|
|
1117
|
-
// The discoveredResources object contains all the necessary AWS resources
|
|
1118
|
-
|
|
1119
|
-
// Add websocket function if enabled
|
|
1120
|
-
if (AppDefinition.websockets?.enable === true) {
|
|
1121
|
-
definition.functions.defaultWebsocket = {
|
|
1122
|
-
handler: 'node_modules/@friggframework/core/handlers/routers/websocket.handler',
|
|
1123
|
-
events: [
|
|
1124
|
-
{
|
|
1125
|
-
websocket: {
|
|
1126
|
-
route: '$connect',
|
|
1127
|
-
},
|
|
1128
|
-
},
|
|
1129
|
-
{
|
|
1130
|
-
websocket: {
|
|
1131
|
-
route: '$default',
|
|
1132
|
-
},
|
|
1133
|
-
},
|
|
1134
|
-
{
|
|
1135
|
-
websocket: {
|
|
1136
|
-
route: '$disconnect',
|
|
979
|
+
batchSize: 1,
|
|
1137
980
|
},
|
|
1138
981
|
},
|
|
1139
982
|
],
|
|
983
|
+
timeout: 600,
|
|
1140
984
|
};
|
|
1141
|
-
}
|
|
1142
|
-
|
|
1143
|
-
<<<<<<< HEAD
|
|
1144
|
-
// Discovery has already run successfully at this point if needed
|
|
1145
|
-
// The discoveredResources object contains all the necessary AWS resources
|
|
1146
|
-
|
|
1147
|
-
// Add websocket function if enabled
|
|
1148
|
-
if (AppDefinition.websockets?.enable === true) {
|
|
1149
|
-
definition.functions.defaultWebsocket = {
|
|
1150
|
-
handler: 'node_modules/@friggframework/core/handlers/routers/websocket.handler',
|
|
1151
|
-
events: [
|
|
1152
|
-
{
|
|
1153
|
-
websocket: {
|
|
1154
|
-
route: '$connect',
|
|
1155
|
-
},
|
|
1156
|
-
},
|
|
1157
|
-
{
|
|
1158
|
-
websocket: {
|
|
1159
|
-
route: '$default',
|
|
1160
|
-
},
|
|
1161
|
-
},
|
|
1162
|
-
{
|
|
1163
|
-
websocket: {
|
|
1164
|
-
route: '$disconnect',
|
|
1165
|
-
},
|
|
1166
|
-
},
|
|
1167
|
-
],
|
|
1168
|
-
};
|
|
1169
|
-
}
|
|
1170
985
|
|
|
1171
|
-
=======
|
|
1172
986
|
// Add Queue URL for the integration to the ENVironment variables
|
|
1173
987
|
definition.provider.environment = {
|
|
1174
988
|
...definition.provider.environment,
|
|
@@ -1208,7 +1022,6 @@ const composeServerlessDefinition = async (AppDefinition) => {
|
|
|
1208
1022
|
};
|
|
1209
1023
|
}
|
|
1210
1024
|
|
|
1211
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
1212
1025
|
// Discovery has already run successfully at this point if needed
|
|
1213
1026
|
// The discoveredResources object contains all the necessary AWS resources
|
|
1214
1027
|
|
|
@@ -31,10 +31,7 @@ describe('composeServerlessDefinition', () => {
|
|
|
31
31
|
|
|
32
32
|
// Mock process.argv to avoid offline mode during tests
|
|
33
33
|
process.argv = ['node', 'test'];
|
|
34
|
-
<<<<<<< HEAD
|
|
35
|
-
=======
|
|
36
34
|
|
|
37
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
38
35
|
// Clear AWS_REGION for tests
|
|
39
36
|
delete process.env.AWS_REGION;
|
|
40
37
|
});
|
|
@@ -85,10 +82,7 @@ describe('composeServerlessDefinition', () => {
|
|
|
85
82
|
|
|
86
83
|
it('should use AWS_REGION environment variable when set', async () => {
|
|
87
84
|
process.env.AWS_REGION = 'eu-west-1';
|
|
88
|
-
<<<<<<< HEAD
|
|
89
|
-
=======
|
|
90
85
|
|
|
91
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
92
86
|
const appDefinition = {
|
|
93
87
|
name: 'test-app',
|
|
94
88
|
integrations: []
|
|
@@ -102,10 +96,7 @@ describe('composeServerlessDefinition', () => {
|
|
|
102
96
|
|
|
103
97
|
it('should default to us-east-1 when AWS_REGION is not set', async () => {
|
|
104
98
|
delete process.env.AWS_REGION;
|
|
105
|
-
<<<<<<< HEAD
|
|
106
|
-
=======
|
|
107
99
|
|
|
108
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
109
100
|
const appDefinition = {
|
|
110
101
|
name: 'test-app',
|
|
111
102
|
integrations: []
|
|
@@ -292,10 +283,7 @@ describe('composeServerlessDefinition', () => {
|
|
|
292
283
|
const result = await composeServerlessDefinition(appDefinition);
|
|
293
284
|
|
|
294
285
|
expect(result.provider.layers).toBeUndefined();
|
|
295
|
-
<<<<<<< HEAD
|
|
296
|
-
=======
|
|
297
286
|
|
|
298
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
299
287
|
const ssmPermission = result.provider.iamRoleStatements.find(
|
|
300
288
|
statement => statement.Action && statement.Action.includes('ssm:GetParameter')
|
|
301
289
|
);
|