@openhi/constructs 0.0.115 → 0.0.117
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/lib/{chunk-X5MHU7DA.mjs → chunk-I7IIPV5X.mjs} +25 -5
- package/lib/chunk-I7IIPV5X.mjs.map +1 -0
- package/lib/data-store-postgres-replication.handler.js +24 -4
- package/lib/data-store-postgres-replication.handler.js.map +1 -1
- package/lib/data-store-postgres-replication.handler.mjs +1 -1
- package/lib/firehose-archive-transform.handler.js +24 -4
- package/lib/firehose-archive-transform.handler.js.map +1 -1
- package/lib/firehose-archive-transform.handler.mjs +1 -1
- package/lib/index.d.mts +287 -14
- package/lib/index.d.ts +302 -15
- package/lib/index.js +426 -131
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +473 -169
- package/lib/index.mjs.map +1 -1
- package/lib/static-hosting.viewer-request-handler.d.mts +54 -0
- package/lib/static-hosting.viewer-request-handler.d.ts +54 -0
- package/lib/static-hosting.viewer-request-handler.js +79 -0
- package/lib/static-hosting.viewer-request-handler.js.map +1 -0
- package/lib/static-hosting.viewer-request-handler.mjs +53 -0
- package/lib/static-hosting.viewer-request-handler.mjs.map +1 -0
- package/package.json +3 -3
- package/lib/chunk-X5MHU7DA.mjs.map +0 -1
package/lib/index.js
CHANGED
|
@@ -816,6 +816,7 @@ __export(src_exports, {
|
|
|
816
816
|
OpenHiRestApiService: () => OpenHiRestApiService,
|
|
817
817
|
OpenHiService: () => OpenHiService,
|
|
818
818
|
OpenHiStage: () => OpenHiStage,
|
|
819
|
+
OpenHiWebsiteService: () => OpenHiWebsiteService,
|
|
819
820
|
OpsEventBus: () => OpsEventBus,
|
|
820
821
|
OwningDeleteCascadeLambdas: () => OwningDeleteCascadeLambdas,
|
|
821
822
|
OwningDeleteCascadeWorkflow: () => OwningDeleteCascadeWorkflow,
|
|
@@ -851,11 +852,13 @@ __export(src_exports, {
|
|
|
851
852
|
SEED_SYSTEM_DATA_ACTOR_SYSTEM: () => SEED_SYSTEM_DATA_ACTOR_SYSTEM,
|
|
852
853
|
SEED_SYSTEM_DATA_CONSUMER_NAME: () => SEED_SYSTEM_DATA_CONSUMER_NAME,
|
|
853
854
|
SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR: () => SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR,
|
|
855
|
+
SSM_PARAM_NAME_FULL_DOMAIN: () => SSM_PARAM_NAME_FULL_DOMAIN,
|
|
854
856
|
STATIC_HOSTING_SERVICE_TYPE: () => STATIC_HOSTING_SERVICE_TYPE,
|
|
855
857
|
SeedDemoDataLambda: () => SeedDemoDataLambda,
|
|
856
858
|
SeedDemoDataWorkflow: () => SeedDemoDataWorkflow,
|
|
857
859
|
SeedSystemDataLambda: () => SeedSystemDataLambda,
|
|
858
860
|
SeedSystemDataWorkflow: () => SeedSystemDataWorkflow,
|
|
861
|
+
StaticContent: () => StaticContent,
|
|
859
862
|
StaticHosting: () => StaticHosting,
|
|
860
863
|
USER_ONBOARDING_EVENT_SOURCE: () => USER_ONBOARDING_EVENT_SOURCE,
|
|
861
864
|
UserOnboardingWorkflow: () => UserOnboardingWorkflow,
|
|
@@ -2019,7 +2022,9 @@ var WorkflowDedupConsumerNameInvalidError = class extends Error {
|
|
|
2019
2022
|
};
|
|
2020
2023
|
|
|
2021
2024
|
// src/components/event-bridge/data-event-bus.ts
|
|
2025
|
+
var import_aws_cdk_lib8 = require("aws-cdk-lib");
|
|
2022
2026
|
var import_aws_events = require("aws-cdk-lib/aws-events");
|
|
2027
|
+
var DEFAULT_ARCHIVE_RETENTION = import_aws_cdk_lib8.Duration.days(7);
|
|
2023
2028
|
var DataEventBus = class _DataEventBus extends import_aws_events.EventBus {
|
|
2024
2029
|
/*****************************************************************************
|
|
2025
2030
|
*
|
|
@@ -2032,11 +2037,19 @@ var DataEventBus = class _DataEventBus extends import_aws_events.EventBus {
|
|
|
2032
2037
|
const stack = OpenHiService.of(scope);
|
|
2033
2038
|
return `datav1${stack.branchHash}`;
|
|
2034
2039
|
}
|
|
2035
|
-
constructor(scope, props) {
|
|
2040
|
+
constructor(scope, props = void 0) {
|
|
2041
|
+
const { archiveRetention, ...busProps } = props ?? {};
|
|
2036
2042
|
super(scope, "data-event-bus-v1", {
|
|
2037
|
-
...
|
|
2043
|
+
...busProps,
|
|
2038
2044
|
eventBusName: _DataEventBus.getEventBusName(scope)
|
|
2039
2045
|
});
|
|
2046
|
+
this.replayArchive = new import_aws_events.Archive(this, "Archive", {
|
|
2047
|
+
sourceEventBus: this,
|
|
2048
|
+
archiveName: `${_DataEventBus.getEventBusName(scope)}-archive`,
|
|
2049
|
+
description: "Replay archive for the OpenHI data event bus (data-store change notifications).",
|
|
2050
|
+
eventPattern: { account: [import_aws_cdk_lib8.Stack.of(this).account] },
|
|
2051
|
+
retention: archiveRetention ?? DEFAULT_ARCHIVE_RETENTION
|
|
2052
|
+
});
|
|
2040
2053
|
}
|
|
2041
2054
|
};
|
|
2042
2055
|
|
|
@@ -2087,7 +2100,7 @@ var ControlEventBus = class _ControlEventBus extends import_aws_events3.EventBus
|
|
|
2087
2100
|
// src/components/postgres/data-store-postgres-replica.ts
|
|
2088
2101
|
var import_node_fs5 = __toESM(require("fs"));
|
|
2089
2102
|
var import_node_path5 = __toESM(require("path"));
|
|
2090
|
-
var
|
|
2103
|
+
var import_aws_cdk_lib9 = require("aws-cdk-lib");
|
|
2091
2104
|
var ec2 = __toESM(require("aws-cdk-lib/aws-ec2"));
|
|
2092
2105
|
var import_aws_lambda5 = require("aws-cdk-lib/aws-lambda");
|
|
2093
2106
|
var import_aws_lambda_event_sources = require("aws-cdk-lib/aws-lambda-event-sources");
|
|
@@ -2153,7 +2166,7 @@ var DataStorePostgresReplica = class extends import_constructs6.Construct {
|
|
|
2153
2166
|
super(scope, id);
|
|
2154
2167
|
this.databaseName = props.databaseName ?? DEFAULT_DATABASE_NAME;
|
|
2155
2168
|
this.schemaName = getPostgresReplicaSchemaName(props.branchHash);
|
|
2156
|
-
const region =
|
|
2169
|
+
const region = import_aws_cdk_lib9.Stack.of(this).region;
|
|
2157
2170
|
this.vpc = props.vpc ?? new ec2.Vpc(this, "Vpc", {
|
|
2158
2171
|
availabilityZones: [`${region}a`, `${region}b`],
|
|
2159
2172
|
natGateways: 0,
|
|
@@ -2189,7 +2202,7 @@ var DataStorePostgresReplica = class extends import_constructs6.Construct {
|
|
|
2189
2202
|
entry: resolveHandlerEntry5(__dirname),
|
|
2190
2203
|
runtime: import_aws_lambda5.Runtime.NODEJS_LATEST,
|
|
2191
2204
|
memorySize: 512,
|
|
2192
|
-
timeout:
|
|
2205
|
+
timeout: import_aws_cdk_lib9.Duration.minutes(1),
|
|
2193
2206
|
vpc: this.vpc,
|
|
2194
2207
|
vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_ISOLATED },
|
|
2195
2208
|
description: "Replicates DynamoDB current-resource changes into the Postgres `resources` JSONB table (ADR 2026-04-17-01).",
|
|
@@ -2216,7 +2229,7 @@ var DataStorePostgresReplica = class extends import_constructs6.Construct {
|
|
|
2216
2229
|
new import_aws_lambda_event_sources.KinesisEventSource(props.kinesisStream, {
|
|
2217
2230
|
startingPosition: import_aws_lambda5.StartingPosition.LATEST,
|
|
2218
2231
|
batchSize: 100,
|
|
2219
|
-
maxBatchingWindow:
|
|
2232
|
+
maxBatchingWindow: import_aws_cdk_lib9.Duration.seconds(5),
|
|
2220
2233
|
retryAttempts: 10,
|
|
2221
2234
|
bisectBatchOnError: true,
|
|
2222
2235
|
parallelizationFactor: 2,
|
|
@@ -2249,7 +2262,7 @@ var DataStorePostgresReplica = class extends import_constructs6.Construct {
|
|
|
2249
2262
|
};
|
|
2250
2263
|
|
|
2251
2264
|
// src/components/route-53/child-hosted-zone.ts
|
|
2252
|
-
var
|
|
2265
|
+
var import_aws_cdk_lib10 = require("aws-cdk-lib");
|
|
2253
2266
|
var import_aws_route53 = require("aws-cdk-lib/aws-route53");
|
|
2254
2267
|
var ChildHostedZone = class extends import_aws_route53.HostedZone {
|
|
2255
2268
|
constructor(scope, id, props) {
|
|
@@ -2258,7 +2271,7 @@ var ChildHostedZone = class extends import_aws_route53.HostedZone {
|
|
|
2258
2271
|
zone: props.parentHostedZone,
|
|
2259
2272
|
recordName: this.zoneName,
|
|
2260
2273
|
values: this.hostedZoneNameServers || [],
|
|
2261
|
-
ttl:
|
|
2274
|
+
ttl: import_aws_cdk_lib10.Duration.minutes(5)
|
|
2262
2275
|
});
|
|
2263
2276
|
}
|
|
2264
2277
|
};
|
|
@@ -2272,11 +2285,24 @@ var import_constructs7 = require("constructs");
|
|
|
2272
2285
|
var RootHostedZone = class extends import_constructs7.Construct {
|
|
2273
2286
|
};
|
|
2274
2287
|
|
|
2288
|
+
// src/components/static-hosting/static-content.ts
|
|
2289
|
+
var import_aws_s32 = require("aws-cdk-lib/aws-s3");
|
|
2290
|
+
var import_aws_s3_deployment = require("aws-cdk-lib/aws-s3-deployment");
|
|
2291
|
+
var import_change_case2 = require("change-case");
|
|
2292
|
+
var import_constructs9 = require("constructs");
|
|
2293
|
+
|
|
2275
2294
|
// src/components/static-hosting/static-hosting.ts
|
|
2295
|
+
var fs6 = __toESM(require("fs"));
|
|
2296
|
+
var path6 = __toESM(require("path"));
|
|
2297
|
+
var import_aws_cdk_lib11 = require("aws-cdk-lib");
|
|
2276
2298
|
var import_aws_cloudfront = require("aws-cdk-lib/aws-cloudfront");
|
|
2277
2299
|
var import_aws_cloudfront_origins = require("aws-cdk-lib/aws-cloudfront-origins");
|
|
2300
|
+
var import_aws_lambda6 = require("aws-cdk-lib/aws-lambda");
|
|
2301
|
+
var import_aws_lambda_nodejs6 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
2302
|
+
var import_aws_logs = require("aws-cdk-lib/aws-logs");
|
|
2303
|
+
var import_aws_route532 = require("aws-cdk-lib/aws-route53");
|
|
2304
|
+
var import_aws_route53_targets = require("aws-cdk-lib/aws-route53-targets");
|
|
2278
2305
|
var import_aws_s3 = require("aws-cdk-lib/aws-s3");
|
|
2279
|
-
var import_core = require("aws-cdk-lib/core");
|
|
2280
2306
|
var import_constructs8 = require("constructs");
|
|
2281
2307
|
var STATIC_HOSTING_SERVICE_TYPE = "website";
|
|
2282
2308
|
var _StaticHosting = class _StaticHosting extends import_constructs8.Construct {
|
|
@@ -2284,6 +2310,7 @@ var _StaticHosting = class _StaticHosting extends import_constructs8.Construct {
|
|
|
2284
2310
|
super(scope, id);
|
|
2285
2311
|
const stack = OpenHiService.of(scope);
|
|
2286
2312
|
const serviceType = props.serviceType ?? STATIC_HOSTING_SERVICE_TYPE;
|
|
2313
|
+
const hostingMode = props.hostingMode ?? "spa";
|
|
2287
2314
|
this.bucket = new import_aws_s3.Bucket(this, "bucket", {
|
|
2288
2315
|
blockPublicAccess: {
|
|
2289
2316
|
blockPublicAcls: true,
|
|
@@ -2293,30 +2320,105 @@ var _StaticHosting = class _StaticHosting extends import_constructs8.Construct {
|
|
|
2293
2320
|
},
|
|
2294
2321
|
...props.bucketProps
|
|
2295
2322
|
});
|
|
2296
|
-
const
|
|
2323
|
+
const handlerJs = path6.join(
|
|
2324
|
+
__dirname,
|
|
2325
|
+
"static-hosting.viewer-request-handler.js"
|
|
2326
|
+
);
|
|
2327
|
+
const handlerTs = path6.join(
|
|
2328
|
+
__dirname,
|
|
2329
|
+
"static-hosting.viewer-request-handler.ts"
|
|
2330
|
+
);
|
|
2331
|
+
const handlerEntry = fs6.existsSync(handlerJs) ? handlerJs : handlerTs;
|
|
2332
|
+
this.viewerRequestHandler = new import_aws_lambda_nodejs6.NodejsFunction(
|
|
2333
|
+
this,
|
|
2334
|
+
"viewer-request-handler",
|
|
2335
|
+
{
|
|
2336
|
+
entry: handlerEntry,
|
|
2337
|
+
handler: hostingMode === "static" ? "staticHandler" : "spaHandler",
|
|
2338
|
+
memorySize: 128,
|
|
2339
|
+
runtime: import_aws_lambda6.Runtime.NODEJS_LATEST,
|
|
2340
|
+
logGroup: new import_aws_logs.LogGroup(this, "viewer-request-handler-log-group", {
|
|
2341
|
+
retention: import_aws_logs.RetentionDays.ONE_MONTH
|
|
2342
|
+
})
|
|
2343
|
+
}
|
|
2344
|
+
);
|
|
2297
2345
|
const cachePolicy = new import_aws_cloudfront.CachePolicy(this, "cache-policy", {
|
|
2298
|
-
cachePolicyName: `static-hosting
|
|
2299
|
-
comment: "
|
|
2300
|
-
defaultTtl:
|
|
2301
|
-
minTtl:
|
|
2302
|
-
maxTtl:
|
|
2346
|
+
cachePolicyName: `static-hosting-${stack.branchHash}`,
|
|
2347
|
+
comment: "Static hosting default: 60s default / 300s max, gzip+brotli.",
|
|
2348
|
+
defaultTtl: import_aws_cdk_lib11.Duration.seconds(60),
|
|
2349
|
+
minTtl: import_aws_cdk_lib11.Duration.seconds(0),
|
|
2350
|
+
maxTtl: import_aws_cdk_lib11.Duration.seconds(300),
|
|
2351
|
+
headerBehavior: import_aws_cloudfront.CacheHeaderBehavior.none(),
|
|
2352
|
+
queryStringBehavior: import_aws_cloudfront.CacheQueryStringBehavior.none(),
|
|
2353
|
+
cookieBehavior: import_aws_cloudfront.CacheCookieBehavior.none(),
|
|
2354
|
+
enableAcceptEncodingGzip: true,
|
|
2355
|
+
enableAcceptEncodingBrotli: true,
|
|
2356
|
+
...props.cachePolicyProps
|
|
2357
|
+
});
|
|
2358
|
+
const oac = new import_aws_cloudfront.S3OriginAccessControl(this, "origin-access-control", {
|
|
2359
|
+
signing: import_aws_cloudfront.Signing.SIGV4_NO_OVERRIDE
|
|
2303
2360
|
});
|
|
2361
|
+
const origin = import_aws_cloudfront_origins.S3BucketOrigin.withOriginAccessControl(this.bucket, {
|
|
2362
|
+
originAccessControl: oac,
|
|
2363
|
+
originAccessLevels: [import_aws_cloudfront.AccessLevel.READ]
|
|
2364
|
+
});
|
|
2365
|
+
const hasCustomDomain = props.certificate !== void 0 && props.hostedZone !== void 0 && props.domainNames !== void 0 && props.domainNames.length > 0;
|
|
2304
2366
|
this.distribution = new import_aws_cloudfront.Distribution(this, "distribution", {
|
|
2367
|
+
comment: `Static hosting distribution for ${props.description ?? id}`,
|
|
2368
|
+
...hasCustomDomain ? {
|
|
2369
|
+
certificate: props.certificate,
|
|
2370
|
+
domainNames: [...props.domainNames]
|
|
2371
|
+
} : {},
|
|
2372
|
+
defaultRootObject: "index.html",
|
|
2305
2373
|
defaultBehavior: {
|
|
2306
2374
|
origin,
|
|
2307
|
-
|
|
2375
|
+
viewerProtocolPolicy: import_aws_cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
|
|
2376
|
+
cachePolicy,
|
|
2377
|
+
allowedMethods: import_aws_cloudfront.AllowedMethods.ALLOW_GET_HEAD_OPTIONS,
|
|
2378
|
+
edgeLambdas: [
|
|
2379
|
+
{
|
|
2380
|
+
functionVersion: this.viewerRequestHandler.currentVersion,
|
|
2381
|
+
eventType: import_aws_cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,
|
|
2382
|
+
includeBody: false
|
|
2383
|
+
}
|
|
2384
|
+
]
|
|
2308
2385
|
},
|
|
2309
2386
|
...props.distributionProps
|
|
2310
2387
|
});
|
|
2388
|
+
if (hasCustomDomain) {
|
|
2389
|
+
props.domainNames.forEach((domainName, index) => {
|
|
2390
|
+
new import_aws_route532.ARecord(this, `dns-record-${index}`, {
|
|
2391
|
+
zone: props.hostedZone,
|
|
2392
|
+
recordName: domainName,
|
|
2393
|
+
target: import_aws_route532.RecordTarget.fromAlias(
|
|
2394
|
+
new import_aws_route53_targets.CloudFrontTarget(this.distribution)
|
|
2395
|
+
)
|
|
2396
|
+
});
|
|
2397
|
+
});
|
|
2398
|
+
}
|
|
2311
2399
|
new DiscoverableStringParameter(this, "bucket-arn-param", {
|
|
2312
2400
|
ssmParamName: _StaticHosting.SSM_PARAM_NAME_BUCKET_ARN,
|
|
2313
2401
|
serviceType,
|
|
2314
|
-
stringValue: this.bucket.bucketArn
|
|
2402
|
+
stringValue: this.bucket.bucketArn,
|
|
2403
|
+
description: `Static hosting bucket ARN (${props.description ?? id})`
|
|
2315
2404
|
});
|
|
2316
2405
|
new DiscoverableStringParameter(this, "distribution-arn-param", {
|
|
2317
2406
|
ssmParamName: _StaticHosting.SSM_PARAM_NAME_DISTRIBUTION_ARN,
|
|
2318
2407
|
serviceType,
|
|
2319
|
-
stringValue: this.distribution.distributionArn
|
|
2408
|
+
stringValue: this.distribution.distributionArn,
|
|
2409
|
+
description: `Static hosting distribution ARN (${props.description ?? id})`
|
|
2410
|
+
});
|
|
2411
|
+
new DiscoverableStringParameter(this, "distribution-domain-param", {
|
|
2412
|
+
ssmParamName: _StaticHosting.SSM_PARAM_NAME_DISTRIBUTION_DOMAIN,
|
|
2413
|
+
serviceType,
|
|
2414
|
+
stringValue: this.distribution.domainName,
|
|
2415
|
+
description: `Static hosting distribution domain (${props.description ?? id})`
|
|
2416
|
+
});
|
|
2417
|
+
new DiscoverableStringParameter(this, "distribution-id-param", {
|
|
2418
|
+
ssmParamName: _StaticHosting.SSM_PARAM_NAME_DISTRIBUTION_ID,
|
|
2419
|
+
serviceType,
|
|
2420
|
+
stringValue: this.distribution.distributionId,
|
|
2421
|
+
description: `Static hosting distribution ID (${props.description ?? id})`
|
|
2320
2422
|
});
|
|
2321
2423
|
}
|
|
2322
2424
|
};
|
|
@@ -2328,13 +2430,51 @@ _StaticHosting.SSM_PARAM_NAME_BUCKET_ARN = "STATIC_HOSTING_BUCKET_ARN";
|
|
|
2328
2430
|
* SSM parameter name for the CloudFront distribution ARN.
|
|
2329
2431
|
*/
|
|
2330
2432
|
_StaticHosting.SSM_PARAM_NAME_DISTRIBUTION_ARN = "STATIC_HOSTING_DISTRIBUTION_ARN";
|
|
2433
|
+
/**
|
|
2434
|
+
* SSM parameter name for the CloudFront distribution domain
|
|
2435
|
+
* (e.g. dXXXXX.cloudfront.net).
|
|
2436
|
+
*/
|
|
2437
|
+
_StaticHosting.SSM_PARAM_NAME_DISTRIBUTION_DOMAIN = "STATIC_HOSTING_DISTRIBUTION_DOMAIN";
|
|
2438
|
+
/**
|
|
2439
|
+
* SSM parameter name for the CloudFront distribution ID.
|
|
2440
|
+
*/
|
|
2441
|
+
_StaticHosting.SSM_PARAM_NAME_DISTRIBUTION_ID = "STATIC_HOSTING_DISTRIBUTION_ID";
|
|
2331
2442
|
var StaticHosting = _StaticHosting;
|
|
2332
2443
|
|
|
2444
|
+
// src/components/static-hosting/static-content.ts
|
|
2445
|
+
var StaticContent = class extends import_constructs9.Construct {
|
|
2446
|
+
constructor(scope, id, props) {
|
|
2447
|
+
super(scope, id);
|
|
2448
|
+
const stack = OpenHiService.of(scope);
|
|
2449
|
+
const {
|
|
2450
|
+
contentSourceDirectory,
|
|
2451
|
+
contentDestinationDirectory = "/",
|
|
2452
|
+
subDomain = stack.branchName,
|
|
2453
|
+
fullDomain,
|
|
2454
|
+
serviceType = STATIC_HOSTING_SERVICE_TYPE
|
|
2455
|
+
} = props;
|
|
2456
|
+
const keyPrefix = [(0, import_change_case2.paramCase)(subDomain), fullDomain].join(".");
|
|
2457
|
+
const bucketArn = DiscoverableStringParameter.valueForLookupName(this, {
|
|
2458
|
+
ssmParamName: StaticHosting.SSM_PARAM_NAME_BUCKET_ARN,
|
|
2459
|
+
serviceType
|
|
2460
|
+
});
|
|
2461
|
+
const bucket = import_aws_s32.Bucket.fromBucketArn(this, "bucket", bucketArn);
|
|
2462
|
+
const isTestEnv = process.env.JEST_WORKER_ID !== void 0;
|
|
2463
|
+
const sources = isTestEnv ? [] : [import_aws_s3_deployment.Source.asset(contentSourceDirectory)];
|
|
2464
|
+
new import_aws_s3_deployment.BucketDeployment(this, "deploy", {
|
|
2465
|
+
sources,
|
|
2466
|
+
destinationBucket: bucket,
|
|
2467
|
+
retainOnDelete: false,
|
|
2468
|
+
destinationKeyPrefix: `${keyPrefix}${contentDestinationDirectory}`
|
|
2469
|
+
});
|
|
2470
|
+
}
|
|
2471
|
+
};
|
|
2472
|
+
|
|
2333
2473
|
// src/services/open-hi-auth-service.ts
|
|
2334
2474
|
var import_aws_cognito4 = require("aws-cdk-lib/aws-cognito");
|
|
2335
2475
|
var import_aws_iam6 = require("aws-cdk-lib/aws-iam");
|
|
2336
2476
|
var import_aws_kms2 = require("aws-cdk-lib/aws-kms");
|
|
2337
|
-
var
|
|
2477
|
+
var import_core = require("aws-cdk-lib/core");
|
|
2338
2478
|
|
|
2339
2479
|
// src/services/open-hi-data-service.ts
|
|
2340
2480
|
var import_config4 = __toESM(require_lib());
|
|
@@ -2344,7 +2484,7 @@ var kinesis = __toESM(require("aws-cdk-lib/aws-kinesis"));
|
|
|
2344
2484
|
// src/services/open-hi-global-service.ts
|
|
2345
2485
|
var import_aws_certificatemanager2 = require("aws-cdk-lib/aws-certificatemanager");
|
|
2346
2486
|
var import_aws_events5 = require("aws-cdk-lib/aws-events");
|
|
2347
|
-
var
|
|
2487
|
+
var import_aws_route533 = require("aws-cdk-lib/aws-route53");
|
|
2348
2488
|
var import_aws_ssm3 = require("aws-cdk-lib/aws-ssm");
|
|
2349
2489
|
|
|
2350
2490
|
// src/workflows/control-plane/platform-deploy-bridge/events.ts
|
|
@@ -2357,18 +2497,18 @@ var OPENHI_TAG_KEY_PREFIX_ENV_VAR = "OPENHI_TAG_KEY_PREFIX";
|
|
|
2357
2497
|
var PLATFORM_DEPLOY_BRIDGE_ACTOR_SYSTEM = "platform-deploy-bridge";
|
|
2358
2498
|
|
|
2359
2499
|
// src/workflows/control-plane/platform-deploy-bridge/platform-deploy-bridge.ts
|
|
2360
|
-
var
|
|
2500
|
+
var import_constructs11 = require("constructs");
|
|
2361
2501
|
|
|
2362
2502
|
// src/workflows/control-plane/platform-deploy-bridge/platform-deploy-bridge-lambda.ts
|
|
2363
2503
|
var import_node_fs6 = __toESM(require("fs"));
|
|
2364
2504
|
var import_node_path6 = __toESM(require("path"));
|
|
2365
|
-
var
|
|
2505
|
+
var import_aws_cdk_lib12 = require("aws-cdk-lib");
|
|
2366
2506
|
var import_aws_events4 = require("aws-cdk-lib/aws-events");
|
|
2367
2507
|
var import_aws_events_targets = require("aws-cdk-lib/aws-events-targets");
|
|
2368
2508
|
var import_aws_iam2 = require("aws-cdk-lib/aws-iam");
|
|
2369
|
-
var
|
|
2370
|
-
var
|
|
2371
|
-
var
|
|
2509
|
+
var import_aws_lambda7 = require("aws-cdk-lib/aws-lambda");
|
|
2510
|
+
var import_aws_lambda_nodejs7 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
2511
|
+
var import_constructs10 = require("constructs");
|
|
2372
2512
|
var HANDLER_NAME6 = "platform-deploy-bridge.handler.js";
|
|
2373
2513
|
function resolveHandlerEntry6(dirname) {
|
|
2374
2514
|
const sameDir = import_node_path6.default.join(dirname, HANDLER_NAME6);
|
|
@@ -2377,7 +2517,7 @@ function resolveHandlerEntry6(dirname) {
|
|
|
2377
2517
|
}
|
|
2378
2518
|
return import_node_path6.default.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME6);
|
|
2379
2519
|
}
|
|
2380
|
-
var PlatformDeployBridgeLambda = class extends
|
|
2520
|
+
var PlatformDeployBridgeLambda = class extends import_constructs10.Construct {
|
|
2381
2521
|
constructor(scope, props) {
|
|
2382
2522
|
super(scope, "platform-deploy-bridge-lambda");
|
|
2383
2523
|
const service = OpenHiService.of(this);
|
|
@@ -2386,15 +2526,15 @@ var PlatformDeployBridgeLambda = class extends import_constructs9.Construct {
|
|
|
2386
2526
|
OPENHI_TAG_SUFFIX_REPO_NAME
|
|
2387
2527
|
);
|
|
2388
2528
|
const tagKeyPrefix = `${service.appName}:`;
|
|
2389
|
-
const ownStackName =
|
|
2390
|
-
const ownSuffix = `-${service.serviceId}-${
|
|
2529
|
+
const ownStackName = import_aws_cdk_lib12.Stack.of(this).stackName;
|
|
2530
|
+
const ownSuffix = `-${service.serviceId}-${import_aws_cdk_lib12.Stack.of(this).account}-${import_aws_cdk_lib12.Stack.of(this).region}`;
|
|
2391
2531
|
const sharedPrefix = ownStackName.endsWith(ownSuffix) ? ownStackName.slice(0, -ownSuffix.length) : service.branchHash;
|
|
2392
|
-
const stackIdPrefix = `arn:aws:cloudformation:${
|
|
2393
|
-
this.lambda = new
|
|
2532
|
+
const stackIdPrefix = `arn:aws:cloudformation:${import_aws_cdk_lib12.Stack.of(this).region}:${import_aws_cdk_lib12.Stack.of(this).account}:stack/${sharedPrefix}-`;
|
|
2533
|
+
this.lambda = new import_aws_lambda_nodejs7.NodejsFunction(this, "handler", {
|
|
2394
2534
|
entry: resolveHandlerEntry6(__dirname),
|
|
2395
|
-
runtime:
|
|
2535
|
+
runtime: import_aws_lambda7.Runtime.NODEJS_LATEST,
|
|
2396
2536
|
memorySize: 256,
|
|
2397
|
-
timeout:
|
|
2537
|
+
timeout: import_aws_cdk_lib12.Duration.seconds(30),
|
|
2398
2538
|
environment: {
|
|
2399
2539
|
[CONTROL_EVENT_BUS_NAME_ENV_VAR]: props.controlEventBus.eventBusName,
|
|
2400
2540
|
[OPENHI_REPO_TAG_KEY_ENV_VAR]: repoTagKey,
|
|
@@ -2406,7 +2546,7 @@ var PlatformDeployBridgeLambda = class extends import_constructs9.Construct {
|
|
|
2406
2546
|
effect: import_aws_iam2.Effect.ALLOW,
|
|
2407
2547
|
actions: ["cloudformation:DescribeStacks"],
|
|
2408
2548
|
resources: [
|
|
2409
|
-
`arn:aws:cloudformation:${
|
|
2549
|
+
`arn:aws:cloudformation:${import_aws_cdk_lib12.Stack.of(this).region}:${import_aws_cdk_lib12.Stack.of(this).account}:stack/*`
|
|
2410
2550
|
]
|
|
2411
2551
|
})
|
|
2412
2552
|
);
|
|
@@ -2425,7 +2565,7 @@ var PlatformDeployBridgeLambda = class extends import_constructs9.Construct {
|
|
|
2425
2565
|
targets: [
|
|
2426
2566
|
new import_aws_events_targets.LambdaFunction(this.lambda, {
|
|
2427
2567
|
retryAttempts: 2,
|
|
2428
|
-
maxEventAge:
|
|
2568
|
+
maxEventAge: import_aws_cdk_lib12.Duration.hours(2)
|
|
2429
2569
|
})
|
|
2430
2570
|
]
|
|
2431
2571
|
});
|
|
@@ -2433,7 +2573,7 @@ var PlatformDeployBridgeLambda = class extends import_constructs9.Construct {
|
|
|
2433
2573
|
};
|
|
2434
2574
|
|
|
2435
2575
|
// src/workflows/control-plane/platform-deploy-bridge/platform-deploy-bridge.ts
|
|
2436
|
-
var PlatformDeployBridge = class extends
|
|
2576
|
+
var PlatformDeployBridge = class extends import_constructs11.Construct {
|
|
2437
2577
|
constructor(scope, props) {
|
|
2438
2578
|
super(scope, "platform-deploy-bridge");
|
|
2439
2579
|
this.bridgeLambda = new PlatformDeployBridgeLambda(this, {
|
|
@@ -2448,7 +2588,7 @@ var _OpenHiGlobalService = class _OpenHiGlobalService extends OpenHiService {
|
|
|
2448
2588
|
* Returns an IHostedZone from the given attributes (no SSM). Use when the zone is imported from config.
|
|
2449
2589
|
*/
|
|
2450
2590
|
static rootHostedZoneFromConstruct(scope, props) {
|
|
2451
|
-
return
|
|
2591
|
+
return import_aws_route533.HostedZone.fromHostedZoneAttributes(scope, "root-zone", props);
|
|
2452
2592
|
}
|
|
2453
2593
|
/**
|
|
2454
2594
|
* Returns an ICertificate by looking up the Global stack's wildcard cert ARN from SSM.
|
|
@@ -2472,7 +2612,7 @@ var _OpenHiGlobalService = class _OpenHiGlobalService extends OpenHiService {
|
|
|
2472
2612
|
ssmParamName: ChildHostedZone.SSM_PARAM_NAME,
|
|
2473
2613
|
serviceType: props.serviceType ?? _OpenHiGlobalService.SERVICE_TYPE
|
|
2474
2614
|
});
|
|
2475
|
-
return
|
|
2615
|
+
return import_aws_route533.HostedZone.fromHostedZoneAttributes(scope, "child-zone", {
|
|
2476
2616
|
hostedZoneId,
|
|
2477
2617
|
zoneName: props.zoneName
|
|
2478
2618
|
});
|
|
@@ -3138,13 +3278,13 @@ _validateFixturesAgainstTenantSpecs();
|
|
|
3138
3278
|
// src/workflows/control-plane/seed-demo-data/seed-demo-data-lambda.ts
|
|
3139
3279
|
var import_node_fs7 = __toESM(require("fs"));
|
|
3140
3280
|
var import_node_path7 = __toESM(require("path"));
|
|
3141
|
-
var
|
|
3281
|
+
var import_aws_cdk_lib13 = require("aws-cdk-lib");
|
|
3142
3282
|
var import_aws_events6 = require("aws-cdk-lib/aws-events");
|
|
3143
3283
|
var import_aws_events_targets2 = require("aws-cdk-lib/aws-events-targets");
|
|
3144
3284
|
var import_aws_iam3 = require("aws-cdk-lib/aws-iam");
|
|
3145
|
-
var
|
|
3146
|
-
var
|
|
3147
|
-
var
|
|
3285
|
+
var import_aws_lambda8 = require("aws-cdk-lib/aws-lambda");
|
|
3286
|
+
var import_aws_lambda_nodejs8 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
3287
|
+
var import_constructs12 = require("constructs");
|
|
3148
3288
|
|
|
3149
3289
|
// src/workflows/control-plane/seed-demo-data/seed-demo-data.handler.ts
|
|
3150
3290
|
var import_node_crypto = require("crypto");
|
|
@@ -6025,14 +6165,14 @@ function resolveHandlerEntry7(dirname) {
|
|
|
6025
6165
|
}
|
|
6026
6166
|
return import_node_path7.default.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME7);
|
|
6027
6167
|
}
|
|
6028
|
-
var SeedDemoDataLambda = class extends
|
|
6168
|
+
var SeedDemoDataLambda = class extends import_constructs12.Construct {
|
|
6029
6169
|
constructor(scope, props) {
|
|
6030
6170
|
super(scope, "seed-demo-data-lambda");
|
|
6031
|
-
this.lambda = new
|
|
6171
|
+
this.lambda = new import_aws_lambda_nodejs8.NodejsFunction(this, "handler", {
|
|
6032
6172
|
entry: resolveHandlerEntry7(__dirname),
|
|
6033
|
-
runtime:
|
|
6173
|
+
runtime: import_aws_lambda8.Runtime.NODEJS_LATEST,
|
|
6034
6174
|
memorySize: 512,
|
|
6035
|
-
timeout:
|
|
6175
|
+
timeout: import_aws_cdk_lib13.Duration.minutes(2),
|
|
6036
6176
|
environment: {
|
|
6037
6177
|
DYNAMO_TABLE_NAME: props.dataStoreTable.tableName,
|
|
6038
6178
|
[SEED_DEMO_DATA_USER_POOL_ID_ENV_VAR]: props.userPool.userPoolId
|
|
@@ -6061,7 +6201,7 @@ var SeedDemoDataLambda = class extends import_constructs11.Construct {
|
|
|
6061
6201
|
"cognito-idp:AdminSetUserPassword"
|
|
6062
6202
|
],
|
|
6063
6203
|
resources: [
|
|
6064
|
-
|
|
6204
|
+
import_aws_cdk_lib13.Stack.of(this).formatArn({
|
|
6065
6205
|
service: "cognito-idp",
|
|
6066
6206
|
resource: "userpool",
|
|
6067
6207
|
resourceName: props.userPool.userPoolId
|
|
@@ -6078,7 +6218,7 @@ var SeedDemoDataLambda = class extends import_constructs11.Construct {
|
|
|
6078
6218
|
targets: [
|
|
6079
6219
|
new import_aws_events_targets2.LambdaFunction(this.lambda, {
|
|
6080
6220
|
retryAttempts: 2,
|
|
6081
|
-
maxEventAge:
|
|
6221
|
+
maxEventAge: import_aws_cdk_lib13.Duration.hours(2)
|
|
6082
6222
|
})
|
|
6083
6223
|
]
|
|
6084
6224
|
});
|
|
@@ -6086,8 +6226,8 @@ var SeedDemoDataLambda = class extends import_constructs11.Construct {
|
|
|
6086
6226
|
};
|
|
6087
6227
|
|
|
6088
6228
|
// src/workflows/control-plane/seed-demo-data/seed-demo-data-workflow.ts
|
|
6089
|
-
var
|
|
6090
|
-
var SeedDemoDataWorkflow = class extends
|
|
6229
|
+
var import_constructs13 = require("constructs");
|
|
6230
|
+
var SeedDemoDataWorkflow = class extends import_constructs13.Construct {
|
|
6091
6231
|
constructor(scope, props) {
|
|
6092
6232
|
super(scope, "seed-demo-data-workflow");
|
|
6093
6233
|
this.seedDemoData = new SeedDemoDataLambda(this, {
|
|
@@ -6113,13 +6253,13 @@ var SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR = "CONTROL_EVENT_BUS_NAME";
|
|
|
6113
6253
|
var import_node_fs8 = __toESM(require("fs"));
|
|
6114
6254
|
var import_node_path8 = __toESM(require("path"));
|
|
6115
6255
|
var import_types13 = require("@openhi/types");
|
|
6116
|
-
var
|
|
6256
|
+
var import_aws_cdk_lib14 = require("aws-cdk-lib");
|
|
6117
6257
|
var import_aws_events7 = require("aws-cdk-lib/aws-events");
|
|
6118
6258
|
var import_aws_events_targets3 = require("aws-cdk-lib/aws-events-targets");
|
|
6119
6259
|
var import_aws_iam4 = require("aws-cdk-lib/aws-iam");
|
|
6120
|
-
var
|
|
6121
|
-
var
|
|
6122
|
-
var
|
|
6260
|
+
var import_aws_lambda9 = require("aws-cdk-lib/aws-lambda");
|
|
6261
|
+
var import_aws_lambda_nodejs9 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
6262
|
+
var import_constructs14 = require("constructs");
|
|
6123
6263
|
var HANDLER_NAME8 = "seed-system-data.handler.js";
|
|
6124
6264
|
function resolveHandlerEntry8(dirname) {
|
|
6125
6265
|
const sameDir = import_node_path8.default.join(dirname, HANDLER_NAME8);
|
|
@@ -6128,14 +6268,14 @@ function resolveHandlerEntry8(dirname) {
|
|
|
6128
6268
|
}
|
|
6129
6269
|
return import_node_path8.default.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME8);
|
|
6130
6270
|
}
|
|
6131
|
-
var SeedSystemDataLambda = class extends
|
|
6271
|
+
var SeedSystemDataLambda = class extends import_constructs14.Construct {
|
|
6132
6272
|
constructor(scope, props) {
|
|
6133
6273
|
super(scope, "seed-system-data-lambda");
|
|
6134
|
-
this.lambda = new
|
|
6274
|
+
this.lambda = new import_aws_lambda_nodejs9.NodejsFunction(this, "handler", {
|
|
6135
6275
|
entry: resolveHandlerEntry8(__dirname),
|
|
6136
|
-
runtime:
|
|
6276
|
+
runtime: import_aws_lambda9.Runtime.NODEJS_LATEST,
|
|
6137
6277
|
memorySize: 512,
|
|
6138
|
-
timeout:
|
|
6278
|
+
timeout: import_aws_cdk_lib14.Duration.minutes(1),
|
|
6139
6279
|
environment: {
|
|
6140
6280
|
DYNAMO_TABLE_NAME: props.dataStoreTable.tableName,
|
|
6141
6281
|
[SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR]: props.controlEventBus.eventBusName
|
|
@@ -6157,7 +6297,7 @@ var SeedSystemDataLambda = class extends import_constructs13.Construct {
|
|
|
6157
6297
|
})
|
|
6158
6298
|
);
|
|
6159
6299
|
props.controlEventBus.grantPutEventsTo(this.lambda);
|
|
6160
|
-
const hostStackName =
|
|
6300
|
+
const hostStackName = import_aws_cdk_lib14.Stack.of(this).stackName;
|
|
6161
6301
|
this.rule = new import_aws_events7.Rule(this, "rule", {
|
|
6162
6302
|
eventBus: props.controlEventBus,
|
|
6163
6303
|
eventPattern: {
|
|
@@ -6172,7 +6312,7 @@ var SeedSystemDataLambda = class extends import_constructs13.Construct {
|
|
|
6172
6312
|
targets: [
|
|
6173
6313
|
new import_aws_events_targets3.LambdaFunction(this.lambda, {
|
|
6174
6314
|
retryAttempts: 2,
|
|
6175
|
-
maxEventAge:
|
|
6315
|
+
maxEventAge: import_aws_cdk_lib14.Duration.hours(2)
|
|
6176
6316
|
})
|
|
6177
6317
|
]
|
|
6178
6318
|
});
|
|
@@ -6180,8 +6320,8 @@ var SeedSystemDataLambda = class extends import_constructs13.Construct {
|
|
|
6180
6320
|
};
|
|
6181
6321
|
|
|
6182
6322
|
// src/workflows/control-plane/seed-system-data/seed-system-data-workflow.ts
|
|
6183
|
-
var
|
|
6184
|
-
var SeedSystemDataWorkflow = class extends
|
|
6323
|
+
var import_constructs15 = require("constructs");
|
|
6324
|
+
var SeedSystemDataWorkflow = class extends import_constructs15.Construct {
|
|
6185
6325
|
constructor(scope, props) {
|
|
6186
6326
|
super(scope, "seed-system-data-workflow");
|
|
6187
6327
|
this.seedSystemData = new SeedSystemDataLambda(this, {
|
|
@@ -6334,13 +6474,13 @@ var buildProvisionDefaultWorkspaceRequestedDetail = (event) => {
|
|
|
6334
6474
|
// src/workflows/control-plane/user-onboarding/provision-default-workspace-lambda.ts
|
|
6335
6475
|
var import_node_fs9 = __toESM(require("fs"));
|
|
6336
6476
|
var import_node_path9 = __toESM(require("path"));
|
|
6337
|
-
var
|
|
6477
|
+
var import_aws_cdk_lib15 = require("aws-cdk-lib");
|
|
6338
6478
|
var import_aws_events8 = require("aws-cdk-lib/aws-events");
|
|
6339
6479
|
var import_aws_events_targets4 = require("aws-cdk-lib/aws-events-targets");
|
|
6340
6480
|
var import_aws_iam5 = require("aws-cdk-lib/aws-iam");
|
|
6341
|
-
var
|
|
6342
|
-
var
|
|
6343
|
-
var
|
|
6481
|
+
var import_aws_lambda10 = require("aws-cdk-lib/aws-lambda");
|
|
6482
|
+
var import_aws_lambda_nodejs10 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
6483
|
+
var import_constructs16 = require("constructs");
|
|
6344
6484
|
var HANDLER_NAME9 = "provision-default-workspace.handler.js";
|
|
6345
6485
|
function resolveHandlerEntry9(dirname) {
|
|
6346
6486
|
const sameDir = import_node_path9.default.join(dirname, HANDLER_NAME9);
|
|
@@ -6349,12 +6489,12 @@ function resolveHandlerEntry9(dirname) {
|
|
|
6349
6489
|
}
|
|
6350
6490
|
return import_node_path9.default.join(dirname, "..", "..", "..", "..", "lib", HANDLER_NAME9);
|
|
6351
6491
|
}
|
|
6352
|
-
var ProvisionDefaultWorkspaceLambda = class extends
|
|
6492
|
+
var ProvisionDefaultWorkspaceLambda = class extends import_constructs16.Construct {
|
|
6353
6493
|
constructor(scope, props) {
|
|
6354
6494
|
super(scope, "provision-default-workspace-lambda");
|
|
6355
|
-
this.lambda = new
|
|
6495
|
+
this.lambda = new import_aws_lambda_nodejs10.NodejsFunction(this, "handler", {
|
|
6356
6496
|
entry: resolveHandlerEntry9(__dirname),
|
|
6357
|
-
runtime:
|
|
6497
|
+
runtime: import_aws_lambda10.Runtime.NODEJS_LATEST,
|
|
6358
6498
|
memorySize: 1024,
|
|
6359
6499
|
environment: {
|
|
6360
6500
|
DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
|
|
@@ -6381,7 +6521,7 @@ var ProvisionDefaultWorkspaceLambda = class extends import_constructs15.Construc
|
|
|
6381
6521
|
targets: [
|
|
6382
6522
|
new import_aws_events_targets4.LambdaFunction(this.lambda, {
|
|
6383
6523
|
retryAttempts: 2,
|
|
6384
|
-
maxEventAge:
|
|
6524
|
+
maxEventAge: import_aws_cdk_lib15.Duration.hours(2)
|
|
6385
6525
|
})
|
|
6386
6526
|
]
|
|
6387
6527
|
});
|
|
@@ -6389,8 +6529,8 @@ var ProvisionDefaultWorkspaceLambda = class extends import_constructs15.Construc
|
|
|
6389
6529
|
};
|
|
6390
6530
|
|
|
6391
6531
|
// src/workflows/control-plane/user-onboarding/user-onboarding-workflow.ts
|
|
6392
|
-
var
|
|
6393
|
-
var UserOnboardingWorkflow = class extends
|
|
6532
|
+
var import_constructs17 = require("constructs");
|
|
6533
|
+
var UserOnboardingWorkflow = class extends import_constructs17.Construct {
|
|
6394
6534
|
constructor(scope, props) {
|
|
6395
6535
|
super(scope, "user-onboarding-workflow");
|
|
6396
6536
|
this.provisionDefaultWorkspace = new ProvisionDefaultWorkspaceLambda(this, {
|
|
@@ -6608,7 +6748,7 @@ var _OpenHiAuthService = class _OpenHiAuthService extends OpenHiService {
|
|
|
6608
6748
|
new import_aws_iam6.PolicyStatement({
|
|
6609
6749
|
actions: ["cognito-idp:AdminUserGlobalSignOut"],
|
|
6610
6750
|
resources: [
|
|
6611
|
-
|
|
6751
|
+
import_core.Stack.of(this).formatArn({
|
|
6612
6752
|
service: "cognito-idp",
|
|
6613
6753
|
resource: "userpool",
|
|
6614
6754
|
resourceName: "*"
|
|
@@ -6668,16 +6808,16 @@ var import_aws_apigatewayv22 = require("aws-cdk-lib/aws-apigatewayv2");
|
|
|
6668
6808
|
var import_aws_apigatewayv2_authorizers = require("aws-cdk-lib/aws-apigatewayv2-authorizers");
|
|
6669
6809
|
var import_aws_apigatewayv2_integrations = require("aws-cdk-lib/aws-apigatewayv2-integrations");
|
|
6670
6810
|
var import_aws_iam7 = require("aws-cdk-lib/aws-iam");
|
|
6671
|
-
var
|
|
6672
|
-
var
|
|
6673
|
-
var
|
|
6811
|
+
var import_aws_route534 = require("aws-cdk-lib/aws-route53");
|
|
6812
|
+
var import_aws_route53_targets2 = require("aws-cdk-lib/aws-route53-targets");
|
|
6813
|
+
var import_core2 = require("aws-cdk-lib/core");
|
|
6674
6814
|
|
|
6675
6815
|
// src/data/lambda/cors-options-lambda.ts
|
|
6676
6816
|
var import_node_fs10 = __toESM(require("fs"));
|
|
6677
6817
|
var import_node_path10 = __toESM(require("path"));
|
|
6678
|
-
var
|
|
6679
|
-
var
|
|
6680
|
-
var
|
|
6818
|
+
var import_aws_lambda11 = require("aws-cdk-lib/aws-lambda");
|
|
6819
|
+
var import_aws_lambda_nodejs11 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
6820
|
+
var import_constructs18 = require("constructs");
|
|
6681
6821
|
var HANDLER_NAME10 = "cors-options-lambda.handler.js";
|
|
6682
6822
|
function resolveHandlerEntry10(dirname) {
|
|
6683
6823
|
const sameDir = import_node_path10.default.join(dirname, HANDLER_NAME10);
|
|
@@ -6687,12 +6827,12 @@ function resolveHandlerEntry10(dirname) {
|
|
|
6687
6827
|
const fromLib = import_node_path10.default.join(dirname, "..", "..", "..", "lib", HANDLER_NAME10);
|
|
6688
6828
|
return fromLib;
|
|
6689
6829
|
}
|
|
6690
|
-
var CorsOptionsLambda = class extends
|
|
6830
|
+
var CorsOptionsLambda = class extends import_constructs18.Construct {
|
|
6691
6831
|
constructor(scope, id = "cors-options-lambda") {
|
|
6692
6832
|
super(scope, id);
|
|
6693
|
-
this.lambda = new
|
|
6833
|
+
this.lambda = new import_aws_lambda_nodejs11.NodejsFunction(this, "handler", {
|
|
6694
6834
|
entry: resolveHandlerEntry10(__dirname),
|
|
6695
|
-
runtime:
|
|
6835
|
+
runtime: import_aws_lambda11.Runtime.NODEJS_LATEST,
|
|
6696
6836
|
memorySize: 128
|
|
6697
6837
|
});
|
|
6698
6838
|
}
|
|
@@ -6701,9 +6841,9 @@ var CorsOptionsLambda = class extends import_constructs17.Construct {
|
|
|
6701
6841
|
// src/data/lambda/rest-api-lambda.ts
|
|
6702
6842
|
var import_node_fs11 = __toESM(require("fs"));
|
|
6703
6843
|
var import_node_path11 = __toESM(require("path"));
|
|
6704
|
-
var
|
|
6705
|
-
var
|
|
6706
|
-
var
|
|
6844
|
+
var import_aws_lambda12 = require("aws-cdk-lib/aws-lambda");
|
|
6845
|
+
var import_aws_lambda_nodejs12 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
6846
|
+
var import_constructs19 = require("constructs");
|
|
6707
6847
|
var HANDLER_NAME11 = "rest-api-lambda.handler.js";
|
|
6708
6848
|
function resolveHandlerEntry11(dirname) {
|
|
6709
6849
|
const sameDir = import_node_path11.default.join(dirname, HANDLER_NAME11);
|
|
@@ -6713,12 +6853,12 @@ function resolveHandlerEntry11(dirname) {
|
|
|
6713
6853
|
const fromLib = import_node_path11.default.join(dirname, "..", "..", "..", "lib", HANDLER_NAME11);
|
|
6714
6854
|
return fromLib;
|
|
6715
6855
|
}
|
|
6716
|
-
var RestApiLambda = class extends
|
|
6856
|
+
var RestApiLambda = class extends import_constructs19.Construct {
|
|
6717
6857
|
constructor(scope, props) {
|
|
6718
6858
|
super(scope, "rest-api-lambda");
|
|
6719
|
-
this.lambda = new
|
|
6859
|
+
this.lambda = new import_aws_lambda_nodejs12.NodejsFunction(this, "handler", {
|
|
6720
6860
|
entry: resolveHandlerEntry11(__dirname),
|
|
6721
|
-
runtime:
|
|
6861
|
+
runtime: import_aws_lambda12.Runtime.NODEJS_LATEST,
|
|
6722
6862
|
memorySize: 1024,
|
|
6723
6863
|
environment: {
|
|
6724
6864
|
DYNAMO_TABLE_NAME: props.dynamoTableName,
|
|
@@ -6796,7 +6936,7 @@ var _OpenHiRestApiService = class _OpenHiRestApiService extends OpenHiService {
|
|
|
6796
6936
|
*/
|
|
6797
6937
|
createHostedZone() {
|
|
6798
6938
|
const { config } = this.props;
|
|
6799
|
-
return
|
|
6939
|
+
return import_aws_route534.HostedZone.fromHostedZoneAttributes(this, "root-zone", {
|
|
6800
6940
|
hostedZoneId: config.hostedZoneId,
|
|
6801
6941
|
zoneName: config.zoneName
|
|
6802
6942
|
});
|
|
@@ -6936,11 +7076,11 @@ var _OpenHiRestApiService = class _OpenHiRestApiService extends OpenHiService {
|
|
|
6936
7076
|
integration
|
|
6937
7077
|
});
|
|
6938
7078
|
const apiPrefix = this.branchName === "main" ? `api` : `api-${this.childZonePrefix}`;
|
|
6939
|
-
new
|
|
7079
|
+
new import_aws_route534.ARecord(this, "api-a-record", {
|
|
6940
7080
|
zone: hostedZone,
|
|
6941
7081
|
recordName: apiPrefix,
|
|
6942
|
-
target:
|
|
6943
|
-
new
|
|
7082
|
+
target: import_aws_route534.RecordTarget.fromAlias(
|
|
7083
|
+
new import_aws_route53_targets2.ApiGatewayv2DomainProperties(
|
|
6944
7084
|
domainName.regionalDomainName,
|
|
6945
7085
|
domainName.regionalHostedZoneId
|
|
6946
7086
|
)
|
|
@@ -6977,7 +7117,7 @@ var _OpenHiRestApiService = class _OpenHiRestApiService extends OpenHiService {
|
|
|
6977
7117
|
"Authorization"
|
|
6978
7118
|
],
|
|
6979
7119
|
allowCredentials: cors.allowCredentials ?? true,
|
|
6980
|
-
maxAge: cors.maxAge ??
|
|
7120
|
+
maxAge: cors.maxAge ?? import_core2.Duration.days(1),
|
|
6981
7121
|
...cors.exposeHeaders !== void 0 && {
|
|
6982
7122
|
exposeHeaders: cors.exposeHeaders
|
|
6983
7123
|
}
|
|
@@ -7039,6 +7179,158 @@ var _OpenHiGraphqlService = class _OpenHiGraphqlService extends OpenHiService {
|
|
|
7039
7179
|
_OpenHiGraphqlService.SERVICE_TYPE = "graphql-api";
|
|
7040
7180
|
var OpenHiGraphqlService = _OpenHiGraphqlService;
|
|
7041
7181
|
|
|
7182
|
+
// src/services/open-hi-website-service.ts
|
|
7183
|
+
var SSM_PARAM_NAME_FULL_DOMAIN = "WEBSITE_FULL_DOMAIN";
|
|
7184
|
+
var _OpenHiWebsiteService = class _OpenHiWebsiteService extends OpenHiService {
|
|
7185
|
+
/**
|
|
7186
|
+
* Looks up the static-hosting bucket ARN published by the release-branch
|
|
7187
|
+
* deploy of this service.
|
|
7188
|
+
*/
|
|
7189
|
+
static bucketArnFromConstruct(scope) {
|
|
7190
|
+
return DiscoverableStringParameter.valueForLookupName(scope, {
|
|
7191
|
+
ssmParamName: StaticHosting.SSM_PARAM_NAME_BUCKET_ARN,
|
|
7192
|
+
serviceType: _OpenHiWebsiteService.SERVICE_TYPE
|
|
7193
|
+
});
|
|
7194
|
+
}
|
|
7195
|
+
/**
|
|
7196
|
+
* Looks up the CloudFront distribution ARN published by the release-branch
|
|
7197
|
+
* deploy of this service.
|
|
7198
|
+
*/
|
|
7199
|
+
static distributionArnFromConstruct(scope) {
|
|
7200
|
+
return DiscoverableStringParameter.valueForLookupName(scope, {
|
|
7201
|
+
ssmParamName: StaticHosting.SSM_PARAM_NAME_DISTRIBUTION_ARN,
|
|
7202
|
+
serviceType: _OpenHiWebsiteService.SERVICE_TYPE
|
|
7203
|
+
});
|
|
7204
|
+
}
|
|
7205
|
+
/**
|
|
7206
|
+
* Looks up the CloudFront distribution domain
|
|
7207
|
+
* (e.g. dXXXXX.cloudfront.net) published by the release-branch deploy.
|
|
7208
|
+
*/
|
|
7209
|
+
static distributionDomainFromConstruct(scope) {
|
|
7210
|
+
return DiscoverableStringParameter.valueForLookupName(scope, {
|
|
7211
|
+
ssmParamName: StaticHosting.SSM_PARAM_NAME_DISTRIBUTION_DOMAIN,
|
|
7212
|
+
serviceType: _OpenHiWebsiteService.SERVICE_TYPE
|
|
7213
|
+
});
|
|
7214
|
+
}
|
|
7215
|
+
/**
|
|
7216
|
+
* Looks up the CloudFront distribution ID published by the release-branch
|
|
7217
|
+
* deploy of this service.
|
|
7218
|
+
*/
|
|
7219
|
+
static distributionIdFromConstruct(scope) {
|
|
7220
|
+
return DiscoverableStringParameter.valueForLookupName(scope, {
|
|
7221
|
+
ssmParamName: StaticHosting.SSM_PARAM_NAME_DISTRIBUTION_ID,
|
|
7222
|
+
serviceType: _OpenHiWebsiteService.SERVICE_TYPE
|
|
7223
|
+
});
|
|
7224
|
+
}
|
|
7225
|
+
/**
|
|
7226
|
+
* Looks up the website's full domain (e.g. www.example.com) published by
|
|
7227
|
+
* the release-branch deploy of this service.
|
|
7228
|
+
*/
|
|
7229
|
+
static fullDomainFromConstruct(scope) {
|
|
7230
|
+
return DiscoverableStringParameter.valueForLookupName(scope, {
|
|
7231
|
+
ssmParamName: SSM_PARAM_NAME_FULL_DOMAIN,
|
|
7232
|
+
serviceType: _OpenHiWebsiteService.SERVICE_TYPE
|
|
7233
|
+
});
|
|
7234
|
+
}
|
|
7235
|
+
get serviceType() {
|
|
7236
|
+
return _OpenHiWebsiteService.SERVICE_TYPE;
|
|
7237
|
+
}
|
|
7238
|
+
constructor(ohEnv, props) {
|
|
7239
|
+
super(ohEnv, _OpenHiWebsiteService.SERVICE_TYPE, props);
|
|
7240
|
+
this.props = props;
|
|
7241
|
+
this.validateConfig(props);
|
|
7242
|
+
const hostedZone = this.createHostedZone();
|
|
7243
|
+
this.fullDomain = this.computeFullDomain(hostedZone);
|
|
7244
|
+
const shouldCreateHostingInfra = props.createHostingInfrastructure ?? this.branchName === this.defaultReleaseBranch;
|
|
7245
|
+
if (shouldCreateHostingInfra) {
|
|
7246
|
+
const certificate = this.createCertificate();
|
|
7247
|
+
this.staticHosting = this.createStaticHosting({
|
|
7248
|
+
certificate,
|
|
7249
|
+
hostedZone
|
|
7250
|
+
});
|
|
7251
|
+
this.createFullDomainParameter();
|
|
7252
|
+
}
|
|
7253
|
+
this.staticContent = this.createStaticContent();
|
|
7254
|
+
}
|
|
7255
|
+
/**
|
|
7256
|
+
* Validates that config required for the website stack is present.
|
|
7257
|
+
*/
|
|
7258
|
+
validateConfig(props) {
|
|
7259
|
+
const { config } = props;
|
|
7260
|
+
if (!config) {
|
|
7261
|
+
throw new Error("Config is required");
|
|
7262
|
+
}
|
|
7263
|
+
if (!config.zoneName) {
|
|
7264
|
+
throw new Error("Zone name is required");
|
|
7265
|
+
}
|
|
7266
|
+
}
|
|
7267
|
+
/**
|
|
7268
|
+
* Looks up the child hosted zone published by the Global service.
|
|
7269
|
+
* Override to customize.
|
|
7270
|
+
*/
|
|
7271
|
+
createHostedZone() {
|
|
7272
|
+
return OpenHiGlobalService.childHostedZoneFromConstruct(this, {
|
|
7273
|
+
zoneName: this.config.zoneName
|
|
7274
|
+
});
|
|
7275
|
+
}
|
|
7276
|
+
/**
|
|
7277
|
+
* Returns the wildcard certificate looked up from the Global service.
|
|
7278
|
+
* Override to customize.
|
|
7279
|
+
*/
|
|
7280
|
+
createCertificate() {
|
|
7281
|
+
return OpenHiGlobalService.rootWildcardCertificateFromConstruct(this);
|
|
7282
|
+
}
|
|
7283
|
+
/**
|
|
7284
|
+
* Computes the full website domain from `domainPrefix` and the child
|
|
7285
|
+
* zone name.
|
|
7286
|
+
*/
|
|
7287
|
+
computeFullDomain(hostedZone) {
|
|
7288
|
+
const prefix = this.props.domainPrefix ?? "www";
|
|
7289
|
+
return [prefix, hostedZone.zoneName].join(".");
|
|
7290
|
+
}
|
|
7291
|
+
/**
|
|
7292
|
+
* Creates the StaticHosting infrastructure (bucket + distribution +
|
|
7293
|
+
* Lambda@Edge + 4 SSM params + DNS).
|
|
7294
|
+
*/
|
|
7295
|
+
createStaticHosting(deps) {
|
|
7296
|
+
return new StaticHosting(this, "static-hosting", {
|
|
7297
|
+
serviceType: _OpenHiWebsiteService.SERVICE_TYPE,
|
|
7298
|
+
certificate: deps.certificate,
|
|
7299
|
+
hostedZone: deps.hostedZone,
|
|
7300
|
+
domainNames: [this.fullDomain],
|
|
7301
|
+
description: `OpenHI website (${this.fullDomain})`
|
|
7302
|
+
});
|
|
7303
|
+
}
|
|
7304
|
+
/**
|
|
7305
|
+
* Creates the SSM parameter that publishes the website's full domain.
|
|
7306
|
+
* Look up via {@link OpenHiWebsiteService.fullDomainFromConstruct}.
|
|
7307
|
+
*/
|
|
7308
|
+
createFullDomainParameter() {
|
|
7309
|
+
new DiscoverableStringParameter(this, "full-domain-param", {
|
|
7310
|
+
ssmParamName: SSM_PARAM_NAME_FULL_DOMAIN,
|
|
7311
|
+
serviceType: _OpenHiWebsiteService.SERVICE_TYPE,
|
|
7312
|
+
stringValue: this.fullDomain,
|
|
7313
|
+
description: "Full website domain (e.g. www.example.com)"
|
|
7314
|
+
});
|
|
7315
|
+
}
|
|
7316
|
+
/**
|
|
7317
|
+
* Creates the StaticContent uploader. Always created so feature-branch
|
|
7318
|
+
* deploys can publish content to their own sub-domain folder against the
|
|
7319
|
+
* release-branch bucket.
|
|
7320
|
+
*/
|
|
7321
|
+
createStaticContent() {
|
|
7322
|
+
const { contentSourceDirectory, contentDestinationDirectory } = this.props;
|
|
7323
|
+
return new StaticContent(this, "static-content", {
|
|
7324
|
+
contentSourceDirectory,
|
|
7325
|
+
contentDestinationDirectory,
|
|
7326
|
+
fullDomain: this.fullDomain,
|
|
7327
|
+
serviceType: _OpenHiWebsiteService.SERVICE_TYPE
|
|
7328
|
+
});
|
|
7329
|
+
}
|
|
7330
|
+
};
|
|
7331
|
+
_OpenHiWebsiteService.SERVICE_TYPE = "website";
|
|
7332
|
+
var OpenHiWebsiteService = _OpenHiWebsiteService;
|
|
7333
|
+
|
|
7042
7334
|
// src/workflows/control-plane/owning-delete-cascade/events.ts
|
|
7043
7335
|
var import_workflows5 = __toESM(require_lib2());
|
|
7044
7336
|
var OWNING_DELETE_CASCADE_CONSUMER_NAME = "owning-delete-cascade";
|
|
@@ -7049,11 +7341,11 @@ var OWNING_DELETE_OPS_EVENT_BUS_ENV_VAR = "OWNING_DELETE_OPS_EVENT_BUS_NAME";
|
|
|
7049
7341
|
// src/workflows/control-plane/owning-delete-cascade/owning-delete-cascade-lambdas.ts
|
|
7050
7342
|
var import_node_fs12 = __toESM(require("fs"));
|
|
7051
7343
|
var import_node_path12 = __toESM(require("path"));
|
|
7052
|
-
var
|
|
7344
|
+
var import_aws_cdk_lib16 = require("aws-cdk-lib");
|
|
7053
7345
|
var import_aws_iam8 = require("aws-cdk-lib/aws-iam");
|
|
7054
|
-
var
|
|
7055
|
-
var
|
|
7056
|
-
var
|
|
7346
|
+
var import_aws_lambda13 = require("aws-cdk-lib/aws-lambda");
|
|
7347
|
+
var import_aws_lambda_nodejs13 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
7348
|
+
var import_constructs20 = require("constructs");
|
|
7057
7349
|
function resolveHandlerEntry12(dirname, handlerName) {
|
|
7058
7350
|
const sameDir = import_node_path12.default.join(dirname, handlerName);
|
|
7059
7351
|
if (import_node_fs12.default.existsSync(sameDir)) {
|
|
@@ -7062,18 +7354,18 @@ function resolveHandlerEntry12(dirname, handlerName) {
|
|
|
7062
7354
|
const libDir = import_node_path12.default.join(dirname, "..", "..", "..", "..", "lib", handlerName);
|
|
7063
7355
|
return { entry: libDir, handler: "handler" };
|
|
7064
7356
|
}
|
|
7065
|
-
var OwningDeleteCascadeLambdas = class extends
|
|
7357
|
+
var OwningDeleteCascadeLambdas = class extends import_constructs20.Construct {
|
|
7066
7358
|
constructor(scope, props) {
|
|
7067
7359
|
super(scope, "owning-delete-cascade-lambdas");
|
|
7068
7360
|
const listResolved = resolveHandlerEntry12(
|
|
7069
7361
|
__dirname,
|
|
7070
7362
|
"list-chunks.handler.js"
|
|
7071
7363
|
);
|
|
7072
|
-
this.listChunks = new
|
|
7364
|
+
this.listChunks = new import_aws_lambda_nodejs13.NodejsFunction(this, "list-chunks-handler", {
|
|
7073
7365
|
entry: listResolved.entry,
|
|
7074
|
-
runtime:
|
|
7366
|
+
runtime: import_aws_lambda13.Runtime.NODEJS_LATEST,
|
|
7075
7367
|
memorySize: 512,
|
|
7076
|
-
timeout:
|
|
7368
|
+
timeout: import_aws_cdk_lib16.Duration.minutes(1),
|
|
7077
7369
|
environment: {
|
|
7078
7370
|
DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
|
|
7079
7371
|
}
|
|
@@ -7083,11 +7375,11 @@ var OwningDeleteCascadeLambdas = class extends import_constructs19.Construct {
|
|
|
7083
7375
|
__dirname,
|
|
7084
7376
|
"delete-chunk.handler.js"
|
|
7085
7377
|
);
|
|
7086
|
-
this.deleteChunk = new
|
|
7378
|
+
this.deleteChunk = new import_aws_lambda_nodejs13.NodejsFunction(this, "delete-chunk-handler", {
|
|
7087
7379
|
entry: deleteResolved.entry,
|
|
7088
|
-
runtime:
|
|
7380
|
+
runtime: import_aws_lambda13.Runtime.NODEJS_LATEST,
|
|
7089
7381
|
memorySize: 512,
|
|
7090
|
-
timeout:
|
|
7382
|
+
timeout: import_aws_cdk_lib16.Duration.minutes(1),
|
|
7091
7383
|
environment: {
|
|
7092
7384
|
DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
|
|
7093
7385
|
}
|
|
@@ -7102,11 +7394,11 @@ var OwningDeleteCascadeLambdas = class extends import_constructs19.Construct {
|
|
|
7102
7394
|
__dirname,
|
|
7103
7395
|
"finalize.handler.js"
|
|
7104
7396
|
);
|
|
7105
|
-
this.finalize = new
|
|
7397
|
+
this.finalize = new import_aws_lambda_nodejs13.NodejsFunction(this, "finalize-handler", {
|
|
7106
7398
|
entry: finalizeResolved.entry,
|
|
7107
|
-
runtime:
|
|
7399
|
+
runtime: import_aws_lambda13.Runtime.NODEJS_LATEST,
|
|
7108
7400
|
memorySize: 512,
|
|
7109
|
-
timeout:
|
|
7401
|
+
timeout: import_aws_cdk_lib16.Duration.minutes(1),
|
|
7110
7402
|
environment: {
|
|
7111
7403
|
DYNAMO_TABLE_NAME: props.dataStoreTable.tableName,
|
|
7112
7404
|
[OWNING_DELETE_OPS_EVENT_BUS_ENV_VAR]: props.opsEventBus.eventBusName
|
|
@@ -7124,13 +7416,13 @@ var OwningDeleteCascadeLambdas = class extends import_constructs19.Construct {
|
|
|
7124
7416
|
};
|
|
7125
7417
|
|
|
7126
7418
|
// src/workflows/control-plane/owning-delete-cascade/owning-delete-cascade-workflow.ts
|
|
7127
|
-
var
|
|
7419
|
+
var import_aws_cdk_lib17 = require("aws-cdk-lib");
|
|
7128
7420
|
var import_aws_events9 = require("aws-cdk-lib/aws-events");
|
|
7129
7421
|
var import_aws_events_targets5 = require("aws-cdk-lib/aws-events-targets");
|
|
7130
7422
|
var import_aws_stepfunctions = require("aws-cdk-lib/aws-stepfunctions");
|
|
7131
7423
|
var import_aws_stepfunctions_tasks = require("aws-cdk-lib/aws-stepfunctions-tasks");
|
|
7132
|
-
var
|
|
7133
|
-
var OwningDeleteCascadeWorkflow = class extends
|
|
7424
|
+
var import_constructs21 = require("constructs");
|
|
7425
|
+
var OwningDeleteCascadeWorkflow = class extends import_constructs21.Construct {
|
|
7134
7426
|
constructor(scope, props) {
|
|
7135
7427
|
super(scope, "owning-delete-cascade-workflow");
|
|
7136
7428
|
this.lambdas = new OwningDeleteCascadeLambdas(this, {
|
|
@@ -7239,7 +7531,7 @@ var OwningDeleteCascadeWorkflow = class extends import_constructs20.Construct {
|
|
|
7239
7531
|
}
|
|
7240
7532
|
});
|
|
7241
7533
|
const interPageWait = new import_aws_stepfunctions.Wait(this, "inter-page-wait", {
|
|
7242
|
-
time: import_aws_stepfunctions.WaitTime.duration(
|
|
7534
|
+
time: import_aws_stepfunctions.WaitTime.duration(import_aws_cdk_lib17.Duration.seconds(0))
|
|
7243
7535
|
});
|
|
7244
7536
|
const isExhausted = new import_aws_stepfunctions.Choice(this, "is-exhausted");
|
|
7245
7537
|
const finalize = new import_aws_stepfunctions_tasks.LambdaInvoke(this, "finalize", {
|
|
@@ -7270,7 +7562,7 @@ var OwningDeleteCascadeWorkflow = class extends import_constructs20.Construct {
|
|
|
7270
7562
|
// Long timeout because real-world cascades can run minutes when
|
|
7271
7563
|
// a workspace has thousands of members. The stuck-cascade alarm
|
|
7272
7564
|
// fires at 15 minutes; the state machine itself does not abort.
|
|
7273
|
-
timeout:
|
|
7565
|
+
timeout: import_aws_cdk_lib17.Duration.hours(2)
|
|
7274
7566
|
});
|
|
7275
7567
|
this.rule = new import_aws_events9.Rule(this, "rule", {
|
|
7276
7568
|
eventBus: props.dataEventBus,
|
|
@@ -7281,7 +7573,7 @@ var OwningDeleteCascadeWorkflow = class extends import_constructs20.Construct {
|
|
|
7281
7573
|
targets: [
|
|
7282
7574
|
new import_aws_events_targets5.SfnStateMachine(this.stateMachine, {
|
|
7283
7575
|
retryAttempts: 2,
|
|
7284
|
-
maxEventAge:
|
|
7576
|
+
maxEventAge: import_aws_cdk_lib17.Duration.hours(2)
|
|
7285
7577
|
})
|
|
7286
7578
|
]
|
|
7287
7579
|
});
|
|
@@ -7299,11 +7591,11 @@ var RENAME_CASCADE_OPS_EVENT_BUS_ENV_VAR = "RENAME_CASCADE_OPS_EVENT_BUS_NAME";
|
|
|
7299
7591
|
// src/workflows/control-plane/rename-cascade/rename-cascade-lambdas.ts
|
|
7300
7592
|
var import_node_fs13 = __toESM(require("fs"));
|
|
7301
7593
|
var import_node_path13 = __toESM(require("path"));
|
|
7302
|
-
var
|
|
7594
|
+
var import_aws_cdk_lib18 = require("aws-cdk-lib");
|
|
7303
7595
|
var import_aws_iam9 = require("aws-cdk-lib/aws-iam");
|
|
7304
|
-
var
|
|
7305
|
-
var
|
|
7306
|
-
var
|
|
7596
|
+
var import_aws_lambda14 = require("aws-cdk-lib/aws-lambda");
|
|
7597
|
+
var import_aws_lambda_nodejs14 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
7598
|
+
var import_constructs22 = require("constructs");
|
|
7307
7599
|
function resolveHandlerEntry13(dirname, handlerName) {
|
|
7308
7600
|
const sameDir = import_node_path13.default.join(dirname, handlerName);
|
|
7309
7601
|
if (import_node_fs13.default.existsSync(sameDir)) {
|
|
@@ -7312,18 +7604,18 @@ function resolveHandlerEntry13(dirname, handlerName) {
|
|
|
7312
7604
|
const libDir = import_node_path13.default.join(dirname, "..", "..", "..", "..", "lib", handlerName);
|
|
7313
7605
|
return { entry: libDir, handler: "handler" };
|
|
7314
7606
|
}
|
|
7315
|
-
var RenameCascadeLambdas = class extends
|
|
7607
|
+
var RenameCascadeLambdas = class extends import_constructs22.Construct {
|
|
7316
7608
|
constructor(scope, props) {
|
|
7317
7609
|
super(scope, "rename-cascade-lambdas");
|
|
7318
7610
|
const listResolved = resolveHandlerEntry13(
|
|
7319
7611
|
__dirname,
|
|
7320
7612
|
"rename-list-targets.handler.js"
|
|
7321
7613
|
);
|
|
7322
|
-
this.listTargets = new
|
|
7614
|
+
this.listTargets = new import_aws_lambda_nodejs14.NodejsFunction(this, "list-targets-handler", {
|
|
7323
7615
|
entry: listResolved.entry,
|
|
7324
|
-
runtime:
|
|
7616
|
+
runtime: import_aws_lambda14.Runtime.NODEJS_LATEST,
|
|
7325
7617
|
memorySize: 512,
|
|
7326
|
-
timeout:
|
|
7618
|
+
timeout: import_aws_cdk_lib18.Duration.minutes(1),
|
|
7327
7619
|
environment: {
|
|
7328
7620
|
DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
|
|
7329
7621
|
}
|
|
@@ -7333,11 +7625,11 @@ var RenameCascadeLambdas = class extends import_constructs21.Construct {
|
|
|
7333
7625
|
__dirname,
|
|
7334
7626
|
"rename-rewrite-chunk.handler.js"
|
|
7335
7627
|
);
|
|
7336
|
-
this.rewriteChunk = new
|
|
7628
|
+
this.rewriteChunk = new import_aws_lambda_nodejs14.NodejsFunction(this, "rewrite-chunk-handler", {
|
|
7337
7629
|
entry: rewriteResolved.entry,
|
|
7338
|
-
runtime:
|
|
7630
|
+
runtime: import_aws_lambda14.Runtime.NODEJS_LATEST,
|
|
7339
7631
|
memorySize: 512,
|
|
7340
|
-
timeout:
|
|
7632
|
+
timeout: import_aws_cdk_lib18.Duration.minutes(1),
|
|
7341
7633
|
environment: {
|
|
7342
7634
|
DYNAMO_TABLE_NAME: props.dataStoreTable.tableName
|
|
7343
7635
|
}
|
|
@@ -7352,11 +7644,11 @@ var RenameCascadeLambdas = class extends import_constructs21.Construct {
|
|
|
7352
7644
|
__dirname,
|
|
7353
7645
|
"rename-finalize.handler.js"
|
|
7354
7646
|
);
|
|
7355
|
-
this.finalize = new
|
|
7647
|
+
this.finalize = new import_aws_lambda_nodejs14.NodejsFunction(this, "finalize-handler", {
|
|
7356
7648
|
entry: finalizeResolved.entry,
|
|
7357
|
-
runtime:
|
|
7649
|
+
runtime: import_aws_lambda14.Runtime.NODEJS_LATEST,
|
|
7358
7650
|
memorySize: 512,
|
|
7359
|
-
timeout:
|
|
7651
|
+
timeout: import_aws_cdk_lib18.Duration.minutes(1),
|
|
7360
7652
|
environment: {
|
|
7361
7653
|
[RENAME_CASCADE_OPS_EVENT_BUS_ENV_VAR]: props.opsEventBus.eventBusName
|
|
7362
7654
|
}
|
|
@@ -7372,13 +7664,13 @@ var RenameCascadeLambdas = class extends import_constructs21.Construct {
|
|
|
7372
7664
|
};
|
|
7373
7665
|
|
|
7374
7666
|
// src/workflows/control-plane/rename-cascade/rename-cascade-workflow.ts
|
|
7375
|
-
var
|
|
7667
|
+
var import_aws_cdk_lib19 = require("aws-cdk-lib");
|
|
7376
7668
|
var import_aws_events10 = require("aws-cdk-lib/aws-events");
|
|
7377
7669
|
var import_aws_events_targets6 = require("aws-cdk-lib/aws-events-targets");
|
|
7378
7670
|
var import_aws_stepfunctions2 = require("aws-cdk-lib/aws-stepfunctions");
|
|
7379
7671
|
var import_aws_stepfunctions_tasks2 = require("aws-cdk-lib/aws-stepfunctions-tasks");
|
|
7380
|
-
var
|
|
7381
|
-
var RenameCascadeWorkflow = class extends
|
|
7672
|
+
var import_constructs23 = require("constructs");
|
|
7673
|
+
var RenameCascadeWorkflow = class extends import_constructs23.Construct {
|
|
7382
7674
|
constructor(scope, props) {
|
|
7383
7675
|
super(scope, "rename-cascade-workflow");
|
|
7384
7676
|
this.lambdas = new RenameCascadeLambdas(this, {
|
|
@@ -7522,7 +7814,7 @@ var RenameCascadeWorkflow = class extends import_constructs22.Construct {
|
|
|
7522
7814
|
// Long timeout — large renames may rewrite thousands of rows;
|
|
7523
7815
|
// the `CascadeSlow` alarm fires at 300s p99 but the state
|
|
7524
7816
|
// machine itself does not abort.
|
|
7525
|
-
timeout:
|
|
7817
|
+
timeout: import_aws_cdk_lib19.Duration.hours(2)
|
|
7526
7818
|
});
|
|
7527
7819
|
this.rule = new import_aws_events10.Rule(this, "rule", {
|
|
7528
7820
|
eventBus: props.dataEventBus,
|
|
@@ -7533,7 +7825,7 @@ var RenameCascadeWorkflow = class extends import_constructs22.Construct {
|
|
|
7533
7825
|
targets: [
|
|
7534
7826
|
new import_aws_events_targets6.SfnStateMachine(this.stateMachine, {
|
|
7535
7827
|
retryAttempts: 2,
|
|
7536
|
-
maxEventAge:
|
|
7828
|
+
maxEventAge: import_aws_cdk_lib19.Duration.hours(2)
|
|
7537
7829
|
})
|
|
7538
7830
|
]
|
|
7539
7831
|
});
|
|
@@ -7591,6 +7883,7 @@ var RenameCascadeWorkflow = class extends import_constructs22.Construct {
|
|
|
7591
7883
|
OpenHiRestApiService,
|
|
7592
7884
|
OpenHiService,
|
|
7593
7885
|
OpenHiStage,
|
|
7886
|
+
OpenHiWebsiteService,
|
|
7594
7887
|
OpsEventBus,
|
|
7595
7888
|
OwningDeleteCascadeLambdas,
|
|
7596
7889
|
OwningDeleteCascadeWorkflow,
|
|
@@ -7626,11 +7919,13 @@ var RenameCascadeWorkflow = class extends import_constructs22.Construct {
|
|
|
7626
7919
|
SEED_SYSTEM_DATA_ACTOR_SYSTEM,
|
|
7627
7920
|
SEED_SYSTEM_DATA_CONSUMER_NAME,
|
|
7628
7921
|
SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR,
|
|
7922
|
+
SSM_PARAM_NAME_FULL_DOMAIN,
|
|
7629
7923
|
STATIC_HOSTING_SERVICE_TYPE,
|
|
7630
7924
|
SeedDemoDataLambda,
|
|
7631
7925
|
SeedDemoDataWorkflow,
|
|
7632
7926
|
SeedSystemDataLambda,
|
|
7633
7927
|
SeedSystemDataWorkflow,
|
|
7928
|
+
StaticContent,
|
|
7634
7929
|
StaticHosting,
|
|
7635
7930
|
USER_ONBOARDING_EVENT_SOURCE,
|
|
7636
7931
|
UserOnboardingWorkflow,
|