@webiny/project-aws 6.3.0-beta.4 → 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":"extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js","sources":["../../../../src/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.ts"],"sourcesContent":["import { ApiAfterDeploy } from \"@webiny/project/abstractions/index.js\";\nimport { UiService } from \"@webiny/project/abstractions/services/UiService.js\";\nimport { LoggerService } from \"@webiny/project/abstractions/services/LoggerService.js\";\nimport { GetProjectConfigService } from \"@webiny/project/abstractions\";\nimport { ApiGqlClient } from \"~/abstractions/ApiGqlClient.js\";\n\nconst IS_INSTALLED_QUERY = `\n query IsSystemInstalled {\n system {\n isSystemInstalled {\n data\n error {\n message\n code\n }\n }\n }\n }\n`;\n\nconst INSTALL_MUTATION = `\n mutation InstallSystem($installationInput: JSON!) {\n system {\n installSystem(installationInput: $installationInput) {\n data\n error {\n message\n code\n }\n }\n }\n }\n`;\n\ninterface IsInstalledResponse {\n system: {\n isSystemInstalled: {\n data: boolean;\n error?: {\n message: string;\n code: string;\n };\n };\n };\n}\n\ninterface InstallResponse {\n system: {\n installSystem: {\n data: boolean;\n error?: {\n message: string;\n code: string;\n };\n };\n };\n}\n\nclass AutoInstallAfterApiDeployImpl implements ApiAfterDeploy.Interface {\n constructor(\n private apiGqlClient: ApiGqlClient.Interface,\n private ui: UiService.Interface,\n private getProjectConfig: GetProjectConfigService.Interface,\n private logger: LoggerService.Interface\n ) {}\n\n async execute(params: ApiAfterDeploy.Params): Promise<void> {\n if (params.preview) {\n // Skip auto-install on preview deployments\n return;\n }\n\n const projectConfig = await this.getProjectConfig.execute();\n const adminAutoInstallExtensions = projectConfig.extensionsByType(\"Project/AutoInstall\");\n\n if (adminAutoInstallExtensions.length === 0) {\n return;\n }\n\n const config = adminAutoInstallExtensions[0].params;\n\n // Check if system is already installed\n this.ui.info(\"Checking if system is already installed...\");\n\n try {\n const isInstalledResponse = await this.apiGqlClient.query<IsInstalledResponse>({\n query: IS_INSTALLED_QUERY\n });\n\n if (isInstalledResponse.data?.system.isSystemInstalled.data === true) {\n this.ui.info(\"System is already installed, skipping auto-install.\");\n return;\n }\n } catch (error: any) {\n this.logger.error(\"Failed to check installation status\", { error });\n this.ui.warning(`Could not check installation status: ${error.message}`);\n return;\n }\n\n this.ui.info(\"Auto-installing...\");\n /**\n * Type Error introduced with Zod v4. V3 had any type.\n */\n // @ts-expect-error\n const adminUser = config.adminUser || {\n firstName: \"John\",\n lastName: \"Smith\",\n email: \"admin@webiny.com\",\n password: \"12345678\"\n };\n\n const variables = {\n installationInput: [\n {\n app: \"Cognito\",\n data: adminUser\n }\n ]\n };\n\n const installResponse = await this.apiGqlClient.mutation<InstallResponse>({\n mutation: INSTALL_MUTATION,\n variables\n });\n\n if (installResponse.data?.system.installSystem.error) {\n const { message, code } = installResponse.data.system.installSystem.error;\n this.logger.error(\"Installation failed\", { message, code });\n this.ui.error(`Installation failed: ${message} (${code})`);\n throw new Error(message);\n }\n\n this.ui.success(\"System installed successfully!\");\n this.ui.info(\"Admin credentials:\");\n this.ui.info(` Email: ${adminUser.email}`);\n this.ui.info(` Password: ${adminUser.password}`);\n }\n}\n\nexport const AutoInstallAfterApiDeploy = ApiAfterDeploy.createImplementation({\n implementation: AutoInstallAfterApiDeployImpl,\n dependencies: [ApiGqlClient, UiService, GetProjectConfigService, LoggerService]\n});\n"],"names":["IS_INSTALLED_QUERY","INSTALL_MUTATION","AutoInstallAfterApiDeployImpl","apiGqlClient","ui","getProjectConfig","logger","params","projectConfig","adminAutoInstallExtensions","config","isInstalledResponse","error","adminUser","variables","installResponse","message","code","Error","AutoInstallAfterApiDeploy","ApiAfterDeploy","ApiGqlClient","UiService","GetProjectConfigService","LoggerService"],"mappings":";;;;;AAMA,MAAMA,qBAAqB,CAAC;;;;;;;;;;;;AAY5B,CAAC;AAED,MAAMC,mBAAmB,CAAC;;;;;;;;;;;;AAY1B,CAAC;AA0BD,MAAMC;IACF,YACYC,YAAoC,EACpCC,EAAuB,EACvBC,gBAAmD,EACnDC,MAA+B,CACzC;aAJUH,YAAY,GAAZA;aACAC,EAAE,GAAFA;aACAC,gBAAgB,GAAhBA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,MAA6B,EAAiB;QACxD,IAAIA,OAAO,OAAO,EAEd;QAGJ,MAAMC,gBAAgB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO;QACzD,MAAMC,6BAA6BD,cAAc,gBAAgB,CAAC;QAElE,IAAIC,AAAsC,MAAtCA,2BAA2B,MAAM,EACjC;QAGJ,MAAMC,SAASD,0BAA0B,CAAC,EAAE,CAAC,MAAM;QAGnD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QAEb,IAAI;YACA,MAAME,sBAAsB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAsB;gBAC3E,OAAOX;YACX;YAEA,IAAIW,oBAAoB,IAAI,EAAE,OAAO,kBAAkB,SAAS,MAAM,YAClE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QAGrB,EAAE,OAAOC,OAAY;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC;gBAAEA;YAAM;YACjE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,qCAAqC,EAAEA,MAAM,OAAO,EAAE;YACvE;QACJ;QAEA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QAKb,MAAMC,YAAYH,OAAO,SAAS,IAAI;YAClC,WAAW;YACX,UAAU;YACV,OAAO;YACP,UAAU;QACd;QAEA,MAAMI,YAAY;YACd,mBAAmB;gBACf;oBACI,KAAK;oBACL,MAAMD;gBACV;aACH;QACL;QAEA,MAAME,kBAAkB,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAkB;YACtE,UAAUd;YACVa;QACJ;QAEA,IAAIC,gBAAgB,IAAI,EAAE,OAAO,cAAc,OAAO;YAClD,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGF,gBAAgB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK;YACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB;gBAAEC;gBAASC;YAAK;YACzD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAED,QAAQ,EAAE,EAAEC,KAAK,CAAC,CAAC;YACzD,MAAM,IAAIC,MAAMF;QACpB;QAEA,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QACb,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAEH,UAAU,KAAK,EAAE;QACzC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAEA,UAAU,QAAQ,EAAE;IACnD;AACJ;AAEO,MAAMM,4BAA4BC,eAAe,oBAAoB,CAAC;IACzE,gBAAgBlB;IAChB,cAAc;QAACmB;QAAcC;QAAWC;QAAyBC;KAAc;AACnF"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { defineExtension } from "@webiny/project/defineExtension/index.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
const AutoInstall = defineExtension({
|
|
4
|
+
type: "Project/AutoInstall",
|
|
5
|
+
tags: {
|
|
6
|
+
runtimeContext: "project"
|
|
7
|
+
},
|
|
8
|
+
description: "Auto-install Webiny with admin user credentials on first deploy.",
|
|
9
|
+
paramsSchema: z.object({
|
|
10
|
+
adminUser: z.object({
|
|
11
|
+
firstName: z.string().describe("Admin user first name"),
|
|
12
|
+
lastName: z.string().describe("Admin user last name"),
|
|
13
|
+
email: z.string().email().describe("Admin user email"),
|
|
14
|
+
password: z.string().min(8).describe("Admin user password (minimum 8 characters)")
|
|
15
|
+
}).describe("Admin user credentials for installation")
|
|
16
|
+
})
|
|
17
17
|
});
|
|
18
|
+
export { AutoInstall };
|
|
18
19
|
|
|
19
20
|
//# sourceMappingURL=AutoInstall.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"extensions/ProjectAws/AutoInstall.js","sources":["../../../src/extensions/ProjectAws/AutoInstall.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { defineExtension } from \"@webiny/project/defineExtension/index.js\";\n\nexport const AutoInstall = defineExtension({\n type: \"Project/AutoInstall\",\n tags: { runtimeContext: \"project\" },\n description: \"Auto-install Webiny with admin user credentials on first deploy.\",\n paramsSchema: z.object({\n adminUser: z\n .object({\n firstName: z.string().describe(\"Admin user first name\"),\n lastName: z.string().describe(\"Admin user last name\"),\n email: z.string().email().describe(\"Admin user email\"),\n password: z.string().min(8).describe(\"Admin user password (minimum 8 characters)\")\n })\n .describe(\"Admin user credentials for installation\")\n })\n});\n"],"names":["AutoInstall","defineExtension","z"],"mappings":";;AAGO,MAAMA,cAAcC,gBAAgB;IACvC,MAAM;IACN,MAAM;QAAE,gBAAgB;IAAU;IAClC,aAAa;IACb,cAAcC,EAAE,MAAM,CAAC;QACnB,WAAWA,EAAAA,MACA,CAAC;YACJ,WAAWA,EAAE,MAAM,GAAG,QAAQ,CAAC;YAC/B,UAAUA,EAAE,MAAM,GAAG,QAAQ,CAAC;YAC9B,OAAOA,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;YACnC,UAAUA,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC;QACzC,GACC,QAAQ,CAAC;IAClB;AACJ"}
|
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
import { BeforeDeploy, ProjectSdkParamsService } from "@webiny/project/abstractions/index.js";
|
|
2
2
|
class PrintDeploymentInfoAfterDeployImpl {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
async execute(params) {
|
|
7
|
-
if (params.app !== "blueGreen") {
|
|
8
|
-
return;
|
|
3
|
+
constructor(projectSdkParamsService){
|
|
4
|
+
this.projectSdkParamsService = projectSdkParamsService;
|
|
9
5
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
async execute(params) {
|
|
7
|
+
if ("blueGreen" !== params.app) return;
|
|
8
|
+
const sdkParams = this.projectSdkParamsService.get();
|
|
9
|
+
const { env, variant } = sdkParams;
|
|
10
|
+
if (!variant?.length) return;
|
|
11
|
+
const message = `Cannot deploy Blue / Green system environment (${env}) with a variant (${variant}).`;
|
|
12
|
+
throw new Error(message);
|
|
17
13
|
}
|
|
18
|
-
const message = `Cannot deploy Blue / Green system environment (${env}) with a variant (${variant}).`;
|
|
19
|
-
throw new Error(message);
|
|
20
|
-
}
|
|
21
14
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
const EnsureVariantBeforeDeploy = BeforeDeploy.createImplementation({
|
|
16
|
+
implementation: PrintDeploymentInfoAfterDeployImpl,
|
|
17
|
+
dependencies: [
|
|
18
|
+
ProjectSdkParamsService
|
|
19
|
+
]
|
|
25
20
|
});
|
|
21
|
+
export { EnsureVariantBeforeDeploy };
|
|
26
22
|
|
|
27
23
|
//# sourceMappingURL=EnsureVariantBeforeDeploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js","sources":["../../../../src/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.ts"],"sourcesContent":["import { BeforeDeploy, ProjectSdkParamsService } from \"@webiny/project/abstractions/index.js\";\n\nclass PrintDeploymentInfoAfterDeployImpl implements BeforeDeploy.Interface {\n constructor(private projectSdkParamsService: ProjectSdkParamsService.Interface) {}\n\n async execute(params: BeforeDeploy.Params) {\n if (params.app !== \"blueGreen\") {\n return;\n }\n\n const sdkParams = this.projectSdkParamsService.get();\n const { env, variant } = sdkParams;\n\n if (!variant?.length) {\n return;\n }\n const message = `Cannot deploy Blue / Green system environment (${env}) with a variant (${variant}).`;\n throw new Error(message);\n }\n}\n\nexport const EnsureVariantBeforeDeploy = BeforeDeploy.createImplementation({\n implementation: PrintDeploymentInfoAfterDeployImpl,\n dependencies: [ProjectSdkParamsService]\n});\n"],"names":["PrintDeploymentInfoAfterDeployImpl","projectSdkParamsService","params","sdkParams","env","variant","message","Error","EnsureVariantBeforeDeploy","BeforeDeploy","ProjectSdkParamsService"],"mappings":";AAEA,MAAMA;IACF,YAAoBC,uBAA0D,CAAE;aAA5DA,uBAAuB,GAAvBA;IAA6D;IAEjF,MAAM,QAAQC,MAA2B,EAAE;QACvC,IAAIA,AAAe,gBAAfA,OAAO,GAAG,EACV;QAGJ,MAAMC,YAAY,IAAI,CAAC,uBAAuB,CAAC,GAAG;QAClD,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAE,GAAGF;QAEzB,IAAI,CAACE,SAAS,QACV;QAEJ,MAAMC,UAAU,CAAC,+CAA+C,EAAEF,IAAI,kBAAkB,EAAEC,QAAQ,EAAE,CAAC;QACrG,MAAM,IAAIE,MAAMD;IACpB;AACJ;AAEO,MAAME,4BAA4BC,aAAa,oBAAoB,CAAC;IACvE,gBAAgBT;IAChB,cAAc;QAACU;KAAwB;AAC3C"}
|
|
@@ -1,54 +1,65 @@
|
|
|
1
1
|
import { AfterDeploy, GetAppStackOutput, ProjectSdkParamsService, UiService } from "@webiny/project/abstractions/index.js";
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
class PrintDeploymentInfoAfterDeployImpl {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
async execute(params) {
|
|
10
|
-
if (params.app !== "blueGreen") {
|
|
11
|
-
return;
|
|
4
|
+
constructor(ui, getAppStackOutput, projectSdkParamsService){
|
|
5
|
+
this.ui = ui;
|
|
6
|
+
this.getAppStackOutput = getAppStackOutput;
|
|
7
|
+
this.projectSdkParamsService = projectSdkParamsService;
|
|
12
8
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
async execute(params) {
|
|
10
|
+
if ("blueGreen" !== params.app) return;
|
|
11
|
+
const { blue, green } = chalk;
|
|
12
|
+
const bg = await this.getAppStackOutput.execute("blueGreen");
|
|
13
|
+
if (!bg) return void this.ui.info("Blue / Green deployment info could not be printed because the Blue / Green app is not deployed.");
|
|
14
|
+
const sdkParams = this.projectSdkParamsService.get();
|
|
15
|
+
const domains = Array.isArray(bg.domains) ? bg.domains : [];
|
|
16
|
+
const environments = (bg.environments || []).reduce((items, item)=>{
|
|
17
|
+
const index = items.findIndex((i)=>i.name === item.name);
|
|
18
|
+
if (index >= 0) {
|
|
19
|
+
items[index].domains[item.type] = item.target;
|
|
20
|
+
return items;
|
|
21
|
+
}
|
|
22
|
+
items.push({
|
|
23
|
+
name: item.name,
|
|
24
|
+
env: item.env,
|
|
25
|
+
variant: item.variant,
|
|
26
|
+
domains: {
|
|
27
|
+
[item.type]: item.target
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return items;
|
|
31
|
+
}, []);
|
|
32
|
+
const output = [
|
|
33
|
+
"",
|
|
34
|
+
green("Blue / Green Router"),
|
|
35
|
+
`‣ Environment name: ${blue(sdkParams.env)}`,
|
|
36
|
+
`‣ CloudFront domain: ${bg.distributionDomain}`,
|
|
37
|
+
`‣ CloudFront URL: ${bg.distributionUrl}`,
|
|
38
|
+
"",
|
|
39
|
+
"‣ Domains attached: ",
|
|
40
|
+
...domains.map((domain)=>` - https://${domain}`),
|
|
41
|
+
"",
|
|
42
|
+
"‣ Environments: ",
|
|
43
|
+
...environments.map((item)=>{
|
|
44
|
+
const envVariant = `env: ${item.env}${item.variant ? ` / variant: ${item.variant}` : ""}`;
|
|
45
|
+
return [
|
|
46
|
+
` - ${blue(item.name)} (${envVariant})`,
|
|
47
|
+
...Object.keys(item.domains).map((type)=>` - ${type}: https://${item.domains[type]}`)
|
|
48
|
+
].join("\n");
|
|
49
|
+
}),
|
|
50
|
+
""
|
|
51
|
+
];
|
|
52
|
+
console.log(output.join("\n"));
|
|
21
53
|
}
|
|
22
|
-
const sdkParams = this.projectSdkParamsService.get();
|
|
23
|
-
const domains = Array.isArray(bg.domains) ? bg.domains : [];
|
|
24
|
-
const environments = (bg.environments || []).reduce((items, item) => {
|
|
25
|
-
const index = items.findIndex(i => i.name === item.name);
|
|
26
|
-
if (index >= 0) {
|
|
27
|
-
items[index].domains[item.type] = item.target;
|
|
28
|
-
return items;
|
|
29
|
-
}
|
|
30
|
-
items.push({
|
|
31
|
-
name: item.name,
|
|
32
|
-
env: item.env,
|
|
33
|
-
variant: item.variant,
|
|
34
|
-
domains: {
|
|
35
|
-
[item.type]: item.target
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
return items;
|
|
39
|
-
}, []);
|
|
40
|
-
const output = ["", green(`Blue / Green Router`), `‣ Environment name: ${blue(sdkParams.env)}`, `‣ CloudFront domain: ${bg.distributionDomain}`, `‣ CloudFront URL: ${bg.distributionUrl}`, "", `‣ Domains attached: `, ...domains.map(domain => ` - https://${domain}`), "", `‣ Environments: `, ...environments.map(item => {
|
|
41
|
-
const envVariant = `env: ${item.env}${item.variant ? ` / variant: ${item.variant}` : ""}`;
|
|
42
|
-
return [` - ${blue(item.name)} (${envVariant})`, ...Object.keys(item.domains).map(type => {
|
|
43
|
-
return ` - ${type}: https://${item.domains[type]}`;
|
|
44
|
-
})].join("\n");
|
|
45
|
-
}), ""];
|
|
46
|
-
console.log(output.join("\n"));
|
|
47
|
-
}
|
|
48
54
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
const PrintDeploymentInfoAfterDeploy = AfterDeploy.createImplementation({
|
|
56
|
+
implementation: PrintDeploymentInfoAfterDeployImpl,
|
|
57
|
+
dependencies: [
|
|
58
|
+
UiService,
|
|
59
|
+
GetAppStackOutput,
|
|
60
|
+
ProjectSdkParamsService
|
|
61
|
+
]
|
|
52
62
|
});
|
|
63
|
+
export { PrintDeploymentInfoAfterDeploy };
|
|
53
64
|
|
|
54
65
|
//# sourceMappingURL=PrintDeploymentInfoAfterDeploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js","sources":["../../../../src/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.ts"],"sourcesContent":["import {\n AfterDeploy,\n GetAppStackOutput,\n ProjectSdkParamsService,\n UiService\n} from \"@webiny/project/abstractions/index.js\";\nimport { IBlueGreenStackOutput } from \"~/pulumi/apps/blueGreen/types.js\";\nimport chalk from \"chalk\";\n\nexport interface IEnvironment {\n name: string;\n env: string;\n variant: string | undefined;\n domains: {\n [key: string]: string;\n };\n}\n\nclass PrintDeploymentInfoAfterDeployImpl implements AfterDeploy.Interface {\n constructor(\n private ui: UiService.Interface,\n private getAppStackOutput: GetAppStackOutput.Interface,\n private projectSdkParamsService: ProjectSdkParamsService.Interface\n ) {}\n\n async execute(params: AfterDeploy.Params) {\n if (params.app !== \"blueGreen\") {\n return;\n }\n\n const { blue, green } = chalk;\n\n const bg = await this.getAppStackOutput.execute<IBlueGreenStackOutput>(\"blueGreen\");\n\n if (!bg) {\n this.ui.info(\n \"Blue / Green deployment info could not be printed because the Blue / Green app is not deployed.\"\n );\n return;\n }\n\n const sdkParams = this.projectSdkParamsService.get();\n\n const domains = Array.isArray(bg.domains) ? bg.domains : [];\n\n const environments = (bg.environments || []).reduce<IEnvironment[]>((items, item) => {\n const index = items.findIndex(i => i.name === item.name);\n if (index >= 0) {\n items[index].domains[item.type] = item.target;\n\n return items;\n }\n\n items.push({\n name: item.name,\n env: item.env,\n variant: item.variant,\n domains: {\n [item.type]: item.target\n }\n });\n\n return items;\n }, []);\n\n const output = [\n \"\",\n green(`Blue / Green Router`),\n `‣ Environment name: ${blue(sdkParams.env)}`,\n `‣ CloudFront domain: ${bg.distributionDomain}`,\n `‣ CloudFront URL: ${bg.distributionUrl}`,\n \"\",\n `‣ Domains attached: `,\n ...domains.map(domain => ` - https://${domain}`),\n \"\",\n `‣ Environments: `,\n ...environments.map(item => {\n const envVariant = `env: ${item.env}${\n item.variant ? ` / variant: ${item.variant}` : \"\"\n }`;\n return [\n ` - ${blue(item.name)} (${envVariant})`,\n ...Object.keys(item.domains).map(type => {\n return ` - ${type}: https://${item.domains[type]}`;\n })\n ].join(\"\\n\");\n }),\n \"\"\n ];\n console.log(output.join(\"\\n\"));\n }\n}\n\nexport const PrintDeploymentInfoAfterDeploy = AfterDeploy.createImplementation({\n implementation: PrintDeploymentInfoAfterDeployImpl,\n dependencies: [UiService, GetAppStackOutput, ProjectSdkParamsService]\n});\n"],"names":["PrintDeploymentInfoAfterDeployImpl","ui","getAppStackOutput","projectSdkParamsService","params","blue","green","chalk","bg","sdkParams","domains","Array","environments","items","item","index","i","output","domain","envVariant","Object","type","console","PrintDeploymentInfoAfterDeploy","AfterDeploy","UiService","GetAppStackOutput","ProjectSdkParamsService"],"mappings":";;AAkBA,MAAMA;IACF,YACYC,EAAuB,EACvBC,iBAA8C,EAC9CC,uBAA0D,CACpE;aAHUF,EAAE,GAAFA;aACAC,iBAAiB,GAAjBA;aACAC,uBAAuB,GAAvBA;IACT;IAEH,MAAM,QAAQC,MAA0B,EAAE;QACtC,IAAIA,AAAe,gBAAfA,OAAO,GAAG,EACV;QAGJ,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGC;QAExB,MAAMC,KAAK,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAwB;QAEvE,IAAI,CAACA,IAAI,YACL,IAAI,CAAC,EAAE,CAAC,IAAI,CACR;QAKR,MAAMC,YAAY,IAAI,CAAC,uBAAuB,CAAC,GAAG;QAElD,MAAMC,UAAUC,MAAM,OAAO,CAACH,GAAG,OAAO,IAAIA,GAAG,OAAO,GAAG,EAAE;QAE3D,MAAMI,eAAgBJ,AAAAA,CAAAA,GAAG,YAAY,IAAI,EAAC,EAAG,MAAM,CAAiB,CAACK,OAAOC;YACxE,MAAMC,QAAQF,MAAM,SAAS,CAACG,CAAAA,IAAKA,EAAE,IAAI,KAAKF,KAAK,IAAI;YACvD,IAAIC,SAAS,GAAG;gBACZF,KAAK,CAACE,MAAM,CAAC,OAAO,CAACD,KAAK,IAAI,CAAC,GAAGA,KAAK,MAAM;gBAE7C,OAAOD;YACX;YAEAA,MAAM,IAAI,CAAC;gBACP,MAAMC,KAAK,IAAI;gBACf,KAAKA,KAAK,GAAG;gBACb,SAASA,KAAK,OAAO;gBACrB,SAAS;oBACL,CAACA,KAAK,IAAI,CAAC,EAAEA,KAAK,MAAM;gBAC5B;YACJ;YAEA,OAAOD;QACX,GAAG,EAAE;QAEL,MAAMI,SAAS;YACX;YACAX,MAAM;YACN,CAAC,oBAAoB,EAAED,KAAKI,UAAU,GAAG,GAAG;YAC5C,CAAC,qBAAqB,EAAED,GAAG,kBAAkB,EAAE;YAC/C,CAAC,kBAAkB,EAAEA,GAAG,eAAe,EAAE;YACzC;YACA;eACGE,QAAQ,GAAG,CAACQ,CAAAA,SAAU,CAAC,YAAY,EAAEA,QAAQ;YAChD;YACA;eACGN,aAAa,GAAG,CAACE,CAAAA;gBAChB,MAAMK,aAAa,CAAC,KAAK,EAAEL,KAAK,GAAG,GAC/BA,KAAK,OAAO,GAAG,CAAC,YAAY,EAAEA,KAAK,OAAO,EAAE,GAAG,IACjD;gBACF,OAAO;oBACH,CAAC,IAAI,EAAET,KAAKS,KAAK,IAAI,EAAE,EAAE,EAAEK,WAAW,CAAC,CAAC;uBACrCC,OAAO,IAAI,CAACN,KAAK,OAAO,EAAE,GAAG,CAACO,CAAAA,OACtB,CAAC,MAAM,EAAEA,KAAK,UAAU,EAAEP,KAAK,OAAO,CAACO,KAAK,EAAE;iBAE5D,CAAC,IAAI,CAAC;YACX;YACA;SACH;QACDC,QAAQ,GAAG,CAACL,OAAO,IAAI,CAAC;IAC5B;AACJ;AAEO,MAAMM,iCAAiCC,YAAY,oBAAoB,CAAC;IAC3E,gBAAgBxB;IAChB,cAAc;QAACyB;QAAWC;QAAmBC;KAAwB;AACzE"}
|
|
@@ -1,60 +1,62 @@
|
|
|
1
1
|
import { CliCommandFactory, GetProjectSdkService } from "@webiny/cli-core/abstractions/index.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
}
|
|
2
|
+
class SetPrimaryVariantCommandImpl {
|
|
3
|
+
constructor(getProjectSdkService){
|
|
4
|
+
this.getProjectSdkService = getProjectSdkService;
|
|
5
|
+
}
|
|
6
|
+
async execute() {
|
|
7
|
+
const projectSdk = await this.getProjectSdkService.execute();
|
|
8
|
+
return {
|
|
9
|
+
name: "set-variant",
|
|
10
|
+
description: "Set a deployed system as primary variant.",
|
|
11
|
+
examples: [
|
|
12
|
+
"$0 set-variant --env=dev --primary=blue --secondary=green",
|
|
13
|
+
"$0 set-variant --env=dev --primary=green --secondary=green"
|
|
14
|
+
],
|
|
15
|
+
options: [
|
|
16
|
+
{
|
|
17
|
+
name: "env",
|
|
18
|
+
description: "Environment name (dev, prod, etc.)",
|
|
19
|
+
type: "string"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: "confirm",
|
|
23
|
+
description: "Confirm deployment",
|
|
24
|
+
type: "boolean",
|
|
25
|
+
required: false
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: "primary",
|
|
29
|
+
description: "Primary variant",
|
|
30
|
+
type: "string",
|
|
31
|
+
required: true,
|
|
32
|
+
validation: (params)=>{
|
|
33
|
+
const isValid = projectSdk.isValidVariantName(params.primary);
|
|
34
|
+
if (isValid.isErr()) throw isValid.error;
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "secondary",
|
|
40
|
+
description: "Secondary variant",
|
|
41
|
+
type: "string",
|
|
42
|
+
required: true,
|
|
43
|
+
validation: (params)=>{
|
|
44
|
+
const isValid = projectSdk.isValidVariantName(params.secondary);
|
|
45
|
+
if (isValid.isErr()) throw isValid.error;
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
handler: async ()=>{}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
54
53
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
const SetPrimaryVariantCliCommand = CliCommandFactory.createImplementation({
|
|
55
|
+
implementation: SetPrimaryVariantCommandImpl,
|
|
56
|
+
dependencies: [
|
|
57
|
+
GetProjectSdkService
|
|
58
|
+
]
|
|
58
59
|
});
|
|
60
|
+
export { SetPrimaryVariantCliCommand, SetPrimaryVariantCommandImpl };
|
|
59
61
|
|
|
60
62
|
//# sourceMappingURL=SetPrimaryVariantCliCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js","sources":["../../../../src/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.ts"],"sourcesContent":["import { CliCommandFactory, GetProjectSdkService } from \"@webiny/cli-core/abstractions/index.js\";\n\nexport interface ISetPrimaryVariantCommandParams {\n env: string;\n confirm?: boolean;\n primary: string;\n secondary: string;\n}\n\n/**\n * Command to set a primary variant does not require a region because it is already contained inside the stack output.\n */\nexport class SetPrimaryVariantCommandImpl implements CliCommandFactory.Interface<ISetPrimaryVariantCommandParams> {\n constructor(private getProjectSdkService: GetProjectSdkService.Interface) {}\n\n async execute(): Promise<CliCommandFactory.CommandDefinition<ISetPrimaryVariantCommandParams>> {\n const projectSdk = await this.getProjectSdkService.execute();\n\n return {\n name: \"set-variant\",\n description: \"Set a deployed system as primary variant.\",\n examples: [\n \"$0 set-variant --env=dev --primary=blue --secondary=green\",\n \"$0 set-variant --env=dev --primary=green --secondary=green\"\n ],\n options: [\n {\n name: \"env\",\n description: \"Environment name (dev, prod, etc.)\",\n type: \"string\"\n },\n {\n name: \"confirm\",\n description: \"Confirm deployment\",\n type: \"boolean\",\n required: false\n },\n {\n name: \"primary\",\n description: \"Primary variant\",\n type: \"string\",\n required: true,\n validation: params => {\n const isValid = projectSdk.isValidVariantName(params.primary);\n if (isValid.isErr()) {\n throw isValid.error;\n }\n return true;\n }\n },\n {\n name: \"secondary\",\n description: \"Secondary variant\",\n type: \"string\",\n required: true,\n validation: params => {\n const isValid = projectSdk.isValidVariantName(params.secondary);\n if (isValid.isErr()) {\n throw isValid.error;\n }\n return true;\n }\n }\n ],\n handler: async () => {\n // TODO: Finish this.\n }\n };\n }\n}\n\nexport const SetPrimaryVariantCliCommand = CliCommandFactory.createImplementation({\n implementation: SetPrimaryVariantCommandImpl,\n dependencies: [GetProjectSdkService]\n});\n"],"names":["SetPrimaryVariantCommandImpl","getProjectSdkService","projectSdk","params","isValid","SetPrimaryVariantCliCommand","CliCommandFactory","GetProjectSdkService"],"mappings":";AAYO,MAAMA;IACT,YAAoBC,oBAAoD,CAAE;aAAtDA,oBAAoB,GAApBA;IAAuD;IAE3E,MAAM,UAAyF;QAC3F,MAAMC,aAAa,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO;QAE1D,OAAO;YACH,MAAM;YACN,aAAa;YACb,UAAU;gBACN;gBACA;aACH;YACD,SAAS;gBACL;oBACI,MAAM;oBACN,aAAa;oBACb,MAAM;gBACV;gBACA;oBACI,MAAM;oBACN,aAAa;oBACb,MAAM;oBACN,UAAU;gBACd;gBACA;oBACI,MAAM;oBACN,aAAa;oBACb,MAAM;oBACN,UAAU;oBACV,YAAYC,CAAAA;wBACR,MAAMC,UAAUF,WAAW,kBAAkB,CAACC,OAAO,OAAO;wBAC5D,IAAIC,QAAQ,KAAK,IACb,MAAMA,QAAQ,KAAK;wBAEvB,OAAO;oBACX;gBACJ;gBACA;oBACI,MAAM;oBACN,aAAa;oBACb,MAAM;oBACN,UAAU;oBACV,YAAYD,CAAAA;wBACR,MAAMC,UAAUF,WAAW,kBAAkB,CAACC,OAAO,SAAS;wBAC9D,IAAIC,QAAQ,KAAK,IACb,MAAMA,QAAQ,KAAK;wBAEvB,OAAO;oBACX;gBACJ;aACH;YACD,SAAS,WAET;QACJ;IACJ;AACJ;AAEO,MAAMC,8BAA8BC,kBAAkB,oBAAoB,CAAC;IAC9E,gBAAgBN;IAChB,cAAc;QAACO;KAAqB;AACxC"}
|
|
@@ -3,64 +3,59 @@ import fs from "fs";
|
|
|
3
3
|
import { replaceInPath } from "replace-in-path";
|
|
4
4
|
import { BuildAppWorkspaceService, GetApp, LoggerService } from "@webiny/project/abstractions/index.js";
|
|
5
5
|
import { getTemplatesFolderPath } from "../../utils/index.js";
|
|
6
|
-
const wait = ()
|
|
6
|
+
const wait = ()=>new Promise((resolve)=>setTimeout(resolve, 10));
|
|
7
7
|
class BuildAppWorkspaceImpl {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
async execute(appName, options = {}) {
|
|
14
|
-
await this.decoratee.execute(appName, options);
|
|
15
|
-
const app = this.getApp.execute(appName);
|
|
16
|
-
if (app.paths.workspaceFolder.existsSync()) {
|
|
17
|
-
if (options.forceRebuild !== true) {
|
|
18
|
-
this.logger.debug({
|
|
19
|
-
appName
|
|
20
|
-
}, "App workspace already exists, skipping rebuild (project-aws).");
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
8
|
+
constructor(getApp, logger, decoratee){
|
|
9
|
+
this.getApp = getApp;
|
|
10
|
+
this.logger = logger;
|
|
11
|
+
this.decoratee = decoratee;
|
|
23
12
|
}
|
|
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
|
-
|
|
13
|
+
async execute(appName, options = {}) {
|
|
14
|
+
await this.decoratee.execute(appName, options);
|
|
15
|
+
const app = this.getApp.execute(appName);
|
|
16
|
+
if (app.paths.workspaceFolder.existsSync()) {
|
|
17
|
+
if (true !== options.forceRebuild) return void this.logger.debug({
|
|
18
|
+
appName
|
|
19
|
+
}, "App workspace already exists, skipping rebuild (project-aws).");
|
|
20
|
+
}
|
|
21
|
+
this.logger.info({
|
|
22
|
+
appName,
|
|
23
|
+
options
|
|
24
|
+
}, "Building app workspace (project-aws)...");
|
|
25
|
+
const templatesFolderPath = getTemplatesFolderPath();
|
|
26
|
+
const appWorkspaceFolderPath = app.paths.workspaceFolder.toString();
|
|
27
|
+
const appTemplateFolderPath = path.join(templatesFolderPath, "appTemplates", app.name);
|
|
28
|
+
fs.cpSync(appTemplateFolderPath, appWorkspaceFolderPath, {
|
|
29
|
+
recursive: true
|
|
30
|
+
});
|
|
31
|
+
if ("admin" === appName) {
|
|
32
|
+
const publicFolder = path.join(process.cwd(), "public");
|
|
33
|
+
fs.cpSync(publicFolder, path.join(appWorkspaceFolderPath, "public"), {
|
|
34
|
+
recursive: true
|
|
35
|
+
});
|
|
36
|
+
await wait();
|
|
37
|
+
const indexTsx = app.paths.workspaceFolder.join("src", "index.tsx").toString();
|
|
38
|
+
const globalCssPath = path.join(publicFolder, "global.css");
|
|
39
|
+
let globalCss = "";
|
|
40
|
+
if (fs.existsSync(globalCssPath)) {
|
|
41
|
+
const relativePath = path.relative(path.dirname(indexTsx), globalCssPath).replace(/\\/g, "/");
|
|
42
|
+
globalCss = `import "${relativePath}";`;
|
|
43
|
+
} else console.log("globalCssPath does not exist");
|
|
44
|
+
replaceInPath(indexTsx, {
|
|
45
|
+
find: "{GLOBAL_CSS}",
|
|
46
|
+
replaceWith: globalCss
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
this.logger.info("App workspace built successfully (project-aws).");
|
|
57
50
|
}
|
|
58
|
-
this.logger.info("App workspace built successfully (project-aws).");
|
|
59
|
-
}
|
|
60
51
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
52
|
+
const BuildAppWorkspace = BuildAppWorkspaceService.createDecorator({
|
|
53
|
+
decorator: BuildAppWorkspaceImpl,
|
|
54
|
+
dependencies: [
|
|
55
|
+
GetApp,
|
|
56
|
+
LoggerService
|
|
57
|
+
]
|
|
64
58
|
});
|
|
59
|
+
export { BuildAppWorkspace };
|
|
65
60
|
|
|
66
61
|
//# sourceMappingURL=BuildAppWorkspace.js.map
|