@meyicloud/meyi-insight-server 1.1.11 → 1.1.12

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.
Files changed (27) hide show
  1. package/dist/features/sources/cloudtrail/controller.d.ts +5 -0
  2. package/dist/features/sources/cloudtrail/controller.d.ts.map +1 -1
  3. package/dist/features/sources/cloudtrail/controller.js +96 -25
  4. package/dist/features/sources/cloudtrail/controller.js.map +1 -1
  5. package/dist/features/sources/cloudtrail/reconciler.d.ts +17 -0
  6. package/dist/features/sources/cloudtrail/reconciler.d.ts.map +1 -1
  7. package/dist/features/sources/cloudtrail/reconciler.js +59 -1
  8. package/dist/features/sources/cloudtrail/reconciler.js.map +1 -1
  9. package/dist/features/sources/cloudtrail/schema.d.ts.map +1 -1
  10. package/dist/features/sources/cloudtrail/schema.js +3 -0
  11. package/dist/features/sources/cloudtrail/schema.js.map +1 -1
  12. package/dist/features/sources/cloudtrail/template.d.ts +24 -0
  13. package/dist/features/sources/cloudtrail/template.d.ts.map +1 -1
  14. package/dist/features/sources/cloudtrail/template.js +147 -88
  15. package/dist/features/sources/cloudtrail/template.js.map +1 -1
  16. package/dist/migrations/run.d.ts.map +1 -1
  17. package/dist/migrations/run.js +34 -0
  18. package/dist/migrations/run.js.map +1 -1
  19. package/dist/models/source.model.d.ts +8 -0
  20. package/dist/models/source.model.d.ts.map +1 -1
  21. package/dist/models/source.model.js +19 -0
  22. package/dist/models/source.model.js.map +1 -1
  23. package/dist/services/source.service.d.ts +2 -0
  24. package/dist/services/source.service.d.ts.map +1 -1
  25. package/dist/services/source.service.js +3 -0
  26. package/dist/services/source.service.js.map +1 -1
  27. package/package.json +2 -2
@@ -1,6 +1,11 @@
1
1
  import type { Request, Response } from "express";
2
2
  import type { SourceService } from "../../../services/source.service.js";
3
3
  import type { ConnectorService } from "../../../services/connector.service.js";
4
+ /**
5
+ * Parent-stack COMPLETE only means CloudFormation finished; the StackSet instances may still
6
+ * have failed. Never let it overwrite a failure reported by a StackSet / instance event.
7
+ */
8
+ export declare function shouldKeepFailedStatus(currentStatus: string | null | undefined, nextStatus: string, detailType: string | null | undefined): boolean;
4
9
  export declare function createCloudTrailSourceController(sourceService: SourceService, connectorService?: ConnectorService): {
5
10
  /**
6
11
  * GET /:id/aws/cloudtrail/setup
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAmG/E,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,gBAAgB;IAGjC;;;OAGG;kBACiB,OAAO,OAAO,QAAQ;IAkC1C;;;;;;;;;OASG;0BACyB,OAAO,OAAO,QAAQ;IA6LlD;;;OAGG;+BAC8B,OAAO,OAAO,QAAQ;IAiCvD;;;OAGG;gCAC+B,OAAO,OAAO,QAAQ;IAwExD;;;;OAIG;0BACyB,OAAO,OAAO,QAAQ;EAmDrD"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAqG/E;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACxC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAMT;AAOD,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,gBAAgB;IAyBjC;;;OAGG;kBACiB,OAAO,OAAO,QAAQ;IAkC1C;;;;;;;;;OASG;0BACyB,OAAO,OAAO,QAAQ;IAgNlD;;;OAGG;+BAC8B,OAAO,OAAO,QAAQ;IA0CvD;;;OAGG;gCAC+B,OAAO,OAAO,QAAQ;IAmFxD;;;;OAIG;0BACyB,OAAO,OAAO,QAAQ;EAmDrD"}
@@ -1,5 +1,5 @@
1
1
  import { timingSafeEqual } from "node:crypto";
2
- import { buildCloudTrailCentralStackTemplate, ALL_AWS_ACTIVE_REGIONS } from "./template.js";
2
+ import { buildCloudTrailCentralStackTemplate, ALL_AWS_ACTIVE_REGIONS, l1StackName, l1StackSetName, resolveMeyiEnvironment, } from "./template.js";
3
3
  import { resolveTenantId } from "../../../tenancy.js";
4
4
  import { reconcileCloudTrailDeployment } from "./reconciler.js";
5
5
  function normalizeSourceType(value) {
@@ -45,12 +45,6 @@ function buildPublicBaseUrl(req) {
45
45
  }
46
46
  return stripTrailingSlash(`${proto}://${host}`);
47
47
  }
48
- function sanitizeAwsName(value, fallback, maxLength) {
49
- const raw = String(value || "").trim();
50
- const base = raw || fallback;
51
- const cleaned = base.replace(/[^a-zA-Z0-9-_]/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, "");
52
- return (cleaned || fallback).slice(0, maxLength);
53
- }
54
48
  function buildAwsConsoleCreateStackUrl(input) {
55
49
  const region = encodeURIComponent(input.region || "ap-south-1");
56
50
  const stackName = encodeURIComponent(input.stackName);
@@ -74,12 +68,44 @@ function isAwsSupportedTemplateUrl(value) {
74
68
  return false;
75
69
  }
76
70
  }
71
+ const L1_STACK_EXISTS_MESSAGE = "This AWS account already has L1 security monitoring for this environment. " +
72
+ "Remove the existing CloudTrail source (and its CloudFormation stack) before adding another.";
73
+ function isUniqueViolation(e) {
74
+ return e?.code === "23505" || e?.cause?.code === "23505";
75
+ }
76
+ /**
77
+ * Parent-stack COMPLETE only means CloudFormation finished; the StackSet instances may still
78
+ * have failed. Never let it overwrite a failure reported by a StackSet / instance event.
79
+ */
80
+ export function shouldKeepFailedStatus(currentStatus, nextStatus, detailType) {
81
+ return (String(currentStatus || "").toLowerCase() === "failed" &&
82
+ nextStatus === "deployed" &&
83
+ detailType === "CloudFormation Stack Status Change");
84
+ }
77
85
  function tokensEqual(given, expected) {
78
86
  const a = Buffer.from(given);
79
87
  const b = Buffer.from(expected);
80
88
  return a.length === b.length && timingSafeEqual(a, b);
81
89
  }
82
90
  export function createCloudTrailSourceController(sourceService, connectorService) {
91
+ /**
92
+ * Responds 409 when another source already has an active L1 stack in this account for this
93
+ * environment. Only reveals the other source's id when it belongs to the caller's tenant.
94
+ */
95
+ async function rejectIfAccountTaken(res, sourceId, deployAccountId, tenantId) {
96
+ if (!deployAccountId)
97
+ return false;
98
+ const other = await sourceService.findActiveCloudTrailByDeployAccount(deployAccountId, sourceId);
99
+ if (!other)
100
+ return false;
101
+ res.status(409).json({
102
+ ok: false,
103
+ code: "L1_STACK_EXISTS",
104
+ error: L1_STACK_EXISTS_MESSAGE,
105
+ existingSourceId: tenantId && other.tenantId === tenantId ? other.sourceId : undefined,
106
+ });
107
+ return true;
108
+ }
83
109
  return {
84
110
  /**
85
111
  * GET /:id/aws/cloudtrail/setup
@@ -106,7 +132,7 @@ export function createCloudTrailSourceController(sourceService, connectorService
106
132
  },
107
133
  setup: {
108
134
  awsRegion: String(source.awsRegion || "ap-south-1"),
109
- awsStackName: String(source.awsStackName || `meyi-cloudtrail-${source.id.slice(0, 8)}`),
135
+ awsStackName: String(source.awsStackName || l1StackName(resolveMeyiEnvironment())),
110
136
  awsCreateNewTrail: source.awsCreateNewTrail !== false, // default true
111
137
  awsDeploymentStatus: String(source.awsDeploymentStatus || "not_started"),
112
138
  awsDeploymentStatusReason: source.awsDeploymentStatusReason ?? null,
@@ -141,7 +167,15 @@ export function createCloudTrailSourceController(sourceService, connectorService
141
167
  source = await reconcileCloudTrailDeployment(source, sourceService, connectorService, tenantId);
142
168
  }
143
169
  const region = String(req.query.region || source.awsRegion || "ap-south-1").trim() || "ap-south-1";
144
- const stackName = sanitizeAwsName(req.query.stackName || source.awsStackName, `meyi-cloudtrail-${source.id.slice(0, 8)}`, 128);
170
+ // Fixed per environment: one L1 security stack per environment per AWS account.
171
+ // Any caller-supplied stackName is ignored. A stack that is already pending/deployed
172
+ // keeps its recorded name (older stacks were named meyi-cloudtrail-<id>), because the
173
+ // detail page calls this endpoint just to show the setup and the reconciler needs it.
174
+ const environment = resolveMeyiEnvironment();
175
+ const currentStatus = String(source.awsDeploymentStatus || "").toLowerCase();
176
+ const stackName = (currentStatus === "pending" || currentStatus === "deployed") && source.awsStackName
177
+ ? String(source.awsStackName)
178
+ : l1StackName(environment);
145
179
  // createNewTrail: query param > stored value > default true
146
180
  let createNewTrail;
147
181
  if (req.query.createNewTrail !== undefined) {
@@ -213,15 +247,29 @@ export function createCloudTrailSourceController(sourceService, connectorService
213
247
  }
214
248
  // targetRegions: always deploy to all active regions (not user-specified)
215
249
  const targetRegions = "";
216
- await sourceService.updateCloudTrailSetup(source.id, {
217
- awsRegion: region,
218
- awsStackName: stackName,
219
- awsCreateNewTrail: createNewTrail,
220
- awsDeploymentMode: deploymentMode,
221
- awsTargetOUs: targetOUs || null,
222
- awsTargetAccounts: targetAccounts || null,
223
- awsTargetRegions: null, // always all active regions
224
- });
250
+ // The account the stack is created in: management account (Organizations) or the target account.
251
+ const deployAccountId = (deploymentMode === "Organizations" ? managementAccountId : targetAccounts) || null;
252
+ if (await rejectIfAccountTaken(res, source.id, deployAccountId, tenantId))
253
+ return;
254
+ try {
255
+ await sourceService.updateCloudTrailSetup(source.id, {
256
+ awsDeployAccountId: deployAccountId,
257
+ awsRegion: region,
258
+ awsStackName: stackName,
259
+ awsCreateNewTrail: createNewTrail,
260
+ awsDeploymentMode: deploymentMode,
261
+ awsTargetOUs: targetOUs || null,
262
+ awsTargetAccounts: targetAccounts || null,
263
+ awsTargetRegions: null, // always all active regions
264
+ });
265
+ }
266
+ catch (e) {
267
+ // This source is already pending/deployed and another source took the account first.
268
+ if (isUniqueViolation(e)) {
269
+ return res.status(409).json({ ok: false, code: "L1_STACK_EXISTS", error: L1_STACK_EXISTS_MESSAGE });
270
+ }
271
+ throw e;
272
+ }
225
273
  const baseUrl = buildPublicBaseUrl(req);
226
274
  const webhookPath = `/api/v1/insight/webhook/${source.webhookToken}`;
227
275
  let webhookUrl = `${baseUrl}${webhookPath}`;
@@ -245,7 +293,7 @@ export function createCloudTrailSourceController(sourceService, connectorService
245
293
  });
246
294
  // StackSet name (predictable from the central stack name)
247
295
  // Used by the frontend to build the "Add instances" console link
248
- const stackSetName = `MeyiConnect-SecurityMonitoring-${stackName}`;
296
+ const stackSetName = l1StackSetName(environment);
249
297
  const encodedRegion = encodeURIComponent(region);
250
298
  const encodedStackSetName = encodeURIComponent(stackSetName);
251
299
  // URL to the "Add stacks to StackSet" wizard in AWS Console (no OU ID needed — wizard handles it)
@@ -305,12 +353,25 @@ export function createCloudTrailSourceController(sourceService, connectorService
305
353
  if (!isCloudTrailType(source.type)) {
306
354
  return res.status(400).json({ ok: false, error: "Source type must be cloudtrail" });
307
355
  }
308
- const stackName = String(req.body?.stackName || source.awsStackName || `meyi-cloudtrail-${source.id.slice(0, 8)}`).trim();
309
- const updated = await sourceService.updateCloudTrailDeployment(source.id, {
310
- awsDeploymentStatus: "pending",
311
- awsDeploymentStatusReason: "AWS Console stack creation opened",
312
- awsStackName: stackName,
313
- });
356
+ const stackName = l1StackName(resolveMeyiEnvironment());
357
+ const tenantId = resolveTenantId(req);
358
+ if (await rejectIfAccountTaken(res, source.id, source.awsDeployAccountId ?? null, tenantId))
359
+ return;
360
+ let updated;
361
+ try {
362
+ updated = await sourceService.updateCloudTrailDeployment(source.id, {
363
+ awsDeploymentStatus: "pending",
364
+ awsDeploymentStatusReason: "AWS Console stack creation opened",
365
+ awsStackName: stackName,
366
+ });
367
+ }
368
+ catch (e) {
369
+ // Lost a race with another source for the same account (partial unique index).
370
+ if (isUniqueViolation(e)) {
371
+ return res.status(409).json({ ok: false, code: "L1_STACK_EXISTS", error: L1_STACK_EXISTS_MESSAGE });
372
+ }
373
+ throw e;
374
+ }
314
375
  return res.json({
315
376
  ok: true,
316
377
  source: {
@@ -356,6 +417,7 @@ export function createCloudTrailSourceController(sourceService, connectorService
356
417
  return res.status(403).json({ ok: false, error: "Invalid deployment status token" });
357
418
  }
358
419
  let parsedBody = req.body;
420
+ const detailType = req.body?.["detail-type"] ?? null;
359
421
  if (req.body?.source === "aws.cloudformation" && req.body?.detail) {
360
422
  const detail = req.body.detail;
361
423
  const statusDetails = detail["status-details"] || {};
@@ -381,6 +443,15 @@ export function createCloudTrailSourceController(sourceService, connectorService
381
443
  }
382
444
  const allowed = new Set(["not_started", "pending", "deployed", "failed", "deleted"]);
383
445
  const status = allowed.has(requestedStatus) ? requestedStatus : "pending";
446
+ if (shouldKeepFailedStatus(source.awsDeploymentStatus, status, detailType)) {
447
+ return res.json({
448
+ ok: true,
449
+ sourceId: source.id,
450
+ awsDeploymentStatus: source.awsDeploymentStatus,
451
+ awsDeploymentStatusReason: source.awsDeploymentStatusReason ?? null,
452
+ awsStackId: source.awsStackId ?? null,
453
+ });
454
+ }
384
455
  const updated = await sourceService.updateCloudTrailDeployment(source.id, {
385
456
  awsDeploymentStatus: status,
386
457
  awsDeploymentStatusReason: String(parsedBody?.reason || "").trim() || (status === "deployed" ? "Deployment completed in AWS" : null),
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/controller.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,25 @@
1
+ import { CloudFormationClient } from "@aws-sdk/client-cloudformation";
1
2
  import type { SourceService } from "../../../services/source.service.js";
2
3
  import type { ConnectorService } from "../../../services/connector.service.js";
4
+ type InstanceCheck = {
5
+ state: "ok";
6
+ } | {
7
+ state: "pending";
8
+ } | {
9
+ state: "failed";
10
+ reason: string;
11
+ };
12
+ /**
13
+ * The parent stack can be CREATE_COMPLETE while StackSet instances failed (failure tolerance
14
+ * in Organizations mode). Looks at every StackSet this environment's stack creates.
15
+ * Returns "ok" when the instances cannot be listed (e.g. missing permission) so the
16
+ * reconciler behaves as it did before rather than getting stuck.
17
+ */
18
+ export declare function checkL1StackInstances(cfnClient: Pick<InstanceType<typeof CloudFormationClient>, "send">, environment: string, deploymentMode: string | null | undefined): Promise<InstanceCheck>;
3
19
  /**
4
20
  * Reconciles CloudTrail deployment status by checking actual CloudFormation / StackSet state in AWS.
5
21
  * This runs automatically whenever a pending CloudTrail source is loaded by the UI or queried by poller.
6
22
  */
7
23
  export declare function reconcileCloudTrailDeployment(source: any, sourceService: SourceService, connectorService?: ConnectorService, tenantId?: string): Promise<any>;
24
+ export {};
8
25
  //# sourceMappingURL=reconciler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/reconciler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CAmHd"}
1
+ {"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/reconciler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EAIrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG/E,KAAK,aAAa,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElG;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,oBAAoB,CAAC,EAAE,MAAM,CAAC,EAClE,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,CAAC,CAkCxB;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CAsId"}
@@ -1,5 +1,47 @@
1
1
  import { STSClient, AssumeRoleCommand } from "@aws-sdk/client-sts";
2
- import { CloudFormationClient, DescribeStacksCommand, DescribeStackSetCommand, } from "@aws-sdk/client-cloudformation";
2
+ import { CloudFormationClient, DescribeStacksCommand, DescribeStackSetCommand, ListStackInstancesCommand, } from "@aws-sdk/client-cloudformation";
3
+ import { l1StackName, l1StackSetName, resolveMeyiEnvironment } from "./template.js";
4
+ /**
5
+ * The parent stack can be CREATE_COMPLETE while StackSet instances failed (failure tolerance
6
+ * in Organizations mode). Looks at every StackSet this environment's stack creates.
7
+ * Returns "ok" when the instances cannot be listed (e.g. missing permission) so the
8
+ * reconciler behaves as it did before rather than getting stuck.
9
+ */
10
+ export async function checkL1StackInstances(cfnClient, environment, deploymentMode) {
11
+ const base = l1StackSetName(environment);
12
+ const names = [base, `${base}-Global`];
13
+ if (deploymentMode === "Organizations")
14
+ names.push(`${base}-Mgmt`, `${base}-Global-Mgmt`);
15
+ for (const StackSetName of names) {
16
+ let NextToken;
17
+ try {
18
+ do {
19
+ const resp = await cfnClient.send(new ListStackInstancesCommand({ StackSetName, NextToken, CallAs: "SELF" }));
20
+ for (const inst of resp.Summaries ?? []) {
21
+ const detailed = String(inst.StackInstanceStatus?.DetailedStatus || "").toUpperCase();
22
+ if (detailed === "PENDING" || detailed === "RUNNING")
23
+ return { state: "pending" };
24
+ if (detailed === "FAILED" || detailed === "CANCELLED" || detailed === "INOPERABLE" || inst.Status === "INOPERABLE") {
25
+ return {
26
+ state: "failed",
27
+ reason: `StackSet ${StackSetName} instance ${inst.Account}/${inst.Region} ${detailed || inst.Status}: ${inst.StatusReason || "no reason given"}`,
28
+ };
29
+ }
30
+ }
31
+ NextToken = resp.NextToken;
32
+ } while (NextToken);
33
+ }
34
+ catch (err) {
35
+ // StackSetNotFound: that StackSet is not part of this deployment (e.g. management copy
36
+ // disabled). Anything else (AccessDenied, throttling): don't block on it.
37
+ if (err?.name !== "StackSetNotFoundException") {
38
+ console.warn(`[CloudTrail Reconciler] Could not list instances of ${StackSetName}: ${err?.message}`);
39
+ return { state: "ok" };
40
+ }
41
+ }
42
+ }
43
+ return { state: "ok" };
44
+ }
3
45
  /**
4
46
  * Reconciles CloudTrail deployment status by checking actual CloudFormation / StackSet state in AWS.
5
47
  * This runs automatically whenever a pending CloudTrail source is loaded by the UI or queried by poller.
@@ -83,6 +125,22 @@ export async function reconcileCloudTrailDeployment(source, sourceService, conne
83
125
  const isComplete = statusUpper === "CREATE_COMPLETE" || statusUpper === "UPDATE_COMPLETE";
84
126
  const isFailed = statusUpper.includes("FAILED") || statusUpper.includes("ROLLBACK");
85
127
  if (isComplete) {
128
+ // Only stacks built from the env-named template have predictable StackSet names.
129
+ const environment = resolveMeyiEnvironment();
130
+ if (stackName === l1StackName(environment)) {
131
+ const instances = await checkL1StackInstances(cfnClient, environment, source.awsDeploymentMode);
132
+ if (instances.state === "pending")
133
+ return source;
134
+ if (instances.state === "failed") {
135
+ const updated = await sourceService.updateCloudTrailDeployment(source.id, {
136
+ awsDeploymentStatus: "failed",
137
+ awsDeploymentStatusReason: instances.reason.slice(0, 1000),
138
+ awsStackId: stackId || source.awsStackId,
139
+ awsStackName: stackName,
140
+ }, effectiveTenantId);
141
+ return updated || { ...source, awsDeploymentStatus: "failed" };
142
+ }
143
+ }
86
144
  const updated = await sourceService.updateCloudTrailDeployment(source.id, {
87
145
  awsDeploymentStatus: "deployed",
88
146
  awsDeploymentStatusReason: `CloudFormation stack ${stackStatus}`,
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/reconciler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/schema.ts"],"names":[],"mappings":"AAEA,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,OA2BxF"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/schema.ts"],"names":[],"mappings":"AAEA,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,OA8BxF"}
@@ -16,6 +16,9 @@ export function createInsightCloudTrailSourceSetups(meyiconnect, insightSources)
16
16
  awsTargetOUs: text("aws_target_ous"), // comma-separated OU IDs or Root ID; null = all accounts
17
17
  awsTargetAccounts: text("aws_target_accounts"), // comma-separated account IDs; null = all accounts in OU
18
18
  awsTargetRegions: text("aws_target_regions"), // comma-separated region names; null = all active regions
19
+ // Account the L1 stack is deployed into: management account (Organizations) or the target
20
+ // account (Standalone). One pending/deployed stack per account per environment.
21
+ awsDeployAccountId: text("aws_deploy_account_id"),
19
22
  createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
20
23
  updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
21
24
  }, (t) => [
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,UAAU,mCAAmC,CAAC,WAAgB,EAAE,cAAmB;IACvF,OAAO,WAAW,CAAC,KAAK,CACtB,kCAAkC,EAClC;QACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;QAC3C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;aACxB,OAAO,EAAE;aACT,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC/D,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;QAC7B,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACpC,iBAAiB,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1E,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;QACnF,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAAC;QAC/D,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC;QAChC,6DAA6D;QAC7D,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QACvE,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAa,yDAAyD;QAC1G,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAG,yDAAyD;QAC1G,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAK,0DAA0D;QAC3G,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;QACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;KAClF,EACD,CAAC,CAAM,EAAE,EAAE,CAAC;QACV,WAAW,CAAC,gDAAgD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5E,KAAK,CAAC,6CAA6C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;KAC/E,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,UAAU,mCAAmC,CAAC,WAAgB,EAAE,cAAmB;IACvF,OAAO,WAAW,CAAC,KAAK,CACtB,kCAAkC,EAClC;QACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;QAC3C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;aACxB,OAAO,EAAE;aACT,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC/D,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;QAC7B,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACpC,iBAAiB,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1E,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;QACnF,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAAC;QAC/D,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC;QAChC,6DAA6D;QAC7D,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QACvE,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAa,yDAAyD;QAC1G,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAG,yDAAyD;QAC1G,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAK,0DAA0D;QAC3G,0FAA0F;QAC1F,gFAAgF;QAChF,kBAAkB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACjD,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;QACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;KAClF,EACD,CAAC,CAAM,EAAE,EAAE,CAAC;QACV,WAAW,CAAC,gDAAgD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5E,KAAK,CAAC,6CAA6C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;KAC/E,CACF,CAAC;AACJ,CAAC"}
@@ -6,8 +6,30 @@
6
6
  * __MEYI_WEBHOOK_URL__ → the source's authenticated webhook URL
7
7
  * __MEYI_DEPLOYMENT_STATUS_URL__ → the deployment-status callback URL (token-gated)
8
8
  * __MEYI_WEBHOOK_AUTH_TOKEN__ → webhook auth token
9
+ * __MEYI_ENVIRONMENT__ → MeyiConnect environment (MEYI_ENVIRONMENT, e.g. dev / prod)
10
+ *
11
+ * Every named AWS resource is meyi-<env>-l1-*, never derived from the stack name, so
12
+ * environments can share an AWS account and a second stack for the same environment in
13
+ * the same account fails on the name conflict.
9
14
  */
10
15
  export declare const ALL_AWS_ACTIVE_REGIONS: string;
16
+ /**
17
+ * Normalises a MeyiConnect environment name ("dev", "prod", ...) for AWS resource names.
18
+ * Must match the template's MeyiEnvironment AllowedPattern. Throws on anything else
19
+ * rather than silently producing a name that could collide with another environment.
20
+ */
21
+ export declare function normalizeMeyiEnvironment(raw: string | null | undefined): string;
22
+ /**
23
+ * The environment this server belongs to, from MEYI_ENVIRONMENT (set on the backend ECS task).
24
+ * Falls back to "local" so a developer machine can never produce prod's resource names.
25
+ */
26
+ export declare function resolveMeyiEnvironment(env?: NodeJS.ProcessEnv): string;
27
+ /** All names below must stay in sync with the template's meyi-<env>-l1-* naming. */
28
+ export declare function l1NamePrefix(environment: string): string;
29
+ /** Fixed CloudFormation stack name: one L1 security stack per environment per AWS account. */
30
+ export declare function l1StackName(environment: string): string;
31
+ /** Name of the regional StackSet the stack creates (used for the "Add stacks" console link). */
32
+ export declare function l1StackSetName(environment: string): string;
11
33
  export declare function buildCloudTrailCentralStackTemplate(input: {
12
34
  webhookUrl: string;
13
35
  webhookAuthToken?: string | null;
@@ -17,5 +39,7 @@ export declare function buildCloudTrailCentralStackTemplate(input: {
17
39
  targetAccounts?: string;
18
40
  targetRegions?: string;
19
41
  targetOUs?: string;
42
+ /** MeyiConnect environment; defaults to MEYI_ENVIRONMENT. */
43
+ environment?: string;
20
44
  }): string;
21
45
  //# sourceMappingURL=template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,sBAAsB,QAUxB,CAAC;AA4zCZ,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,eAAe,GAAG,YAAY,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAqBT"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../src/features/sources/cloudtrail/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,sBAAsB,QAUxB,CAAC;AA00CZ;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAQ/E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAUnF;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,eAAe,GAAG,YAAY,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAuBT"}