@webiny/project-aws 6.3.0 → 6.4.0-beta.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/_templates/appTemplates/admin/src/index.tsx +0 -3
- package/abstractions/ApiGqlClient.js +2 -1
- package/abstractions/ApiGqlClient.js.map +1 -1
- package/abstractions/InvokeLambdaFunction.js +2 -1
- package/abstractions/InvokeLambdaFunction.js.map +1 -1
- package/abstractions/features/pulumi/AdminPulumi.js +2 -1
- package/abstractions/features/pulumi/AdminPulumi.js.map +1 -1
- package/abstractions/features/pulumi/ApiPulumi.js +2 -1
- package/abstractions/features/pulumi/ApiPulumi.js.map +1 -1
- package/abstractions/features/pulumi/CorePulumi.js +2 -1
- package/abstractions/features/pulumi/CorePulumi.js.map +1 -1
- package/abstractions/features/pulumi/index.js +0 -2
- package/abstractions/index.js +0 -2
- package/abstractions/services/AdminStackOutputService.js +2 -1
- package/abstractions/services/AdminStackOutputService.js.map +1 -1
- package/abstractions/services/ApiStackOutputService.js +2 -1
- package/abstractions/services/ApiStackOutputService.js.map +1 -1
- package/abstractions/services/CoreStackOutputService.js +2 -1
- package/abstractions/services/CoreStackOutputService.js.map +1 -1
- package/admin.js +5 -4
- package/admin.js.map +1 -1
- package/api.js +13 -12
- package/api.js.map +1 -1
- package/apps/createAdminApp.js +11 -12
- package/apps/createAdminApp.js.map +1 -1
- package/apps/createAdminAppConfig.js +12 -18
- package/apps/createAdminAppConfig.js.map +1 -1
- package/apps/createApiApp.js +17 -22
- package/apps/createApiApp.js.map +1 -1
- package/apps/createBlueGreenApp.js +13 -16
- package/apps/createBlueGreenApp.js.map +1 -1
- package/apps/createCoreApp.js +12 -13
- package/apps/createCoreApp.js.map +1 -1
- package/apps/createReactAppConfig.d.ts +0 -7
- package/apps/createReactAppConfig.js +56 -69
- package/apps/createReactAppConfig.js.map +1 -1
- package/apps/createSyncSystemApp.js +8 -7
- package/apps/createSyncSystemApp.js.map +1 -1
- package/apps/index.js +0 -2
- package/cli.js +3 -2
- package/cli.js.map +1 -1
- package/exports/extensions.js +0 -2
- package/exports/infra/admin.js +0 -2
- package/exports/infra/api.js +0 -2
- package/exports/infra/core.js +0 -2
- package/exports/infra.js +1 -3
- package/extensions/ApiLambdaFunction.js +45 -56
- package/extensions/ApiLambdaFunction.js.map +1 -1
- package/extensions/ApiRoute.js +90 -104
- package/extensions/ApiRoute.js.map +1 -1
- package/extensions/AwsDefaultRegion.js +17 -16
- package/extensions/AwsDefaultRegion.js.map +1 -1
- package/extensions/Cms/ModelFieldCompression.js +16 -15
- package/extensions/Cms/ModelFieldCompression.js.map +1 -1
- package/extensions/Encryption.js +30 -29
- package/extensions/Encryption.js.map +1 -1
- package/extensions/Mailer/Smtp.js +15 -14
- package/extensions/Mailer/Smtp.js.map +1 -1
- package/extensions/Mailer/Smtp.test.js +117 -131
- package/extensions/Mailer/Smtp.test.js.map +1 -1
- package/extensions/Mailer/SmtpParamsSchema.js +11 -14
- package/extensions/Mailer/SmtpParamsSchema.js.map +1 -1
- package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js +25 -30
- package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js.map +1 -1
- package/extensions/OpenSearch/EnsureOsWasDeployed.js +14 -24
- package/extensions/OpenSearch/EnsureOsWasDeployed.js.map +1 -1
- package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js +25 -21
- package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js.map +1 -1
- package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js +26 -22
- package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js.map +1 -1
- package/extensions/OpenSearch.js +30 -31
- package/extensions/OpenSearch.js.map +1 -1
- package/extensions/ProjectAws/AdminStackOutputService.js +0 -2
- package/extensions/ProjectAws/ApiStackOutputService.js +0 -2
- package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js +65 -74
- package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js.map +1 -1
- package/extensions/ProjectAws/AutoInstall.js +15 -14
- package/extensions/ProjectAws/AutoInstall.js.map +1 -1
- package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js +15 -19
- package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js.map +1 -1
- package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js +56 -45
- package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js.map +1 -1
- package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js +57 -55
- package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js.map +1 -1
- package/extensions/ProjectAws/BuildAppWorkspace.js +49 -54
- package/extensions/ProjectAws/BuildAppWorkspace.js.map +1 -1
- package/extensions/ProjectAws/CoreStackOutputService.js +0 -2
- package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js +26 -30
- package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js.map +1 -1
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js +25 -38
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js.map +1 -1
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js +22 -17
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js.map +1 -1
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js +22 -17
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js.map +1 -1
- package/extensions/ProjectAws/SetDatabaseSetupOutput.js +20 -21
- package/extensions/ProjectAws/SetDatabaseSetupOutput.js.map +1 -1
- package/extensions/ProjectAws/UploadAdminAppToS3.js +53 -58
- package/extensions/ProjectAws/UploadAdminAppToS3.js.map +1 -1
- package/extensions/ProjectAws/definitions.js +13 -6
- package/extensions/ProjectAws/definitions.js.map +1 -1
- package/extensions/ProjectAws.js +44 -45
- package/extensions/ProjectAws.js.map +1 -1
- package/extensions/RegisterRoutesPulumi.js +24 -29
- package/extensions/RegisterRoutesPulumi.js.map +1 -1
- package/extensions/definitions.js +10 -3
- package/extensions/definitions.js.map +1 -1
- package/extensions/index.js +0 -2
- package/features/ApiGqlClient.js +46 -51
- package/features/ApiGqlClient.js.map +1 -1
- package/features/InvokeLambdaFunction.js +30 -32
- package/features/InvokeLambdaFunction.js.map +1 -1
- package/features/index.js +0 -2
- package/index.js +0 -2
- package/infra.js +57 -59
- package/infra.js.map +1 -1
- package/package.json +14 -14
- package/project.js +7 -6
- package/project.js.map +1 -1
- package/pulumi/apps/admin/createAdminPulumiApp.js +36 -44
- package/pulumi/apps/admin/createAdminPulumiApp.js.map +1 -1
- package/pulumi/apps/admin/index.js +0 -2
- package/pulumi/apps/api/ApiBackgroundTask.js +153 -137
- package/pulumi/apps/api/ApiBackgroundTask.js.map +1 -1
- package/pulumi/apps/api/ApiCloudfront.js +188 -130
- package/pulumi/apps/api/ApiCloudfront.js.map +1 -1
- package/pulumi/apps/api/ApiFileManager.js +34 -33
- package/pulumi/apps/api/ApiFileManager.js.map +1 -1
- package/pulumi/apps/api/ApiGateway.js +67 -74
- package/pulumi/apps/api/ApiGateway.js.map +1 -1
- package/pulumi/apps/api/ApiGraphql.js +223 -152
- package/pulumi/apps/api/ApiGraphql.js.map +1 -1
- package/pulumi/apps/api/ApiOutput.js +29 -30
- package/pulumi/apps/api/ApiOutput.js.map +1 -1
- package/pulumi/apps/api/ApiScheduler.js +94 -92
- package/pulumi/apps/api/ApiScheduler.js.map +1 -1
- package/pulumi/apps/api/ApiWebsocket.js +141 -133
- package/pulumi/apps/api/ApiWebsocket.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/definition.js +122 -144
- package/pulumi/apps/api/backgroundTask/definition.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/policy.js +37 -23
- package/pulumi/apps/api/backgroundTask/policy.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/role.js +29 -29
- package/pulumi/apps/api/backgroundTask/role.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/types.js +9 -11
- package/pulumi/apps/api/backgroundTask/types.js.map +1 -1
- package/pulumi/apps/api/createApiPulumiApp.js +206 -274
- package/pulumi/apps/api/createApiPulumiApp.js.map +1 -1
- package/pulumi/apps/api/handleGuardDutyEvents.js +54 -51
- package/pulumi/apps/api/handleGuardDutyEvents.js.map +1 -1
- package/pulumi/apps/api/index.js +0 -2
- package/pulumi/apps/awsUtils.js +21 -24
- package/pulumi/apps/awsUtils.js.map +1 -1
- package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js +37 -40
- package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js.map +1 -1
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js +83 -91
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js.map +1 -1
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js +17 -16
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js.map +1 -1
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js +13 -12
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js.map +1 -1
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js +9 -14
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js.map +1 -1
- package/pulumi/apps/blueGreen/cloudfront/createOriginId.js +5 -7
- package/pulumi/apps/blueGreen/cloudfront/createOriginId.js.map +1 -1
- package/pulumi/apps/blueGreen/constants.js +15 -3
- package/pulumi/apps/blueGreen/constants.js.map +1 -1
- package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js +77 -103
- package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js +20 -26
- package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js +17 -20
- package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/getApplicationDomains.js +51 -61
- package/pulumi/apps/blueGreen/domains/getApplicationDomains.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/resolveDomains.js +24 -38
- package/pulumi/apps/blueGreen/domains/resolveDomains.js.map +1 -1
- package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js +7 -14
- package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js.map +1 -1
- package/pulumi/apps/blueGreen/functions/handler.js +1 -57
- package/pulumi/apps/blueGreen/functions/handler.js.map +1 -1
- package/pulumi/apps/blueGreen/types.js +0 -3
- package/pulumi/apps/blueGreen/validation/validateDeployments.js +19 -24
- package/pulumi/apps/blueGreen/validation/validateDeployments.js.map +1 -1
- package/pulumi/apps/common/CoreOutput.js +34 -37
- package/pulumi/apps/common/CoreOutput.js.map +1 -1
- package/pulumi/apps/common/VpcConfig.js +20 -20
- package/pulumi/apps/common/VpcConfig.js.map +1 -1
- package/pulumi/apps/common/index.js +0 -2
- package/pulumi/apps/core/CoreAuditLogsDynamo.js +245 -182
- package/pulumi/apps/core/CoreAuditLogsDynamo.js.map +1 -1
- package/pulumi/apps/core/CoreCognito.js +117 -106
- package/pulumi/apps/core/CoreCognito.js.map +1 -1
- package/pulumi/apps/core/CoreDynamo.js +91 -70
- package/pulumi/apps/core/CoreDynamo.js.map +1 -1
- package/pulumi/apps/core/CoreEventBus.js +10 -9
- package/pulumi/apps/core/CoreEventBus.js.map +1 -1
- package/pulumi/apps/core/CoreFileManager.js +76 -68
- package/pulumi/apps/core/CoreFileManager.js.map +1 -1
- package/pulumi/apps/core/CoreOpenSearch.js +281 -305
- package/pulumi/apps/core/CoreOpenSearch.js.map +1 -1
- package/pulumi/apps/core/CoreVpc.js +155 -156
- package/pulumi/apps/core/CoreVpc.js.map +1 -1
- package/pulumi/apps/core/WatchCommand.js +94 -96
- package/pulumi/apps/core/WatchCommand.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/amazon.js +16 -22
- package/pulumi/apps/core/cognitoIdentityProviders/amazon.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/apple.js +16 -17
- package/pulumi/apps/core/cognitoIdentityProviders/apple.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/configure.js +44 -50
- package/pulumi/apps/core/cognitoIdentityProviders/configure.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/facebook.js +16 -17
- package/pulumi/apps/core/cognitoIdentityProviders/facebook.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js +7 -8
- package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/google.js +16 -17
- package/pulumi/apps/core/cognitoIdentityProviders/google.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/index.js +0 -2
- package/pulumi/apps/core/cognitoIdentityProviders/oidc.js +17 -18
- package/pulumi/apps/core/cognitoIdentityProviders/oidc.js.map +1 -1
- package/pulumi/apps/core/configureS3BucketMalwareProtection.js +251 -188
- package/pulumi/apps/core/configureS3BucketMalwareProtection.js.map +1 -1
- package/pulumi/apps/core/createCorePulumiApp.js +212 -280
- package/pulumi/apps/core/createCorePulumiApp.js.map +1 -1
- package/pulumi/apps/core/index.js +0 -2
- package/pulumi/apps/core/webinyWatchCommand/handler.js +45 -32
- package/pulumi/apps/core/webinyWatchCommand/handler.js.map +1 -1
- package/pulumi/apps/createAppBucket.js +157 -146
- package/pulumi/apps/createAppBucket.js.map +1 -1
- package/pulumi/apps/customDomain.js +7 -6
- package/pulumi/apps/customDomain.js.map +1 -1
- package/pulumi/apps/extensions/getAwsTagsFromExtension.js +8 -7
- package/pulumi/apps/extensions/getAwsTagsFromExtension.js.map +1 -1
- package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js +6 -7
- package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js.map +1 -1
- package/pulumi/apps/extensions/getOsConfigFromExtension.js +17 -41
- package/pulumi/apps/extensions/getOsConfigFromExtension.js.map +1 -1
- package/pulumi/apps/extensions/getVpcConfigFromExtension.js +13 -25
- package/pulumi/apps/extensions/getVpcConfigFromExtension.js.map +1 -1
- package/pulumi/apps/index.js +0 -3
- package/pulumi/apps/lambdaUtils.js +57 -61
- package/pulumi/apps/lambdaUtils.js.map +1 -1
- package/pulumi/apps/react/createReactPulumiApp.js +108 -129
- package/pulumi/apps/react/createReactPulumiApp.js.map +1 -1
- package/pulumi/apps/react/index.js +0 -2
- package/pulumi/apps/syncSystem/SyncSystemDynamo.js +77 -62
- package/pulumi/apps/syncSystem/SyncSystemDynamo.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js +74 -57
- package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemEventBus.js +77 -71
- package/pulumi/apps/syncSystem/SyncSystemEventBus.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemLambda.js +154 -86
- package/pulumi/apps/syncSystem/SyncSystemLambda.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemOutput.js +14 -13
- package/pulumi/apps/syncSystem/SyncSystemOutput.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js +56 -60
- package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemSQS.js +25 -49
- package/pulumi/apps/syncSystem/SyncSystemSQS.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js +44 -43
- package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js.map +1 -1
- package/pulumi/apps/syncSystem/addTableItems.js +35 -45
- package/pulumi/apps/syncSystem/addTableItems.js.map +1 -1
- package/pulumi/apps/syncSystem/api/addServiceManifest.js +12 -14
- package/pulumi/apps/syncSystem/api/addServiceManifest.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js +49 -55
- package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js +88 -40
- package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js +37 -43
- package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachS3Permissions.js +51 -47
- package/pulumi/apps/syncSystem/api/attachS3Permissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/index.js +28 -46
- package/pulumi/apps/syncSystem/api/index.js.map +1 -1
- package/pulumi/apps/syncSystem/constants.js +2 -1
- package/pulumi/apps/syncSystem/constants.js.map +1 -1
- package/pulumi/apps/syncSystem/createSyncResourceName.js +2 -7
- package/pulumi/apps/syncSystem/createSyncResourceName.js.map +1 -1
- package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js +101 -166
- package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js.map +1 -1
- package/pulumi/apps/syncSystem/customApp.js +12 -16
- package/pulumi/apps/syncSystem/customApp.js.map +1 -1
- package/pulumi/apps/syncSystem/getSyncSystemOutput.js +5 -6
- package/pulumi/apps/syncSystem/getSyncSystemOutput.js.map +1 -1
- package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js +108 -42
- package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js.map +1 -1
- package/pulumi/apps/syncSystem/types.js +0 -3
- package/pulumi/constants.js +2 -1
- package/pulumi/constants.js.map +1 -1
- package/pulumi/env/awsRegion.js +3 -2
- package/pulumi/env/awsRegion.js.map +1 -1
- package/pulumi/env/base.js +11 -27
- package/pulumi/env/base.js.map +1 -1
- package/pulumi/env/env.js +3 -2
- package/pulumi/env/env.js.map +1 -1
- package/pulumi/env/projectName.js +3 -2
- package/pulumi/env/projectName.js.map +1 -1
- package/pulumi/env/variant.js +4 -3
- package/pulumi/env/variant.js.map +1 -1
- package/pulumi/extensions/AdminCustomDomains.js +15 -11
- package/pulumi/extensions/AdminCustomDomains.js.map +1 -1
- package/pulumi/extensions/AdminPulumi.js +16 -19
- package/pulumi/extensions/AdminPulumi.js.map +1 -1
- package/pulumi/extensions/ApiCustomDomains.js +15 -11
- package/pulumi/extensions/ApiCustomDomains.js.map +1 -1
- package/pulumi/extensions/ApiPulumi.js +16 -19
- package/pulumi/extensions/ApiPulumi.js.map +1 -1
- package/pulumi/extensions/AwsTags.js +11 -10
- package/pulumi/extensions/AwsTags.js.map +1 -1
- package/pulumi/extensions/BlueGreenDeployments.js +29 -26
- package/pulumi/extensions/BlueGreenDeployments.js.map +1 -1
- package/pulumi/extensions/CorePulumi.js +16 -19
- package/pulumi/extensions/CorePulumi.js.map +1 -1
- package/pulumi/extensions/OpenSearch.js +16 -15
- package/pulumi/extensions/OpenSearch.js.map +1 -1
- package/pulumi/extensions/Vpc.js +21 -20
- package/pulumi/extensions/Vpc.js.map +1 -1
- package/pulumi/extensions/index.js +12 -10
- package/pulumi/extensions/index.js.map +1 -1
- package/pulumi/features/AdminPulumi/AdminPulumi.js +18 -14
- package/pulumi/features/AdminPulumi/AdminPulumi.js.map +1 -1
- package/pulumi/features/AdminPulumi/index.js +0 -2
- package/pulumi/features/ApiPulumi/ApiPulumi.js +18 -14
- package/pulumi/features/ApiPulumi/ApiPulumi.js.map +1 -1
- package/pulumi/features/ApiPulumi/index.js +0 -2
- package/pulumi/features/CorePulumi/CorePulumi.js +18 -14
- package/pulumi/features/CorePulumi/CorePulumi.js.map +1 -1
- package/pulumi/features/CorePulumi/index.js +0 -2
- package/pulumi/features/index.js +0 -2
- package/pulumi/index.js +0 -2
- package/pulumi/types.js +0 -3
- package/pulumi/utils/addDomainsUrlsOutputs.js +20 -37
- package/pulumi/utils/addDomainsUrlsOutputs.js.map +1 -1
- package/pulumi/utils/addServiceManifestTableItem.js +12 -15
- package/pulumi/utils/addServiceManifestTableItem.js.map +1 -1
- package/pulumi/utils/crawlDirectory.js +10 -15
- package/pulumi/utils/crawlDirectory.js.map +1 -1
- package/pulumi/utils/createAssetArchive.js +5 -6
- package/pulumi/utils/createAssetArchive.js.map +1 -1
- package/pulumi/utils/dynamodb.js +26 -27
- package/pulumi/utils/dynamodb.js.map +1 -1
- package/pulumi/utils/getPresignedPost.js +27 -30
- package/pulumi/utils/getPresignedPost.js.map +1 -1
- package/pulumi/utils/index.js +1 -3
- package/pulumi/utils/lambdaEnvVariables.js +42 -54
- package/pulumi/utils/lambdaEnvVariables.js.map +1 -1
- package/pulumi/utils/tagResources.js +248 -28
- package/pulumi/utils/tagResources.js.map +1 -1
- package/pulumi/utils/uploadFolderToS3.js +101 -131
- package/pulumi/utils/uploadFolderToS3.js.map +1 -1
- package/pulumi/utils/withServiceManifest.js +28 -37
- package/pulumi/utils/withServiceManifest.js.map +1 -1
- package/services/AdminStackOutputService.js +14 -11
- package/services/AdminStackOutputService.js.map +1 -1
- package/services/ApiStackOutputService.js +14 -11
- package/services/ApiStackOutputService.js.map +1 -1
- package/services/CoreStackOutputService.js +14 -11
- package/services/CoreStackOutputService.js.map +1 -1
- package/utils/getTemplatesFolderPath.js +8 -10
- package/utils/getTemplatesFolderPath.js.map +1 -1
- package/utils/index.js +0 -2
- package/abstractions/features/pulumi/index.js.map +0 -1
- package/abstractions/index.js.map +0 -1
- package/apps/index.js.map +0 -1
- package/exports/extensions.js.map +0 -1
- package/exports/infra/admin.js.map +0 -1
- package/exports/infra/api.js.map +0 -1
- package/exports/infra/core.js.map +0 -1
- package/exports/infra.js.map +0 -1
- package/extensions/ProjectAws/AdminStackOutputService.js.map +0 -1
- package/extensions/ProjectAws/ApiStackOutputService.js.map +0 -1
- package/extensions/ProjectAws/CoreStackOutputService.js.map +0 -1
- package/extensions/index.js.map +0 -1
- package/features/index.js.map +0 -1
- package/index.js.map +0 -1
- package/pulumi/apps/admin/index.js.map +0 -1
- package/pulumi/apps/api/index.js.map +0 -1
- package/pulumi/apps/blueGreen/types.js.map +0 -1
- package/pulumi/apps/common/index.js.map +0 -1
- package/pulumi/apps/core/cognitoIdentityProviders/index.js.map +0 -1
- package/pulumi/apps/core/index.js.map +0 -1
- package/pulumi/apps/index.js.map +0 -1
- package/pulumi/apps/react/index.js.map +0 -1
- package/pulumi/apps/syncSystem/types.js.map +0 -1
- package/pulumi/features/AdminPulumi/index.js.map +0 -1
- package/pulumi/features/ApiPulumi/index.js.map +0 -1
- package/pulumi/features/CorePulumi/index.js.map +0 -1
- package/pulumi/features/index.js.map +0 -1
- package/pulumi/index.js.map +0 -1
- package/pulumi/types.js.map +0 -1
- package/pulumi/utils/index.js.map +0 -1
- package/utils/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js","sources":["../../../../src/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\n\nexport type BlueGreenRouterCloudFrontStore = PulumiAppModule<typeof BlueGreenRouterCloudFrontStore>;\n\nexport interface IBlueGreenRouterCloudFrontStoreParams {\n region: aws.Provider;\n protect: boolean;\n}\n\nexport const BlueGreenRouterCloudFrontStore = createAppModule({\n name: \"BlueGreenRouterCloudFrontStore\",\n config(app: PulumiApp, params: IBlueGreenRouterCloudFrontStoreParams) {\n const cloudFrontStore = app.addResource(aws.cloudfront.KeyValueStore, {\n name: \"blueGreenRouterCloudFrontStore\",\n opts: {\n provider: params.region,\n protect: params.protect\n },\n config: {}\n });\n\n return {\n cloudFrontStore\n };\n }\n});\n"],"names":["BlueGreenRouterCloudFrontStore","createAppModule","app","params","cloudFrontStore","aws"],"mappings":";;AAWO,MAAMA,iCAAiCC,gBAAgB;IAC1D,MAAM;IACN,QAAOC,GAAc,EAAEC,MAA6C;QAChE,MAAMC,kBAAkBF,IAAI,WAAW,CAACG,uCAAAA,UAAAA,CAAAA,aAA4B,EAAE;YAClE,MAAM;YACN,MAAM;gBACF,UAAUF,OAAO,MAAM;gBACvB,SAASA,OAAO,OAAO;YAC3B;YACA,QAAQ,CAAC;QACb;QAEA,OAAO;YACHC;QACJ;IACJ;AACJ"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
2
|
+
const createCloudFrontDefaultCacheBehaviorPolicies = async ()=>{
|
|
3
|
+
const disableCachingCachePolicyId = await __rspack_external__pulumi_aws_e7af83c1.cloudfront.getCachePolicy({
|
|
4
|
+
name: "Managed-CachingDisabled"
|
|
5
|
+
});
|
|
6
|
+
const forwardEverythingOriginRequestPolicyId = await __rspack_external__pulumi_aws_e7af83c1.cloudfront.getOriginRequestPolicy({
|
|
7
|
+
name: "Managed-AllViewerExceptHostHeader"
|
|
8
|
+
});
|
|
9
|
+
return {
|
|
10
|
+
disableCachingCachePolicyId,
|
|
11
|
+
forwardEverythingOriginRequestPolicyId
|
|
12
|
+
};
|
|
13
13
|
};
|
|
14
|
+
export { createCloudFrontDefaultCacheBehaviorPolicies };
|
|
14
15
|
|
|
15
16
|
//# sourceMappingURL=createCloudFrontDefaultCacheBehaviorPolicies.js.map
|
package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js","sources":["../../../../../src/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { GetCachePolicyResult } from \"@pulumi/aws/cloudfront/getCachePolicy.js\";\nimport type { GetOriginRequestPolicyResult } from \"@pulumi/aws/cloudfront/getOriginRequestPolicy.js\";\n\nexport interface ICreateCloudFrontDefaultCacheBehaviorPoliciesOutput {\n disableCachingCachePolicyId: GetCachePolicyResult;\n forwardEverythingOriginRequestPolicyId: GetOriginRequestPolicyResult;\n}\n\nexport const createCloudFrontDefaultCacheBehaviorPolicies =\n async (): Promise<ICreateCloudFrontDefaultCacheBehaviorPoliciesOutput> => {\n const disableCachingCachePolicyId = await aws.cloudfront.getCachePolicy({\n name: \"Managed-CachingDisabled\"\n });\n\n const forwardEverythingOriginRequestPolicyId = await aws.cloudfront.getOriginRequestPolicy({\n name: \"Managed-AllViewerExceptHostHeader\"\n });\n return {\n disableCachingCachePolicyId,\n forwardEverythingOriginRequestPolicyId\n };\n };\n"],"names":["createCloudFrontDefaultCacheBehaviorPolicies","disableCachingCachePolicyId","aws","forwardEverythingOriginRequestPolicyId"],"mappings":";AASO,MAAMA,+CACT;IACI,MAAMC,8BAA8B,MAAMC,uCAAAA,UAAAA,CAAAA,cAA6B,CAAC;QACpE,MAAM;IACV;IAEA,MAAMC,yCAAyC,MAAMD,uCAAAA,UAAAA,CAAAA,sBAAqC,CAAC;QACvF,MAAM;IACV;IACA,OAAO;QACHD;QACAE;IACJ;AACJ"}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
import { createOriginId } from "./createOriginId.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const results = [];
|
|
7
|
-
for (const domain of domains) {
|
|
8
|
-
for (const source of domain.sources) {
|
|
9
|
-
results.push({
|
|
2
|
+
const createCloudFrontFunctionDomainMap = (params)=>{
|
|
3
|
+
const { domains } = params;
|
|
4
|
+
const results = [];
|
|
5
|
+
for (const domain of domains)for (const source of domain.sources)results.push({
|
|
10
6
|
name: domain.name,
|
|
11
7
|
sourceDomain: source,
|
|
12
8
|
targetDomain: domain.target,
|
|
13
9
|
targetOriginId: createOriginId({
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
type: domain.type,
|
|
11
|
+
name: domain.name
|
|
16
12
|
})
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
return results;
|
|
13
|
+
});
|
|
14
|
+
return results;
|
|
21
15
|
};
|
|
16
|
+
export { createCloudFrontFunctionDomainMap };
|
|
22
17
|
|
|
23
18
|
//# sourceMappingURL=createCloudFrontFunctionDomainMap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js","sources":["../../../../../src/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.ts"],"sourcesContent":["import type { IResolvedDomains } from \"../types.js\";\nimport { createOriginId } from \"./createOriginId.js\";\n\nexport interface ICreateCloudFrontFunctionDomainMapParamsResult {\n /**\n * Name of the deployment (eg. green, blue, orange, etc.).\n */\n name: string;\n sourceDomain: string;\n targetOriginId: string;\n targetDomain: string;\n}\n\nexport interface ICreateCloudFrontFunctionDomainMapParams {\n domains: IResolvedDomains;\n}\n\nexport const createCloudFrontFunctionDomainMap = (\n params: ICreateCloudFrontFunctionDomainMapParams\n): ICreateCloudFrontFunctionDomainMapParamsResult[] => {\n const { domains } = params;\n\n const results: ICreateCloudFrontFunctionDomainMapParamsResult[] = [];\n for (const domain of domains) {\n for (const source of domain.sources) {\n results.push({\n name: domain.name,\n sourceDomain: source,\n targetDomain: domain.target,\n targetOriginId: createOriginId({\n type: domain.type,\n name: domain.name\n })\n });\n }\n }\n return results;\n};\n"],"names":["createCloudFrontFunctionDomainMap","params","domains","results","domain","source","createOriginId"],"mappings":";AAiBO,MAAMA,oCAAoC,CAC7CC;IAEA,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,MAAME,UAA4D,EAAE;IACpE,KAAK,MAAMC,UAAUF,QACjB,KAAK,MAAMG,UAAUD,OAAO,OAAO,CAC/BD,QAAQ,IAAI,CAAC;QACT,MAAMC,OAAO,IAAI;QACjB,cAAcC;QACd,cAAcD,OAAO,MAAM;QAC3B,gBAAgBE,eAAe;YAC3B,MAAMF,OAAO,IAAI;YACjB,MAAMA,OAAO,IAAI;QACrB;IACJ;IAGR,OAAOD;AACX"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
type
|
|
5
|
-
name
|
|
6
|
-
} = params;
|
|
7
|
-
return `${type}${lodashUcFirst(name)}BlueGreenCloudFront`;
|
|
1
|
+
import startCase from "lodash/startCase.js";
|
|
2
|
+
const createOriginId = (params)=>{
|
|
3
|
+
const { type, name } = params;
|
|
4
|
+
return `${type}${startCase(name)}BlueGreenCloudFront`;
|
|
8
5
|
};
|
|
6
|
+
export { createOriginId };
|
|
9
7
|
|
|
10
8
|
//# sourceMappingURL=createOriginId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/cloudfront/createOriginId.js","sources":["../../../../../src/pulumi/apps/blueGreen/cloudfront/createOriginId.ts"],"sourcesContent":["import lodashUcFirst from \"lodash/startCase.js\";\n\nexport interface ICreateOriginIdParams {\n /**\n * Name of the deployment (eg. green, blue, orange, etc.).\n */\n name: string;\n /**\n * Type of the deployment (eg. api, etc.).\n */\n type: string;\n}\n\nexport const createOriginId = (params: ICreateOriginIdParams): string => {\n const { type, name } = params;\n return `${type}${lodashUcFirst(name)}BlueGreenCloudFront`;\n};\n"],"names":["createOriginId","params","type","name","lodashUcFirst"],"mappings":";AAaO,MAAMA,iBAAiB,CAACC;IAC3B,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGF;IACvB,OAAO,GAAGC,OAAOE,UAAcD,MAAM,mBAAmB,CAAC;AAC7D"}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const BLUE_GREEN_ROUTER_STORE_KEY = "blueGreenRouterStore";
|
|
2
|
+
const BLUE_GREEN_ALLOWED_METHODS = [
|
|
3
|
+
"GET",
|
|
4
|
+
"HEAD",
|
|
5
|
+
"POST",
|
|
6
|
+
"PUT",
|
|
7
|
+
"PATCH",
|
|
8
|
+
"OPTIONS",
|
|
9
|
+
"DELETE"
|
|
10
|
+
];
|
|
11
|
+
const BLUE_GREEN_CACHED_METHODS = [
|
|
12
|
+
"GET",
|
|
13
|
+
"HEAD"
|
|
14
|
+
];
|
|
15
|
+
export { BLUE_GREEN_ALLOWED_METHODS, BLUE_GREEN_CACHED_METHODS, BLUE_GREEN_ROUTER_STORE_KEY };
|
|
4
16
|
|
|
5
17
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/constants.js","sources":["../../../../src/pulumi/apps/blueGreen/constants.ts"],"sourcesContent":["export const BLUE_GREEN_ROUTER_STORE_KEY = \"blueGreenRouterStore\";\nexport const BLUE_GREEN_ALLOWED_METHODS = [\n \"GET\",\n \"HEAD\",\n \"POST\",\n \"PUT\",\n \"PATCH\",\n \"OPTIONS\",\n \"DELETE\"\n];\nexport const BLUE_GREEN_CACHED_METHODS = [\"GET\", \"HEAD\"];\n"],"names":["BLUE_GREEN_ROUTER_STORE_KEY","BLUE_GREEN_ALLOWED_METHODS","BLUE_GREEN_CACHED_METHODS"],"mappings":"AAAO,MAAMA,8BAA8B;AACpC,MAAMC,6BAA6B;IACtC;IACA;IACA;IACA;IACA;IACA;IACA;CACH;AACM,MAAMC,4BAA4B;IAAC;IAAO;CAAO"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
|
-
import { Region } from "@pulumi/aws";
|
|
3
1
|
import { createPulumiApp } from "@webiny/pulumi";
|
|
4
2
|
import { BlueGreenRouterCloudFront } from "./BlueGreenRouterCloudFront.js";
|
|
5
3
|
import { createCloudFrontDefaultCacheBehaviorPolicies } from "./cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js";
|
|
@@ -15,108 +13,84 @@ import { BLUE_GREEN_ROUTER_STORE_KEY } from "./constants.js";
|
|
|
15
13
|
import { getProjectSdk } from "@webiny/project";
|
|
16
14
|
import { applyAwsResourceTags } from "../awsUtils.js";
|
|
17
15
|
import { getBgDeploymentsConfigFromExtension } from "../extensions/getBgDeploymentsConfigFromExtension.js";
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
collection.push(source);
|
|
16
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
17
|
+
function createBlueGreenPulumiApp() {
|
|
18
|
+
return createPulumiApp({
|
|
19
|
+
name: "blueGreen",
|
|
20
|
+
path: "apps/blueGreen",
|
|
21
|
+
program: async (app)=>{
|
|
22
|
+
const sdk = await getProjectSdk();
|
|
23
|
+
const projectConfig = await sdk.getProjectConfig();
|
|
24
|
+
const blueGreenConfig = getBgDeploymentsConfigFromExtension(projectConfig);
|
|
25
|
+
if (!blueGreenConfig) throw new Error("Blue/Green deployments are not enabled. Please enable them in the project configuration.");
|
|
26
|
+
const pulumiResourceNamePrefix = await sdk.getPulumiResourceNamePrefix();
|
|
27
|
+
const deployments = validateDeployments(blueGreenConfig.deployments);
|
|
28
|
+
const applicationsDomains = await getApplicationDomains({
|
|
29
|
+
stacks: deployments
|
|
30
|
+
});
|
|
31
|
+
if (pulumiResourceNamePrefix) app.onResource((resource)=>{
|
|
32
|
+
if (!resource.name.startsWith(pulumiResourceNamePrefix)) resource.name = `${pulumiResourceNamePrefix}${resource.name}`;
|
|
33
|
+
});
|
|
34
|
+
const deploymentsDomains = convertApplicationDomains({
|
|
35
|
+
input: applicationsDomains
|
|
36
|
+
});
|
|
37
|
+
const attachedDomains = blueGreenConfig.domains;
|
|
38
|
+
const domains = resolveDomains({
|
|
39
|
+
attachedDomains,
|
|
40
|
+
deploymentsDomains
|
|
41
|
+
});
|
|
42
|
+
const protect = app.env.isProduction;
|
|
43
|
+
const region = new __rspack_external__pulumi_aws_e7af83c1.Provider(__rspack_external__pulumi_aws_e7af83c1.Region.USEast1, {
|
|
44
|
+
region: __rspack_external__pulumi_aws_e7af83c1.Region.USEast1
|
|
45
|
+
});
|
|
46
|
+
const { forwardEverythingOriginRequestPolicyId, disableCachingCachePolicyId } = await createCloudFrontDefaultCacheBehaviorPolicies();
|
|
47
|
+
const store = app.addModule(BlueGreenRouterCloudFrontStore, {
|
|
48
|
+
protect,
|
|
49
|
+
region
|
|
50
|
+
});
|
|
51
|
+
app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudfront.KeyvaluestoreKey, {
|
|
52
|
+
name: "blue-green-router-store-key",
|
|
53
|
+
config: {
|
|
54
|
+
keyValueStoreArn: store.cloudFrontStore.output.arn,
|
|
55
|
+
key: BLUE_GREEN_ROUTER_STORE_KEY,
|
|
56
|
+
value: "green"
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const apiGateway = app.addModule(BlueGreenRouterApiGateway, {
|
|
60
|
+
protect,
|
|
61
|
+
region
|
|
62
|
+
});
|
|
63
|
+
const cloudfront = app.addModule(BlueGreenRouterCloudFront, {
|
|
64
|
+
protect,
|
|
65
|
+
region,
|
|
66
|
+
domains,
|
|
67
|
+
cachePolicyId: disableCachingCachePolicyId,
|
|
68
|
+
originRequestPolicyId: forwardEverythingOriginRequestPolicyId
|
|
69
|
+
});
|
|
70
|
+
const domainNames = domains.reduce((collection, domain)=>{
|
|
71
|
+
for (const source of domain.sources)if (!collection.includes(source)) collection.push(source);
|
|
72
|
+
return collection;
|
|
73
|
+
}, []);
|
|
74
|
+
applyCustomDomain(cloudfront.cloudFront, {
|
|
75
|
+
domains: domainNames,
|
|
76
|
+
sslSupportMethod: attachedDomains.sslSupportMethod,
|
|
77
|
+
acmCertificateArn: attachedDomains.acmCertificateArn
|
|
78
|
+
});
|
|
79
|
+
attachDomainsToOutput({
|
|
80
|
+
app,
|
|
81
|
+
domains,
|
|
82
|
+
cloudFront: cloudfront.cloudFront
|
|
83
|
+
});
|
|
84
|
+
await applyAwsResourceTags("blueGreen");
|
|
85
|
+
return {
|
|
86
|
+
region,
|
|
87
|
+
cloudfront,
|
|
88
|
+
apiGateway,
|
|
89
|
+
store
|
|
90
|
+
};
|
|
96
91
|
}
|
|
97
|
-
|
|
98
|
-
}, []);
|
|
99
|
-
applyCustomDomain(cloudfront.cloudFront, {
|
|
100
|
-
domains: domainNames,
|
|
101
|
-
sslSupportMethod: attachedDomains.sslSupportMethod,
|
|
102
|
-
acmCertificateArn: attachedDomains.acmCertificateArn
|
|
103
|
-
});
|
|
104
|
-
attachDomainsToOutput({
|
|
105
|
-
app,
|
|
106
|
-
domains,
|
|
107
|
-
cloudFront: cloudfront.cloudFront
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
// Applies internal and user-defined AWS tags.
|
|
111
|
-
await applyAwsResourceTags("blueGreen");
|
|
112
|
-
return {
|
|
113
|
-
region,
|
|
114
|
-
cloudfront,
|
|
115
|
-
apiGateway,
|
|
116
|
-
store
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
});
|
|
92
|
+
});
|
|
120
93
|
}
|
|
94
|
+
export { createBlueGreenPulumiApp };
|
|
121
95
|
|
|
122
96
|
//# sourceMappingURL=createBlueGreenPulumiApp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/createBlueGreenPulumiApp.js","sources":["../../../../src/pulumi/apps/blueGreen/createBlueGreenPulumiApp.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { Region } from \"@pulumi/aws\";\nimport { createPulumiApp } from \"@webiny/pulumi\";\nimport { BlueGreenRouterCloudFront } from \"./BlueGreenRouterCloudFront.js\";\nimport { createCloudFrontDefaultCacheBehaviorPolicies } from \"./cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js\";\nimport { BlueGreenRouterApiGateway } from \"./BlueGreenRouterApiGateway.js\";\nimport { BlueGreenRouterCloudFrontStore } from \"./BlueGreenRouterCloudFrontStore.js\";\nimport { validateDeployments } from \"./validation/validateDeployments.js\";\nimport { getApplicationDomains } from \"./domains/getApplicationDomains.js\";\nimport { convertApplicationDomains } from \"./domains/convertApplicationDomains.js\";\nimport { resolveDomains } from \"./domains/resolveDomains.js\";\nimport { applyCustomDomain } from \"~/pulumi/apps/customDomain.js\";\nimport { attachDomainsToOutput } from \"~/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js\";\nimport { BLUE_GREEN_ROUTER_STORE_KEY } from \"./constants.js\";\nimport { getProjectSdk } from \"@webiny/project\";\nimport { applyAwsResourceTags } from \"~/pulumi/apps/awsUtils.js\";\nimport { getBgDeploymentsConfigFromExtension } from \"~/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js\";\n\nexport function createBlueGreenPulumiApp() {\n return createPulumiApp({\n name: \"blueGreen\",\n path: \"apps/blueGreen\",\n program: async app => {\n const sdk = await getProjectSdk();\n const projectConfig = await sdk.getProjectConfig();\n\n const blueGreenConfig = getBgDeploymentsConfigFromExtension(projectConfig);\n if (!blueGreenConfig) {\n throw new Error(\n `Blue/Green deployments are not enabled. Please enable them in the project configuration.`\n );\n }\n\n const pulumiResourceNamePrefix = await sdk.getPulumiResourceNamePrefix();\n const deployments = validateDeployments(blueGreenConfig.deployments);\n\n const applicationsDomains = await getApplicationDomains({\n stacks: deployments\n });\n\n if (pulumiResourceNamePrefix) {\n app.onResource(resource => {\n if (!resource.name.startsWith(pulumiResourceNamePrefix)) {\n resource.name = `${pulumiResourceNamePrefix}${resource.name}`;\n }\n });\n }\n\n const deploymentsDomains = convertApplicationDomains({\n input: applicationsDomains\n });\n\n const attachedDomains = blueGreenConfig.domains;\n\n const domains = resolveDomains({\n attachedDomains,\n deploymentsDomains\n });\n const protect = app.env.isProduction;\n\n const region = new aws.Provider(Region.USEast1, {\n region: Region.USEast1\n });\n\n /**\n * Policies required for default Cache Behavior in CloudFront.\n * We need to do this outside the module creation because it is async.\n */\n const { forwardEverythingOriginRequestPolicyId, disableCachingCachePolicyId } =\n await createCloudFrontDefaultCacheBehaviorPolicies();\n const store = app.addModule(BlueGreenRouterCloudFrontStore, {\n protect,\n region\n });\n /**\n * TODO Maybe have switching via deployment instead of changing the key?\n * Key takes up to few minutes to propagate.\n * Deployment takes 10 seconds + 30-60 seconds for the CloudFront to propagate.\n */\n app.addResource(aws.cloudfront.KeyvaluestoreKey, {\n name: \"blue-green-router-store-key\",\n config: {\n keyValueStoreArn: store.cloudFrontStore.output.arn,\n key: BLUE_GREEN_ROUTER_STORE_KEY,\n value: \"green\"\n }\n });\n\n const apiGateway = app.addModule(BlueGreenRouterApiGateway, {\n protect,\n region\n });\n\n const cloudfront = app.addModule(BlueGreenRouterCloudFront, {\n protect,\n region,\n domains,\n cachePolicyId: disableCachingCachePolicyId,\n originRequestPolicyId: forwardEverythingOriginRequestPolicyId\n });\n\n const domainNames = domains.reduce<string[]>((collection, domain) => {\n for (const source of domain.sources) {\n if (collection.includes(source)) {\n continue;\n }\n collection.push(source);\n }\n return collection;\n }, []);\n\n applyCustomDomain(cloudfront.cloudFront, {\n domains: domainNames,\n sslSupportMethod: attachedDomains.sslSupportMethod,\n acmCertificateArn: attachedDomains.acmCertificateArn\n });\n\n attachDomainsToOutput({\n app,\n domains,\n cloudFront: cloudfront.cloudFront\n });\n\n // Applies internal and user-defined AWS tags.\n await applyAwsResourceTags(\"blueGreen\");\n\n return {\n region,\n cloudfront,\n apiGateway,\n store\n };\n }\n });\n}\n"],"names":["createBlueGreenPulumiApp","createPulumiApp","app","sdk","getProjectSdk","projectConfig","blueGreenConfig","getBgDeploymentsConfigFromExtension","Error","pulumiResourceNamePrefix","deployments","validateDeployments","applicationsDomains","getApplicationDomains","resource","deploymentsDomains","convertApplicationDomains","attachedDomains","domains","resolveDomains","protect","region","aws","Region","forwardEverythingOriginRequestPolicyId","disableCachingCachePolicyId","createCloudFrontDefaultCacheBehaviorPolicies","store","BlueGreenRouterCloudFrontStore","BLUE_GREEN_ROUTER_STORE_KEY","apiGateway","BlueGreenRouterApiGateway","cloudfront","BlueGreenRouterCloudFront","domainNames","collection","domain","source","applyCustomDomain","attachDomainsToOutput","applyAwsResourceTags"],"mappings":";;;;;;;;;;;;;;;;AAkBO,SAASA;IACZ,OAAOC,gBAAgB;QACnB,MAAM;QACN,MAAM;QACN,SAAS,OAAMC;YACX,MAAMC,MAAM,MAAMC;YAClB,MAAMC,gBAAgB,MAAMF,IAAI,gBAAgB;YAEhD,MAAMG,kBAAkBC,oCAAoCF;YAC5D,IAAI,CAACC,iBACD,MAAM,IAAIE,MACN;YAIR,MAAMC,2BAA2B,MAAMN,IAAI,2BAA2B;YACtE,MAAMO,cAAcC,oBAAoBL,gBAAgB,WAAW;YAEnE,MAAMM,sBAAsB,MAAMC,sBAAsB;gBACpD,QAAQH;YACZ;YAEA,IAAID,0BACAP,IAAI,UAAU,CAACY,CAAAA;gBACX,IAAI,CAACA,SAAS,IAAI,CAAC,UAAU,CAACL,2BAC1BK,SAAS,IAAI,GAAG,GAAGL,2BAA2BK,SAAS,IAAI,EAAE;YAErE;YAGJ,MAAMC,qBAAqBC,0BAA0B;gBACjD,OAAOJ;YACX;YAEA,MAAMK,kBAAkBX,gBAAgB,OAAO;YAE/C,MAAMY,UAAUC,eAAe;gBAC3BF;gBACAF;YACJ;YACA,MAAMK,UAAUlB,IAAI,GAAG,CAAC,YAAY;YAEpC,MAAMmB,SAAS,IAAIC,uCAAAA,QAAY,CAACC,uCAAAA,MAAAA,CAAAA,OAAc,EAAE;gBAC5C,QAAQA,uCAAAA,MAAAA,CAAAA,OAAc;YAC1B;YAMA,MAAM,EAAEC,sCAAsC,EAAEC,2BAA2B,EAAE,GACzE,MAAMC;YACV,MAAMC,QAAQzB,IAAI,SAAS,CAAC0B,gCAAgC;gBACxDR;gBACAC;YACJ;YAMAnB,IAAI,WAAW,CAACoB,uCAAAA,UAAAA,CAAAA,gBAA+B,EAAE;gBAC7C,MAAM;gBACN,QAAQ;oBACJ,kBAAkBK,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG;oBAClD,KAAKE;oBACL,OAAO;gBACX;YACJ;YAEA,MAAMC,aAAa5B,IAAI,SAAS,CAAC6B,2BAA2B;gBACxDX;gBACAC;YACJ;YAEA,MAAMW,aAAa9B,IAAI,SAAS,CAAC+B,2BAA2B;gBACxDb;gBACAC;gBACAH;gBACA,eAAeO;gBACf,uBAAuBD;YAC3B;YAEA,MAAMU,cAAchB,QAAQ,MAAM,CAAW,CAACiB,YAAYC;gBACtD,KAAK,MAAMC,UAAUD,OAAO,OAAO,CAC/B,KAAID,WAAW,QAAQ,CAACE,SAGxBF,WAAW,IAAI,CAACE;gBAEpB,OAAOF;YACX,GAAG,EAAE;YAELG,kBAAkBN,WAAW,UAAU,EAAE;gBACrC,SAASE;gBACT,kBAAkBjB,gBAAgB,gBAAgB;gBAClD,mBAAmBA,gBAAgB,iBAAiB;YACxD;YAEAsB,sBAAsB;gBAClBrC;gBACAgB;gBACA,YAAYc,WAAW,UAAU;YACrC;YAGA,MAAMQ,qBAAqB;YAE3B,OAAO;gBACHnB;gBACAW;gBACAF;gBACAH;YACJ;QACJ;IACJ;AACJ"}
|
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
app
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
const attachDomainsToOutput = (params)=>{
|
|
2
|
+
const { app, cloudFront } = params;
|
|
3
|
+
app.addHandler(()=>{
|
|
4
|
+
const distributionDomain = cloudFront.output.domainName;
|
|
5
|
+
const distributionUrl = distributionDomain.apply((value)=>`https://${value}`);
|
|
6
|
+
app.addOutputs({
|
|
7
|
+
["distributionDomain"]: distributionDomain,
|
|
8
|
+
["distributionUrl"]: distributionUrl,
|
|
9
|
+
["environments"]: params.domains,
|
|
10
|
+
["domains"]: []
|
|
11
|
+
});
|
|
12
|
+
cloudFront.config.aliases((aliases)=>{
|
|
13
|
+
const domains = [];
|
|
14
|
+
for (const alias of aliases || [])domains.push(alias);
|
|
15
|
+
app.addOutputs({
|
|
16
|
+
["domains"]: domains
|
|
17
|
+
});
|
|
18
|
+
return aliases;
|
|
19
|
+
});
|
|
14
20
|
});
|
|
15
|
-
// We're adjusting the outputs via the `config.aliases` setter.
|
|
16
|
-
// At the time of implementing this, could not find a better solution.
|
|
17
|
-
cloudFront.config.aliases(aliases => {
|
|
18
|
-
const domains = [];
|
|
19
|
-
for (const alias of aliases || []) {
|
|
20
|
-
domains.push(alias);
|
|
21
|
-
}
|
|
22
|
-
app.addOutputs({
|
|
23
|
-
["domains"]: domains
|
|
24
|
-
});
|
|
25
|
-
return aliases;
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
21
|
};
|
|
22
|
+
export { attachDomainsToOutput };
|
|
29
23
|
|
|
30
24
|
//# sourceMappingURL=attachDomainsToOutput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/domains/attachDomainsToOutput.js","sources":["../../../../../src/pulumi/apps/blueGreen/domains/attachDomainsToOutput.ts"],"sourcesContent":["import type * as aws from \"@pulumi/aws\";\nimport { type PulumiApp, type PulumiAppResource } from \"@webiny/pulumi\";\nimport type { IResolvedDomains } from \"~/pulumi/apps/blueGreen/types.js\";\n\nexport interface IAttachDomainsToOutputParams {\n app: PulumiApp;\n domains: IResolvedDomains;\n cloudFront: PulumiAppResource<typeof aws.cloudfront.Distribution>;\n}\n\nexport const attachDomainsToOutput = (params: IAttachDomainsToOutputParams) => {\n const { app, cloudFront } = params;\n\n app.addHandler(() => {\n const distributionDomain = cloudFront.output.domainName;\n const distributionUrl = distributionDomain.apply(value => `https://${value}`);\n\n app.addOutputs({\n [\"distributionDomain\"]: distributionDomain,\n [\"distributionUrl\"]: distributionUrl,\n [\"environments\"]: params.domains,\n [\"domains\"]: []\n });\n // We're adjusting the outputs via the `config.aliases` setter.\n // At the time of implementing this, could not find a better solution.\n cloudFront.config.aliases(aliases => {\n const domains: string[] = [];\n\n for (const alias of aliases || []) {\n domains.push(alias);\n }\n\n app.addOutputs({\n [\"domains\"]: domains\n });\n\n return aliases;\n });\n });\n};\n"],"names":["attachDomainsToOutput","params","app","cloudFront","distributionDomain","distributionUrl","value","aliases","domains","alias"],"mappings":"AAUO,MAAMA,wBAAwB,CAACC;IAClC,MAAM,EAAEC,GAAG,EAAEC,UAAU,EAAE,GAAGF;IAE5BC,IAAI,UAAU,CAAC;QACX,MAAME,qBAAqBD,WAAW,MAAM,CAAC,UAAU;QACvD,MAAME,kBAAkBD,mBAAmB,KAAK,CAACE,CAAAA,QAAS,CAAC,QAAQ,EAAEA,OAAO;QAE5EJ,IAAI,UAAU,CAAC;YACX,CAAC,qBAAqB,EAAEE;YACxB,CAAC,kBAAkB,EAAEC;YACrB,CAAC,eAAe,EAAEJ,OAAO,OAAO;YAChC,CAAC,UAAU,EAAE,EAAE;QACnB;QAGAE,WAAW,MAAM,CAAC,OAAO,CAACI,CAAAA;YACtB,MAAMC,UAAoB,EAAE;YAE5B,KAAK,MAAMC,SAASF,WAAW,EAAE,CAC7BC,QAAQ,IAAI,CAACC;YAGjBP,IAAI,UAAU,CAAC;gBACX,CAAC,UAAU,EAAEM;YACjB;YAEA,OAAOD;QACX;IACJ;AACJ"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
input
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (result.length !== 2) {
|
|
18
|
-
throw new Error("Invalid number of domains.");
|
|
19
|
-
}
|
|
20
|
-
return result;
|
|
1
|
+
const convertApplicationDomains = (params)=>{
|
|
2
|
+
const { input } = params;
|
|
3
|
+
const result = Object.keys(input).map((name)=>{
|
|
4
|
+
const value = input[name];
|
|
5
|
+
return {
|
|
6
|
+
name,
|
|
7
|
+
env: value.env,
|
|
8
|
+
variant: value.variant,
|
|
9
|
+
domains: {
|
|
10
|
+
api: value.api,
|
|
11
|
+
admin: value.admin
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
if (2 !== result.length) throw new Error("Invalid number of domains.");
|
|
16
|
+
return result;
|
|
21
17
|
};
|
|
18
|
+
export { convertApplicationDomains };
|
|
22
19
|
|
|
23
20
|
//# sourceMappingURL=convertApplicationDomains.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/blueGreen/domains/convertApplicationDomains.js","sources":["../../../../../src/pulumi/apps/blueGreen/domains/convertApplicationDomains.ts"],"sourcesContent":["import type { IGetApplicationStacksResult } from \"./getApplicationDomains.js\";\nimport type { IDeploymentDomain, IDeploymentsDomains } from \"../types.js\";\n\nexport interface IConvertApplicationDomainsParams {\n input: IGetApplicationStacksResult;\n}\n\nexport const convertApplicationDomains = (\n params: IConvertApplicationDomainsParams\n): IDeploymentsDomains => {\n const { input } = params;\n\n const result = Object.keys(input).map<IDeploymentDomain>(name => {\n const value = input[name];\n return {\n name,\n env: value.env,\n variant: value.variant,\n domains: {\n api: value.api,\n admin: value.admin\n }\n };\n });\n if (result.length !== 2) {\n throw new Error(\"Invalid number of domains.\");\n }\n return result as IDeploymentsDomains;\n};\n"],"names":["convertApplicationDomains","params","input","result","Object","name","value","Error"],"mappings":"AAOO,MAAMA,4BAA4B,CACrCC;IAEA,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAElB,MAAME,SAASC,OAAO,IAAI,CAACF,OAAO,GAAG,CAAoBG,CAAAA;QACrD,MAAMC,QAAQJ,KAAK,CAACG,KAAK;QACzB,OAAO;YACHA;YACA,KAAKC,MAAM,GAAG;YACd,SAASA,MAAM,OAAO;YACtB,SAAS;gBACL,KAAKA,MAAM,GAAG;gBACd,OAAOA,MAAM,KAAK;YACtB;QACJ;IACJ;IACA,IAAIH,AAAkB,MAAlBA,OAAO,MAAM,EACb,MAAM,IAAII,MAAM;IAEpB,OAAOJ;AACX"}
|