@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
|
@@ -46,10 +46,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
46
46
|
const template = {
|
|
47
47
|
AWSTemplateFormatVersion: '2010-09-09',
|
|
48
48
|
Description: `IAM roles and policies for ${appDefinition.name || 'Frigg'} application deployment pipeline`,
|
|
49
|
-
<<<<<<< HEAD
|
|
50
|
-
=======
|
|
51
49
|
|
|
52
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
53
50
|
Parameters: {
|
|
54
51
|
DeploymentUserName: {
|
|
55
52
|
Type: 'String',
|
|
@@ -169,10 +166,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
169
166
|
'cloudformation:DeleteChangeSet',
|
|
170
167
|
'cloudformation:ExecuteChangeSet',
|
|
171
168
|
'cloudformation:ValidateTemplate',
|
|
172
|
-
<<<<<<< HEAD
|
|
173
|
-
=======
|
|
174
169
|
|
|
175
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
176
170
|
// Lambda permissions
|
|
177
171
|
'lambda:CreateFunction',
|
|
178
172
|
'lambda:UpdateFunctionCode',
|
|
@@ -195,10 +189,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
195
189
|
'lambda:TagResource',
|
|
196
190
|
'lambda:UntagResource',
|
|
197
191
|
'lambda:ListVersionsByFunction',
|
|
198
|
-
<<<<<<< HEAD
|
|
199
|
-
=======
|
|
200
192
|
|
|
201
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
202
193
|
// IAM permissions
|
|
203
194
|
'iam:CreateRole',
|
|
204
195
|
'iam:DeleteRole',
|
|
@@ -212,41 +203,18 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
212
203
|
'iam:TagRole',
|
|
213
204
|
'iam:UntagRole',
|
|
214
205
|
'iam:ListPolicyVersions',
|
|
215
|
-
<<<<<<< HEAD
|
|
216
|
-
|
|
217
|
-
=======
|
|
218
206
|
|
|
219
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
220
207
|
// S3 permissions
|
|
221
208
|
's3:CreateBucket',
|
|
222
|
-
's3:DeleteBucket',
|
|
223
209
|
's3:PutObject',
|
|
224
210
|
's3:GetObject',
|
|
225
211
|
's3:DeleteObject',
|
|
226
212
|
's3:PutBucketPolicy',
|
|
227
|
-
's3:GetBucketPolicy',
|
|
228
|
-
's3:DeleteBucketPolicy',
|
|
229
213
|
's3:PutBucketVersioning',
|
|
230
|
-
's3:GetBucketVersioning',
|
|
231
214
|
's3:PutBucketPublicAccessBlock',
|
|
232
|
-
's3:GetBucketPublicAccessBlock',
|
|
233
|
-
's3:PutBucketTagging',
|
|
234
|
-
's3:GetBucketTagging',
|
|
235
|
-
's3:DeleteBucketTagging',
|
|
236
|
-
's3:PutBucketEncryption',
|
|
237
|
-
's3:GetBucketEncryption',
|
|
238
|
-
's3:PutEncryptionConfiguration',
|
|
239
|
-
's3:PutBucketNotification',
|
|
240
|
-
's3:GetBucketNotification',
|
|
241
215
|
's3:GetBucketLocation',
|
|
242
216
|
's3:ListBucket',
|
|
243
|
-
's3:GetBucketAcl',
|
|
244
|
-
's3:PutBucketAcl',
|
|
245
|
-
<<<<<<< HEAD
|
|
246
|
-
|
|
247
|
-
=======
|
|
248
217
|
|
|
249
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
250
218
|
// SQS permissions
|
|
251
219
|
'sqs:CreateQueue',
|
|
252
220
|
'sqs:DeleteQueue',
|
|
@@ -255,10 +223,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
255
223
|
'sqs:GetQueueUrl',
|
|
256
224
|
'sqs:TagQueue',
|
|
257
225
|
'sqs:UntagQueue',
|
|
258
|
-
<<<<<<< HEAD
|
|
259
|
-
=======
|
|
260
226
|
|
|
261
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
262
227
|
// SNS permissions
|
|
263
228
|
'sns:CreateTopic',
|
|
264
229
|
'sns:DeleteTopic',
|
|
@@ -269,10 +234,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
269
234
|
'sns:ListSubscriptionsByTopic',
|
|
270
235
|
'sns:TagResource',
|
|
271
236
|
'sns:UntagResource',
|
|
272
|
-
<<<<<<< HEAD
|
|
273
|
-
=======
|
|
274
237
|
|
|
275
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
276
238
|
// CloudWatch and Logs permissions
|
|
277
239
|
'cloudwatch:PutMetricAlarm',
|
|
278
240
|
'cloudwatch:DeleteAlarms',
|
|
@@ -285,10 +247,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
285
247
|
'logs:FilterLogEvents',
|
|
286
248
|
'logs:PutLogEvents',
|
|
287
249
|
'logs:PutRetentionPolicy',
|
|
288
|
-
<<<<<<< HEAD
|
|
289
|
-
=======
|
|
290
250
|
|
|
291
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
292
251
|
// API Gateway permissions
|
|
293
252
|
'apigateway:POST',
|
|
294
253
|
'apigateway:PUT',
|
|
@@ -314,10 +273,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
314
273
|
'cloudformation:DescribeChangeSet',
|
|
315
274
|
'cloudformation:CreateChangeSet',
|
|
316
275
|
'cloudformation:DeleteChangeSet',
|
|
317
|
-
'cloudformation:ExecuteChangeSet'
|
|
318
|
-
'cloudformation:TagResource',
|
|
319
|
-
'cloudformation:UntagResource',
|
|
320
|
-
'cloudformation:ListStackResources'
|
|
276
|
+
'cloudformation:ExecuteChangeSet'
|
|
321
277
|
],
|
|
322
278
|
Resource: [
|
|
323
279
|
{ 'Fn::Sub': 'arn:aws:cloudformation:*:${AWS::AccountId}:stack/*frigg*/*' }
|
|
@@ -334,29 +290,14 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
334
290
|
Effect: 'Allow',
|
|
335
291
|
Action: [
|
|
336
292
|
's3:CreateBucket',
|
|
337
|
-
's3:DeleteBucket',
|
|
338
293
|
's3:PutObject',
|
|
339
294
|
's3:GetObject',
|
|
340
295
|
's3:DeleteObject',
|
|
341
296
|
's3:PutBucketPolicy',
|
|
342
|
-
's3:GetBucketPolicy',
|
|
343
|
-
's3:DeleteBucketPolicy',
|
|
344
297
|
's3:PutBucketVersioning',
|
|
345
|
-
's3:GetBucketVersioning',
|
|
346
298
|
's3:PutBucketPublicAccessBlock',
|
|
347
|
-
's3:GetBucketPublicAccessBlock',
|
|
348
|
-
's3:PutBucketTagging',
|
|
349
|
-
's3:GetBucketTagging',
|
|
350
|
-
's3:DeleteBucketTagging',
|
|
351
|
-
's3:PutBucketEncryption',
|
|
352
|
-
's3:GetBucketEncryption',
|
|
353
|
-
's3:PutEncryptionConfiguration',
|
|
354
|
-
's3:PutBucketNotification',
|
|
355
|
-
's3:GetBucketNotification',
|
|
356
299
|
's3:GetBucketLocation',
|
|
357
|
-
's3:ListBucket'
|
|
358
|
-
's3:GetBucketAcl',
|
|
359
|
-
's3:PutBucketAcl'
|
|
300
|
+
's3:ListBucket'
|
|
360
301
|
],
|
|
361
302
|
Resource: [
|
|
362
303
|
'arn:aws:s3:::*serverless*',
|
|
@@ -384,7 +325,6 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
384
325
|
'lambda:PutProvisionedConcurrencyConfig',
|
|
385
326
|
'lambda:DeleteProvisionedConcurrencyConfig',
|
|
386
327
|
'lambda:PutConcurrency',
|
|
387
|
-
'lambda:PutFunctionConcurrency',
|
|
388
328
|
'lambda:DeleteConcurrency',
|
|
389
329
|
'lambda:TagResource',
|
|
390
330
|
'lambda:UntagResource',
|
|
@@ -394,23 +334,6 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
394
334
|
{ 'Fn::Sub': 'arn:aws:lambda:*:${AWS::AccountId}:function:*frigg*' }
|
|
395
335
|
]
|
|
396
336
|
},
|
|
397
|
-
{
|
|
398
|
-
Sid: 'FriggLambdaEventSourceMapping',
|
|
399
|
-
Effect: 'Allow',
|
|
400
|
-
Action: [
|
|
401
|
-
'lambda:CreateEventSourceMapping',
|
|
402
|
-
'lambda:DeleteEventSourceMapping',
|
|
403
|
-
'lambda:GetEventSourceMapping',
|
|
404
|
-
'lambda:UpdateEventSourceMapping',
|
|
405
|
-
'lambda:ListEventSourceMappings',
|
|
406
|
-
'lambda:TagResource',
|
|
407
|
-
'lambda:UntagResource',
|
|
408
|
-
'lambda:ListTags'
|
|
409
|
-
],
|
|
410
|
-
Resource: [
|
|
411
|
-
{ 'Fn::Sub': 'arn:aws:lambda:*:${AWS::AccountId}:event-source-mapping:*' }
|
|
412
|
-
]
|
|
413
|
-
},
|
|
414
337
|
{
|
|
415
338
|
Sid: 'IAMRolesForFriggLambda',
|
|
416
339
|
Effect: 'Allow',
|
|
@@ -487,9 +410,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
487
410
|
'logs:DescribeLogStreams',
|
|
488
411
|
'logs:FilterLogEvents',
|
|
489
412
|
'logs:PutLogEvents',
|
|
490
|
-
'logs:PutRetentionPolicy'
|
|
491
|
-
'logs:TagResource',
|
|
492
|
-
'logs:UntagResource'
|
|
413
|
+
'logs:PutRetentionPolicy'
|
|
493
414
|
],
|
|
494
415
|
Resource: [
|
|
495
416
|
{ 'Fn::Sub': 'arn:aws:logs:*:${AWS::AccountId}:log-group:/aws/lambda/*frigg*' },
|
|
@@ -511,8 +432,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
511
432
|
'arn:aws:apigateway:*::/restapis',
|
|
512
433
|
'arn:aws:apigateway:*::/restapis/*',
|
|
513
434
|
'arn:aws:apigateway:*::/domainnames',
|
|
514
|
-
'arn:aws:apigateway:*::/domainnames/*'
|
|
515
|
-
'arn:aws:apigateway:*::/tags/*'
|
|
435
|
+
'arn:aws:apigateway:*::/domainnames/*'
|
|
516
436
|
]
|
|
517
437
|
}
|
|
518
438
|
];
|
|
@@ -546,7 +466,6 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
546
466
|
Action: [
|
|
547
467
|
'ec2:CreateVpcEndpoint',
|
|
548
468
|
'ec2:DeleteVpcEndpoint',
|
|
549
|
-
'ec2:DeleteVpcEndpoints',
|
|
550
469
|
'ec2:DescribeVpcEndpoints',
|
|
551
470
|
'ec2:ModifyVpcEndpoint',
|
|
552
471
|
'ec2:CreateNatGateway',
|
|
@@ -555,8 +474,6 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
555
474
|
'ec2:AllocateAddress',
|
|
556
475
|
'ec2:ReleaseAddress',
|
|
557
476
|
'ec2:DescribeAddresses',
|
|
558
|
-
'ec2:AssociateAddress',
|
|
559
|
-
'ec2:DisassociateAddress',
|
|
560
477
|
'ec2:CreateRouteTable',
|
|
561
478
|
'ec2:DeleteRouteTable',
|
|
562
479
|
'ec2:DescribeRouteTables',
|
|
@@ -569,10 +486,7 @@ function generateIAMCloudFormation(appDefinition, options = {}) {
|
|
|
569
486
|
'ec2:AuthorizeSecurityGroupEgress',
|
|
570
487
|
'ec2:AuthorizeSecurityGroupIngress',
|
|
571
488
|
'ec2:RevokeSecurityGroupEgress',
|
|
572
|
-
'ec2:RevokeSecurityGroupIngress'
|
|
573
|
-
'ec2:CreateTags',
|
|
574
|
-
'ec2:DeleteTags',
|
|
575
|
-
'ec2:DescribeTags'
|
|
489
|
+
'ec2:RevokeSecurityGroupIngress'
|
|
576
490
|
],
|
|
577
491
|
Resource: '*'
|
|
578
492
|
}
|
|
@@ -764,47 +678,10 @@ function generateIAMPolicy(mode = 'basic') {
|
|
|
764
678
|
return generateBasicIAMPolicy();
|
|
765
679
|
}
|
|
766
680
|
|
|
767
|
-
/**
|
|
768
|
-
* Wrapper function for generate command compatibility
|
|
769
|
-
* @param {Object} options - Generation options
|
|
770
|
-
* @param {string} options.appName - Application name
|
|
771
|
-
* @param {Object} options.features - Feature flags
|
|
772
|
-
* @param {string} options.userPrefix - IAM user name prefix
|
|
773
|
-
* @param {string} options.stackName - CloudFormation stack name
|
|
774
|
-
* @returns {Promise<string>} CloudFormation YAML template
|
|
775
|
-
*/
|
|
776
|
-
async function generateCloudFormationTemplate(options) {
|
|
777
|
-
const { appName, features, userPrefix, stackName } = options;
|
|
778
|
-
<<<<<<< HEAD
|
|
779
|
-
|
|
780
|
-
=======
|
|
781
|
-
|
|
782
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
783
|
-
// Create appDefinition from features
|
|
784
|
-
const appDefinition = {
|
|
785
|
-
name: appName,
|
|
786
|
-
vpc: { enable: features.vpc },
|
|
787
|
-
encryption: { useDefaultKMSForFieldLevelEncryption: features.kms },
|
|
788
|
-
ssm: { enable: features.ssm },
|
|
789
|
-
websockets: { enable: features.websockets }
|
|
790
|
-
};
|
|
791
|
-
<<<<<<< HEAD
|
|
792
|
-
|
|
793
|
-
=======
|
|
794
|
-
|
|
795
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
796
|
-
return generateIAMCloudFormation(appDefinition, {
|
|
797
|
-
deploymentUserName: userPrefix,
|
|
798
|
-
stackName: stackName,
|
|
799
|
-
mode: 'auto'
|
|
800
|
-
});
|
|
801
|
-
}
|
|
802
|
-
|
|
803
681
|
module.exports = {
|
|
804
682
|
generateIAMCloudFormation,
|
|
805
683
|
getFeatureSummary,
|
|
806
684
|
generateBasicIAMPolicy,
|
|
807
685
|
generateFullIAMPolicy,
|
|
808
|
-
generateIAMPolicy
|
|
809
|
-
generateCloudFormationTemplate
|
|
686
|
+
generateIAMPolicy
|
|
810
687
|
};
|
|
@@ -43,29 +43,16 @@
|
|
|
43
43
|
"Effect": "Allow",
|
|
44
44
|
"Action": [
|
|
45
45
|
"s3:CreateBucket",
|
|
46
|
-
"s3:DeleteBucket",
|
|
47
46
|
"s3:PutObject",
|
|
48
47
|
"s3:GetObject",
|
|
49
48
|
"s3:DeleteObject",
|
|
50
49
|
"s3:PutBucketPolicy",
|
|
51
|
-
"s3:GetBucketPolicy",
|
|
52
|
-
"s3:DeleteBucketPolicy",
|
|
53
50
|
"s3:PutBucketVersioning",
|
|
54
|
-
"s3:GetBucketVersioning",
|
|
55
51
|
"s3:PutBucketPublicAccessBlock",
|
|
56
|
-
"s3:GetBucketPublicAccessBlock",
|
|
57
|
-
"s3:PutBucketTagging",
|
|
58
|
-
"s3:GetBucketTagging",
|
|
59
|
-
"s3:DeleteBucketTagging",
|
|
60
|
-
"s3:PutBucketEncryption",
|
|
61
|
-
"s3:GetBucketEncryption",
|
|
62
|
-
"s3:PutEncryptionConfiguration",
|
|
63
|
-
"s3:PutBucketNotification",
|
|
64
|
-
"s3:GetBucketNotification",
|
|
65
52
|
"s3:GetBucketLocation",
|
|
66
53
|
"s3:ListBucket",
|
|
67
|
-
"s3:
|
|
68
|
-
"s3:
|
|
54
|
+
"s3:PutBucketTagging",
|
|
55
|
+
"s3:GetBucketTagging"
|
|
69
56
|
],
|
|
70
57
|
"Resource": [
|
|
71
58
|
"arn:aws:s3:::*serverless*",
|
|
@@ -93,7 +80,6 @@
|
|
|
93
80
|
"lambda:PutProvisionedConcurrencyConfig",
|
|
94
81
|
"lambda:DeleteProvisionedConcurrencyConfig",
|
|
95
82
|
"lambda:PutConcurrency",
|
|
96
|
-
"lambda:PutFunctionConcurrency",
|
|
97
83
|
"lambda:DeleteConcurrency",
|
|
98
84
|
"lambda:TagResource",
|
|
99
85
|
"lambda:UntagResource",
|
|
@@ -111,10 +97,7 @@
|
|
|
111
97
|
"lambda:DeleteEventSourceMapping",
|
|
112
98
|
"lambda:GetEventSourceMapping",
|
|
113
99
|
"lambda:UpdateEventSourceMapping",
|
|
114
|
-
"lambda:ListEventSourceMappings"
|
|
115
|
-
"lambda:TagResource",
|
|
116
|
-
"lambda:UntagResource",
|
|
117
|
-
"lambda:ListTags"
|
|
100
|
+
"lambda:ListEventSourceMappings"
|
|
118
101
|
],
|
|
119
102
|
"Resource": [
|
|
120
103
|
"arn:aws:lambda:*:*:event-source-mapping:*"
|
|
@@ -200,9 +183,7 @@
|
|
|
200
183
|
"logs:DescribeLogStreams",
|
|
201
184
|
"logs:FilterLogEvents",
|
|
202
185
|
"logs:PutLogEvents",
|
|
203
|
-
"logs:PutRetentionPolicy"
|
|
204
|
-
"logs:TagResource",
|
|
205
|
-
"logs:UntagResource"
|
|
186
|
+
"logs:PutRetentionPolicy"
|
|
206
187
|
],
|
|
207
188
|
"Resource": [
|
|
208
189
|
"arn:aws:logs:*:*:log-group:/aws/lambda/*frigg*",
|
|
@@ -224,12 +205,7 @@
|
|
|
224
205
|
"arn:aws:apigateway:*::/restapis",
|
|
225
206
|
"arn:aws:apigateway:*::/restapis/*",
|
|
226
207
|
"arn:aws:apigateway:*::/domainnames",
|
|
227
|
-
|
|
228
|
-
"arn:aws:apigateway:*::/domainnames/*",
|
|
229
|
-
=======
|
|
230
|
-
"arn:aws:apigateway:*::/domainnames/*",
|
|
231
|
-
>>>>>>> 37c4892ee8a686eb7acfcd17c333b0ed73e1f120
|
|
232
|
-
"arn:aws:apigateway:*::/tags/*"
|
|
208
|
+
"arn:aws:apigateway:*::/domainnames/*"
|
|
233
209
|
]
|
|
234
210
|
}
|
|
235
211
|
]
|
|
@@ -43,29 +43,16 @@
|
|
|
43
43
|
"Effect": "Allow",
|
|
44
44
|
"Action": [
|
|
45
45
|
"s3:CreateBucket",
|
|
46
|
-
"s3:DeleteBucket",
|
|
47
46
|
"s3:PutObject",
|
|
48
47
|
"s3:GetObject",
|
|
49
48
|
"s3:DeleteObject",
|
|
50
49
|
"s3:PutBucketPolicy",
|
|
51
|
-
"s3:GetBucketPolicy",
|
|
52
|
-
"s3:DeleteBucketPolicy",
|
|
53
50
|
"s3:PutBucketVersioning",
|
|
54
|
-
"s3:GetBucketVersioning",
|
|
55
51
|
"s3:PutBucketPublicAccessBlock",
|
|
56
|
-
"s3:GetBucketPublicAccessBlock",
|
|
57
|
-
"s3:PutBucketTagging",
|
|
58
|
-
"s3:GetBucketTagging",
|
|
59
|
-
"s3:DeleteBucketTagging",
|
|
60
|
-
"s3:PutBucketEncryption",
|
|
61
|
-
"s3:GetBucketEncryption",
|
|
62
|
-
"s3:PutEncryptionConfiguration",
|
|
63
|
-
"s3:PutBucketNotification",
|
|
64
|
-
"s3:GetBucketNotification",
|
|
65
52
|
"s3:GetBucketLocation",
|
|
66
53
|
"s3:ListBucket",
|
|
67
|
-
"s3:
|
|
68
|
-
"s3:
|
|
54
|
+
"s3:PutBucketTagging",
|
|
55
|
+
"s3:GetBucketTagging"
|
|
69
56
|
],
|
|
70
57
|
"Resource": [
|
|
71
58
|
"arn:aws:s3:::*serverless*",
|
|
@@ -93,7 +80,6 @@
|
|
|
93
80
|
"lambda:PutProvisionedConcurrencyConfig",
|
|
94
81
|
"lambda:DeleteProvisionedConcurrencyConfig",
|
|
95
82
|
"lambda:PutConcurrency",
|
|
96
|
-
"lambda:PutFunctionConcurrency",
|
|
97
83
|
"lambda:DeleteConcurrency",
|
|
98
84
|
"lambda:TagResource",
|
|
99
85
|
"lambda:UntagResource",
|
|
@@ -111,10 +97,7 @@
|
|
|
111
97
|
"lambda:DeleteEventSourceMapping",
|
|
112
98
|
"lambda:GetEventSourceMapping",
|
|
113
99
|
"lambda:UpdateEventSourceMapping",
|
|
114
|
-
"lambda:ListEventSourceMappings"
|
|
115
|
-
"lambda:TagResource",
|
|
116
|
-
"lambda:UntagResource",
|
|
117
|
-
"lambda:ListTags"
|
|
100
|
+
"lambda:ListEventSourceMappings"
|
|
118
101
|
],
|
|
119
102
|
"Resource": [
|
|
120
103
|
"arn:aws:lambda:*:*:event-source-mapping:*"
|
|
@@ -200,9 +183,7 @@
|
|
|
200
183
|
"logs:DescribeLogStreams",
|
|
201
184
|
"logs:FilterLogEvents",
|
|
202
185
|
"logs:PutLogEvents",
|
|
203
|
-
"logs:PutRetentionPolicy"
|
|
204
|
-
"logs:TagResource",
|
|
205
|
-
"logs:UntagResource"
|
|
186
|
+
"logs:PutRetentionPolicy"
|
|
206
187
|
],
|
|
207
188
|
"Resource": [
|
|
208
189
|
"arn:aws:logs:*:*:log-group:/aws/lambda/*frigg*",
|
|
@@ -224,8 +205,7 @@
|
|
|
224
205
|
"arn:aws:apigateway:*::/restapis",
|
|
225
206
|
"arn:aws:apigateway:*::/restapis/*",
|
|
226
207
|
"arn:aws:apigateway:*::/domainnames",
|
|
227
|
-
"arn:aws:apigateway:*::/domainnames/*"
|
|
228
|
-
"arn:aws:apigateway:*::/tags/*"
|
|
208
|
+
"arn:aws:apigateway:*::/domainnames/*"
|
|
229
209
|
]
|
|
230
210
|
},
|
|
231
211
|
{
|
|
@@ -234,7 +214,6 @@
|
|
|
234
214
|
"Action": [
|
|
235
215
|
"ec2:CreateVpcEndpoint",
|
|
236
216
|
"ec2:DeleteVpcEndpoint",
|
|
237
|
-
"ec2:DeleteVpcEndpoints",
|
|
238
217
|
"ec2:DescribeVpcEndpoints",
|
|
239
218
|
"ec2:ModifyVpcEndpoint",
|
|
240
219
|
"ec2:CreateNatGateway",
|
|
@@ -243,8 +222,6 @@
|
|
|
243
222
|
"ec2:AllocateAddress",
|
|
244
223
|
"ec2:ReleaseAddress",
|
|
245
224
|
"ec2:DescribeAddresses",
|
|
246
|
-
"ec2:AssociateAddress",
|
|
247
|
-
"ec2:DisassociateAddress",
|
|
248
225
|
"ec2:CreateRouteTable",
|
|
249
226
|
"ec2:DeleteRouteTable",
|
|
250
227
|
"ec2:DescribeRouteTables",
|