@fjall/components-infrastructure 9.0.0 → 10.1.2
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/dist/lib/patterns/aws/compute.js +13 -1
- package/dist/lib/patterns/aws/computeEcs.d.ts +80 -1
- package/dist/lib/patterns/aws/computeEcs.js +450 -70
- package/dist/lib/patterns/aws/computeEcsTypes.d.ts +113 -6
- package/dist/lib/patterns/aws/computeEcsTypes.js +19 -0
- package/dist/lib/patterns/aws/computePropApplicability.js +1 -0
- package/dist/lib/patterns/aws/database.d.ts +12 -1
- package/dist/lib/patterns/aws/database.js +16 -0
- package/dist/lib/patterns/aws/devSubstrate.js +64 -8
- package/dist/lib/patterns/aws/interfaces/database.d.ts +26 -0
- package/dist/lib/patterns/aws/storage.d.ts +7 -0
- package/dist/lib/patterns/aws/storage.js +14 -1
- package/dist/lib/resources/aws/compute/applicationLoadBalancer.js +6 -0
- package/dist/lib/resources/aws/compute/ecs.d.ts +12 -0
- package/dist/lib/resources/aws/compute/ecs.js +32 -2
- package/dist/lib/resources/aws/compute/ecsImages.js +4 -0
- package/dist/lib/resources/aws/compute/ecsServiceFactory.d.ts +29 -3
- package/dist/lib/resources/aws/compute/ecsServiceFactory.js +32 -0
- package/dist/lib/resources/aws/compute/ecsTaskDefinition.js +12 -0
- package/dist/lib/resources/aws/compute/ecsTypes.d.ts +42 -2
- package/dist/lib/resources/aws/compute/ecsValidation.d.ts +6 -0
- package/dist/lib/resources/aws/compute/ecsValidation.js +13 -0
- package/dist/lib/resources/aws/database/rdsAurora.d.ts +7 -1
- package/dist/lib/resources/aws/database/rdsAurora.js +1 -1
- package/dist/lib/resources/aws/messaging/eventTargets.d.ts +4 -2
- package/dist/lib/resources/aws/messaging/eventTargets.js +55 -2
- package/dist/lib/resources/aws/monitoring/alarmDefaults.d.ts +1 -0
- package/dist/lib/resources/aws/monitoring/alarmDefaults.js +1 -1
- package/dist/lib/resources/aws/monitoring/ecsTaskStopWatchdog.d.ts +59 -0
- package/dist/lib/resources/aws/monitoring/ecsTaskStopWatchdog.js +115 -0
- package/dist/lib/resources/aws/monitoring/index.d.ts +1 -0
- package/dist/lib/resources/aws/monitoring/index.js +1 -0
- package/dist/lib/resources/aws/monitoring/metricNamespaces.d.ts +1 -0
- package/dist/lib/resources/aws/monitoring/metricNamespaces.js +1 -0
- package/dist/lib/utils/manifestWriter.d.ts +16 -2
- package/dist/lib/utils/manifestWriter.js +22 -0
- package/package.json +4 -3
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { CloudAssembly } from "aws-cdk-lib/cx-api";
|
|
17
17
|
import { type ResourceCategory } from "@fjall/util/resourceCategorisation";
|
|
18
|
-
import { type ManifestService, type ManifestPattern, type ManifestEcr, type ManifestLambda, type ManifestStackHash, type ManifestCapacityAlias, type FjallManifest } from "@fjall/util/manifest/schemas";
|
|
19
|
-
export type { ManifestService, ManifestPattern, ManifestEcr, ManifestLambda, ManifestStackHash, ManifestCapacityAlias, FjallManifest };
|
|
18
|
+
import { type ManifestService, type ManifestPattern, type ManifestEcr, type ManifestLambda, type ManifestStackHash, type ManifestCapacityAlias, type ManifestResidual, type FjallManifest } from "@fjall/util/manifest/schemas";
|
|
19
|
+
export type { ManifestService, ManifestPattern, ManifestEcr, ManifestLambda, ManifestStackHash, ManifestCapacityAlias, ManifestResidual, FjallManifest };
|
|
20
20
|
/**
|
|
21
21
|
* Collected manifest data during synthesis.
|
|
22
22
|
* Stores all data that will be written to the manifest file.
|
|
@@ -25,6 +25,7 @@ export declare class ManifestCollector {
|
|
|
25
25
|
private services;
|
|
26
26
|
private lambdas;
|
|
27
27
|
private capacityIdentityAliases;
|
|
28
|
+
private residuals;
|
|
28
29
|
private pattern?;
|
|
29
30
|
private ecr?;
|
|
30
31
|
private appName;
|
|
@@ -59,6 +60,19 @@ export declare class ManifestCollector {
|
|
|
59
60
|
* first-wins for safety.
|
|
60
61
|
*/
|
|
61
62
|
addCapacityIdentityAlias(alias: ManifestCapacityAlias): void;
|
|
63
|
+
/**
|
|
64
|
+
* Record a residual — a resource that survives (or needs SDK-side work on)
|
|
65
|
+
* an explicit destroy of the stack that declared it. Constructs register
|
|
66
|
+
* these at synth so the destroy lane can report what remains without
|
|
67
|
+
* re-deriving construct policy. First-wins on `constructPath`: a construct
|
|
68
|
+
* re-entered during synth (adopt seams re-resolve) must not duplicate its
|
|
69
|
+
* entry.
|
|
70
|
+
*/
|
|
71
|
+
addResidual(residual: ManifestResidual): void;
|
|
72
|
+
/**
|
|
73
|
+
* Get collected residuals.
|
|
74
|
+
*/
|
|
75
|
+
getResiduals(): ManifestResidual[];
|
|
62
76
|
/**
|
|
63
77
|
* Set the pattern configuration.
|
|
64
78
|
*/
|
|
@@ -29,6 +29,7 @@ export class ManifestCollector {
|
|
|
29
29
|
services = [];
|
|
30
30
|
lambdas = [];
|
|
31
31
|
capacityIdentityAliases = [];
|
|
32
|
+
residuals = [];
|
|
32
33
|
pattern;
|
|
33
34
|
ecr;
|
|
34
35
|
appName;
|
|
@@ -91,6 +92,25 @@ export class ManifestCollector {
|
|
|
91
92
|
`{app, slot} and cannot tell the clusters apart. Give one cluster ` +
|
|
92
93
|
`a distinct ec2Config.slot.`);
|
|
93
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Record a residual — a resource that survives (or needs SDK-side work on)
|
|
97
|
+
* an explicit destroy of the stack that declared it. Constructs register
|
|
98
|
+
* these at synth so the destroy lane can report what remains without
|
|
99
|
+
* re-deriving construct policy. First-wins on `constructPath`: a construct
|
|
100
|
+
* re-entered during synth (adopt seams re-resolve) must not duplicate its
|
|
101
|
+
* entry.
|
|
102
|
+
*/
|
|
103
|
+
addResidual(residual) {
|
|
104
|
+
if (!this.residuals.some((r) => r.constructPath === residual.constructPath)) {
|
|
105
|
+
this.residuals.push(residual);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Get collected residuals.
|
|
110
|
+
*/
|
|
111
|
+
getResiduals() {
|
|
112
|
+
return this.residuals;
|
|
113
|
+
}
|
|
94
114
|
/**
|
|
95
115
|
* Set the pattern configuration.
|
|
96
116
|
*/
|
|
@@ -211,6 +231,7 @@ export function writeManifest(assembly, collector) {
|
|
|
211
231
|
"version-compatibility gate.");
|
|
212
232
|
}
|
|
213
233
|
const identityAliases = collector.getCapacityIdentityAliases();
|
|
234
|
+
const residuals = collector.getResiduals();
|
|
214
235
|
const manifest = {
|
|
215
236
|
version: MANIFEST_SCHEMA_VERSION,
|
|
216
237
|
generatedAt: new Date().toISOString(),
|
|
@@ -220,6 +241,7 @@ export function writeManifest(assembly, collector) {
|
|
|
220
241
|
stacks,
|
|
221
242
|
...(engineCompat !== undefined ? { engineCompat } : {}),
|
|
222
243
|
...(identityAliases.length > 0 ? { identityAliases } : {}),
|
|
244
|
+
...(residuals.length > 0 ? { residuals } : {}),
|
|
223
245
|
...(constructMap.size > 0
|
|
224
246
|
? { resourceMap: constructMapToRecord(constructMap) }
|
|
225
247
|
: {})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjall/components-infrastructure",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.1.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/fjall-tech/fjall.git",
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"typecheck:deploy-tests": "tsc --noEmit -p tsconfig.deploy-tests.json",
|
|
53
53
|
"check:scripts": "tsc --project tsconfig.scripts.json",
|
|
54
54
|
"deploy-test": "tsx deploy-tests/run.mts",
|
|
55
|
+
"deploy-test:mutation": "tsx deploy-tests/mutationGate.mts",
|
|
55
56
|
"deploy-test:ops": "tsx deploy-tests/ops.mts",
|
|
56
57
|
"deploy-test:select": "tsx deploy-tests/select.mts",
|
|
57
58
|
"deploy-test:pipeline": "tsx deploy-tests/pipeline/renderPipelineSteps.mts",
|
|
@@ -79,8 +80,8 @@
|
|
|
79
80
|
},
|
|
80
81
|
"dependencies": {
|
|
81
82
|
"@aws-sdk/client-organizations": "^3.1098.0",
|
|
82
|
-
"@fjall/generator": "^
|
|
83
|
-
"@fjall/util": "^
|
|
83
|
+
"@fjall/generator": "^10.1.2",
|
|
84
|
+
"@fjall/util": "^10.1.2",
|
|
84
85
|
"constructs": "^10.7.2"
|
|
85
86
|
},
|
|
86
87
|
"overrides": {
|