@quadnix/octo 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -21
- package/dist/app.type.d.ts +141 -22
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +3 -5
- package/dist/decorators/model.decorator.js +1 -6
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.d.ts +2 -2
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +50 -1
- package/dist/decorators/resource.decorator.js +38 -1
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/errors/schema.error.d.ts +8 -1
- package/dist/errors/schema.error.js +5 -1
- package/dist/errors/schema.error.js.map +1 -1
- package/dist/errors/terraform.error.d.ts +4 -3
- package/dist/errors/terraform.error.js +4 -3
- package/dist/errors/terraform.error.js.map +1 -1
- package/dist/errors/transaction.error.d.ts +32 -2
- package/dist/errors/transaction.error.js +22 -0
- package/dist/errors/transaction.error.js.map +1 -1
- package/dist/events/action.event.d.ts +8 -2
- package/dist/events/action.event.js +2 -2
- package/dist/events/action.event.js.map +1 -1
- package/dist/events/command.event.d.ts +43 -0
- package/dist/events/command.event.js +33 -0
- package/dist/events/command.event.js.map +1 -0
- package/dist/events/event.model.d.ts +7 -5
- package/dist/events/event.model.js +5 -3
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook/commit.hook.event.d.ts +1 -1
- package/dist/events/hook/commit.hook.event.js.map +1 -1
- package/dist/events/hook/hook.event.d.ts +1 -1
- package/dist/events/hook/hook.event.js.map +1 -1
- package/dist/events/hook/model.hook.event.d.ts +1 -1
- package/dist/events/hook/model.hook.event.js.map +1 -1
- package/dist/events/hook/resource.hook.event.d.ts +1 -1
- package/dist/events/hook/resource.hook.event.js.map +1 -1
- package/dist/events/index.d.ts +2 -0
- package/dist/events/index.js +2 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/mode-result.event.d.ts +1 -1
- package/dist/events/mode-result.event.js.map +1 -1
- package/dist/events/mode.event.d.ts +8 -4
- package/dist/events/mode.event.js.map +1 -1
- package/dist/events/module.event.d.ts +7 -3
- package/dist/events/module.event.js +3 -2
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +1 -1
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +1 -1
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/state.event.d.ts +102 -0
- package/dist/events/state.event.js +69 -0
- package/dist/events/state.event.js.map +1 -0
- package/dist/events/terraform.event.d.ts +37 -1
- package/dist/events/terraform.event.js +24 -0
- package/dist/events/terraform.event.js.map +1 -1
- package/dist/events/transaction.event.d.ts +3 -3
- package/dist/events/transaction.event.js +1 -1
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/functions/container/container.js +1 -1
- package/dist/functions/container/container.js.map +1 -1
- package/dist/functions/container/test-container.js +2 -2
- package/dist/functions/container/test-container.js.map +1 -1
- package/dist/functions/dependency/dependency.d.ts +9 -22
- package/dist/functions/dependency/dependency.js +5 -1
- package/dist/functions/dependency/dependency.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +14 -7
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/node/node-action.abstract.d.ts +8 -10
- package/dist/functions/node/node-action.abstract.js +10 -16
- package/dist/functions/node/node-action.abstract.js.map +1 -1
- package/dist/functions/node/node.abstract.js +21 -10
- package/dist/functions/node/node.abstract.js.map +1 -1
- package/dist/functions/node/node.interface.d.ts +2 -1
- package/dist/functions/schema/schema.js +1 -1
- package/dist/functions/schema/schema.js.map +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/index.type.d.ts +5 -0
- package/dist/index.type.js +2 -0
- package/dist/index.type.js.map +1 -0
- package/dist/main.d.ts +4 -3
- package/dist/main.js +27 -11
- package/dist/main.js.map +1 -1
- package/dist/models/account/account.model.d.ts +6 -0
- package/dist/models/account/account.model.js +16 -0
- package/dist/models/account/account.model.js.map +1 -1
- package/dist/models/app/app.model.d.ts +0 -10
- package/dist/models/app/app.model.js +0 -30
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/deployment/deployment.schema.d.ts +4 -0
- package/dist/models/deployment/deployment.schema.js +4 -0
- package/dist/models/deployment/deployment.schema.js.map +1 -1
- package/dist/models/environment/environment.model.d.ts +2 -2
- package/dist/models/environment/environment.model.js +2 -2
- package/dist/models/execution/execution.model.d.ts +1 -1
- package/dist/models/execution/execution.model.js +1 -1
- package/dist/models/image/image.model.d.ts +4 -3
- package/dist/models/image/image.model.js +7 -6
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/model.abstract.js +1 -1
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/pipeline/pipeline.model.d.ts +1 -1
- package/dist/models/pipeline/pipeline.model.js +1 -1
- package/dist/models/server/server.model.d.ts +2 -2
- package/dist/models/server/server.model.js +2 -2
- package/dist/models/service/service.model.d.ts +28 -11
- package/dist/models/service/service.model.js +56 -16
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/service/service.schema.d.ts +46 -2
- package/dist/models/service/service.schema.js +54 -2
- package/dist/models/service/service.schema.js.map +1 -1
- package/dist/modes/commit.mode.d.ts +2 -2
- package/dist/modes/commit.mode.js +2 -2
- package/dist/modes/generate.mode.d.ts +2 -1
- package/dist/modes/generate.mode.js +3 -2
- package/dist/modes/generate.mode.js.map +1 -1
- package/dist/modes/run-action.mode.d.ts +1 -1
- package/dist/modes/run-action.mode.js +1 -1
- package/dist/modes/validate.mode.d.ts +24 -0
- package/dist/modes/validate.mode.js +89 -11
- package/dist/modes/validate.mode.js.map +1 -1
- package/dist/modules/module.container.d.ts +7 -1
- package/dist/modules/module.container.js +41 -5
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/test-module.container.js +35 -83
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/overlay.abstract.js +1 -1
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/resources/resource-action.interface.d.ts +4 -2
- package/dist/resources/resource.abstract.d.ts +50 -8
- package/dist/resources/resource.abstract.js +63 -32
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/resource.interface.d.ts +0 -2
- package/dist/resources/resource.schema.d.ts +11 -1
- package/dist/resources/resource.schema.js +11 -1
- package/dist/resources/resource.schema.js.map +1 -1
- package/dist/services/event/event.service.d.ts +2 -2
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.d.ts +30 -2
- package/dist/services/input/input.service.js +71 -4
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/serialization/model/model-serialization.service.d.ts +4 -6
- package/dist/services/serialization/model/model-serialization.service.js +20 -17
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +7 -6
- package/dist/services/serialization/resource/resource-serialization.service.js +25 -12
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.d.ts +25 -9
- package/dist/services/state-management/local.state-provider.js +127 -21
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/remote.state-provider.d.ts +216 -0
- package/dist/services/state-management/remote.state-provider.js +645 -0
- package/dist/services/state-management/remote.state-provider.js.map +1 -0
- package/dist/services/state-management/state-management.service.d.ts +83 -40
- package/dist/services/state-management/state-management.service.js +130 -26
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/state-provider.interface.d.ts +50 -9
- package/dist/services/state-management/state-provider.interface.js +14 -1
- package/dist/services/state-management/state-provider.interface.js.map +1 -1
- package/dist/services/state-management/terraform-state.service.d.ts +32 -9
- package/dist/services/state-management/terraform-state.service.js +64 -21
- package/dist/services/state-management/terraform-state.service.js.map +1 -1
- package/dist/services/state-management/test.state-provider.d.ts +11 -10
- package/dist/services/state-management/test.state-provider.js +35 -14
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/terraform/terraform.service.d.ts +57 -3
- package/dist/services/terraform/terraform.service.js +95 -8
- package/dist/services/terraform/terraform.service.js.map +1 -1
- package/dist/services/terraform/terraform.type.js +1 -1
- package/dist/services/terraform/terraform.type.js.map +1 -1
- package/dist/services/transaction/transaction.service.d.ts +29 -5
- package/dist/services/transaction/transaction.service.js +198 -34
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +2 -2
- package/dist/{functions → utilities}/diff/diff.utility.d.ts +2 -1
- package/dist/{functions → utilities}/diff/diff.utility.js +4 -3
- package/dist/utilities/diff/diff.utility.js.map +1 -0
- package/dist/utilities/file/file.utility.d.ts +6 -7
- package/dist/utilities/file/file.utility.js +13 -68
- package/dist/utilities/file/file.utility.js.map +1 -1
- package/dist/utilities/hcl/hcl.utility.d.ts +83 -16
- package/dist/utilities/hcl/hcl.utility.js +200 -27
- package/dist/utilities/hcl/hcl.utility.js.map +1 -1
- package/dist/utilities/http/http.utility.d.ts +57 -0
- package/dist/utilities/http/http.utility.js +98 -0
- package/dist/utilities/http/http.utility.js.map +1 -0
- package/dist/utilities/string/string.utility.d.ts +23 -3
- package/dist/utilities/string/string.utility.js +29 -3
- package/dist/utilities/string/string.utility.js.map +1 -1
- package/dist/utilities/terraform/terraform.utility.d.ts +70 -21
- package/dist/utilities/terraform/terraform.utility.js +255 -66
- package/dist/utilities/terraform/terraform.utility.js.map +1 -1
- package/dist/utilities/test-helpers/test-classes.d.ts +19 -0
- package/dist/utilities/test-helpers/test-classes.js +22 -0
- package/dist/utilities/test-helpers/test-classes.js.map +1 -1
- package/dist/utilities/test-helpers/test-models.d.ts +8 -1
- package/dist/utilities/test-helpers/test-models.js +25 -12
- package/dist/utilities/test-helpers/test-models.js.map +1 -1
- package/dist/utilities/test-helpers/test-modes.d.ts +1 -1
- package/dist/utilities/test-helpers/test-modes.js +36 -13
- package/dist/utilities/test-helpers/test-modes.js.map +1 -1
- package/dist/utilities/test-helpers/test-modules.d.ts +6 -0
- package/dist/utilities/test-helpers/test-modules.js +6 -0
- package/dist/utilities/test-helpers/test-modules.js.map +1 -1
- package/dist/utilities/test-helpers/test-overlays.d.ts +3 -1
- package/dist/utilities/test-helpers/test-overlays.js +8 -2
- package/dist/utilities/test-helpers/test-overlays.js.map +1 -1
- package/dist/utilities/test-helpers/test-resources.d.ts +4 -2
- package/dist/utilities/test-helpers/test-resources.js +22 -20
- package/dist/utilities/test-helpers/test-resources.js.map +1 -1
- package/package.json +7 -2
- package/dist/functions/diff/diff.utility.js.map +0 -1
- package/dist/services/state-management/file-app-lock.utility.d.ts +0 -43
- package/dist/services/state-management/file-app-lock.utility.js +0 -124
- package/dist/services/state-management/file-app-lock.utility.js.map +0 -1
- package/dist/services/state-management/local-encryption.state-provider.d.ts +0 -71
- package/dist/services/state-management/local-encryption.state-provider.js +0 -116
- package/dist/services/state-management/local-encryption.state-provider.js.map +0 -1
|
@@ -3,7 +3,7 @@ import { tmpdir } from 'node:os';
|
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import {} from '../functions/container/container.js';
|
|
5
5
|
import { DiffAction } from '../functions/diff/diff.js';
|
|
6
|
-
import {
|
|
6
|
+
import { ANodeAction } from '../functions/node/node-action.abstract.js';
|
|
7
7
|
import { Octo } from '../main.js';
|
|
8
8
|
import { AModel } from '../models/model.abstract.js';
|
|
9
9
|
import { applyModelTransaction } from '../modes/apply-transaction.js';
|
|
@@ -12,12 +12,12 @@ import { AOverlay } from '../overlays/overlay.abstract.js';
|
|
|
12
12
|
import { ResourceDataRepository } from '../resources/resource-data.repository.js';
|
|
13
13
|
import { AResource } from '../resources/resource.abstract.js';
|
|
14
14
|
import { InputService } from '../services/input/input.service.js';
|
|
15
|
-
import { LocalEncryptionStateProvider } from '../services/state-management/local-encryption.state-provider.js';
|
|
16
15
|
import { LocalStateProvider } from '../services/state-management/local.state-provider.js';
|
|
17
16
|
import { StateManagementService } from '../services/state-management/state-management.service.js';
|
|
18
17
|
import { TestStateProvider } from '../services/state-management/test.state-provider.js';
|
|
19
18
|
import { TerraformService } from '../services/terraform/terraform.service.js';
|
|
20
19
|
import { TransactionService } from '../services/transaction/transaction.service.js';
|
|
20
|
+
import { DiffUtility } from '../utilities/diff/diff.utility.js';
|
|
21
21
|
import { HclUtility } from '../utilities/hcl/hcl.utility.js';
|
|
22
22
|
import { TerraformUtility } from '../utilities/terraform/terraform.utility.js';
|
|
23
23
|
import { TestAnchor } from '../utilities/test-helpers/test-classes.js';
|
|
@@ -65,7 +65,13 @@ class UniversalModelAction {
|
|
|
65
65
|
/**
|
|
66
66
|
* @internal
|
|
67
67
|
*/
|
|
68
|
-
class UniversalResourceAction {
|
|
68
|
+
class UniversalResourceAction extends ANodeAction {
|
|
69
|
+
/**
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
constructor() {
|
|
73
|
+
super();
|
|
74
|
+
}
|
|
69
75
|
/**
|
|
70
76
|
* @internal
|
|
71
77
|
*/
|
|
@@ -111,19 +117,12 @@ export class TestModuleContainer {
|
|
|
111
117
|
* Use it to stand up the prerequisites a module under test expects to find.
|
|
112
118
|
*/
|
|
113
119
|
async createResources(moduleId, args, options) {
|
|
114
|
-
const
|
|
115
|
-
this.container.get(InputService),
|
|
116
|
-
this.container.get(ModuleContainer),
|
|
117
|
-
]);
|
|
120
|
+
const moduleContainer = await this.container.get(ModuleContainer);
|
|
118
121
|
// Register new moduleId as instance of the universal module.
|
|
119
122
|
moduleContainer.load(UniversalTestModule, moduleId, {});
|
|
120
123
|
// Immediately unload the universal module to ensure it does not run in apply().
|
|
121
124
|
moduleContainer.unload(UniversalTestModule);
|
|
122
|
-
|
|
123
|
-
for (const resource of Object.values(result)) {
|
|
124
|
-
inputService.registerResource(moduleId, resource);
|
|
125
|
-
}
|
|
126
|
-
return result;
|
|
125
|
+
return createResources(args, { ...options, moduleId });
|
|
127
126
|
}
|
|
128
127
|
/**
|
|
129
128
|
* To build a throwaway anchor for a test double, without declaring an anchor class.
|
|
@@ -177,11 +176,7 @@ export class TestModuleContainer {
|
|
|
177
176
|
* An overlay given no actions gets a no-op one.
|
|
178
177
|
*/
|
|
179
178
|
async createTestOverlays(moduleId, args) {
|
|
180
|
-
const
|
|
181
|
-
const [inputService, moduleContainer] = await Promise.all([
|
|
182
|
-
container.get(InputService),
|
|
183
|
-
container.get(ModuleContainer),
|
|
184
|
-
]);
|
|
179
|
+
const moduleContainer = await this.container.get(ModuleContainer);
|
|
185
180
|
// Register new moduleId as instance of the universal module.
|
|
186
181
|
moduleContainer.load(UniversalTestModule, moduleId, {});
|
|
187
182
|
// Immediately unload the universal module to ensure it does not run in apply().
|
|
@@ -198,22 +193,14 @@ export class TestModuleContainer {
|
|
|
198
193
|
arg.overlayActions = [universalAction];
|
|
199
194
|
}
|
|
200
195
|
}
|
|
201
|
-
|
|
202
|
-
for (const overlay of Object.values(result)) {
|
|
203
|
-
inputService.registerOverlay(moduleId, overlay);
|
|
204
|
-
}
|
|
205
|
-
return result;
|
|
196
|
+
return createTestOverlays(args, { moduleId });
|
|
206
197
|
}
|
|
207
198
|
/**
|
|
208
199
|
* To seed resources, as though the given module had produced them.
|
|
209
200
|
* A resource given no actions gets a no-op one, unless terraform owns it.
|
|
210
201
|
*/
|
|
211
202
|
async createTestResources(moduleId, args, options) {
|
|
212
|
-
const
|
|
213
|
-
const [inputService, moduleContainer] = await Promise.all([
|
|
214
|
-
container.get(InputService),
|
|
215
|
-
container.get(ModuleContainer),
|
|
216
|
-
]);
|
|
203
|
+
const moduleContainer = await this.container.get(ModuleContainer);
|
|
217
204
|
// Register new moduleId as instance of the universal module.
|
|
218
205
|
moduleContainer.load(UniversalTestModule, moduleId, {});
|
|
219
206
|
// Immediately unload the universal module to ensure it does not run in apply().
|
|
@@ -231,11 +218,7 @@ export class TestModuleContainer {
|
|
|
231
218
|
arg.resourceActions = [universalAction];
|
|
232
219
|
}
|
|
233
220
|
}
|
|
234
|
-
|
|
235
|
-
for (const resource of Object.values(result)) {
|
|
236
|
-
inputService.registerResource(moduleId, resource);
|
|
237
|
-
}
|
|
238
|
-
return result;
|
|
221
|
+
return createTestResources(args, { ...options, moduleId });
|
|
239
222
|
}
|
|
240
223
|
/**
|
|
241
224
|
* Reduces a transaction's diffs, model or resource, to a stable digest you can snapshot:
|
|
@@ -262,7 +245,6 @@ export class TestModuleContainer {
|
|
|
262
245
|
}
|
|
263
246
|
else if (d.action === DiffAction.VALIDATE) {
|
|
264
247
|
// Not a change: validation runs as its own transaction, one diff per surviving resource.
|
|
265
|
-
continue;
|
|
266
248
|
}
|
|
267
249
|
else {
|
|
268
250
|
changes.push(`* ${d.node.getContext()}`);
|
|
@@ -279,11 +261,8 @@ export class TestModuleContainer {
|
|
|
279
261
|
* @param excludeInContainer Factories to unregister at boot. See {@link Octo.initialize}.
|
|
280
262
|
*/
|
|
281
263
|
async initialize(stateProvider, initializeInContainer, excludeInContainer) {
|
|
282
|
-
if (stateProvider &&
|
|
283
|
-
|
|
284
|
-
stateProvider instanceof LocalStateProvider ||
|
|
285
|
-
stateProvider instanceof TestStateProvider)) {
|
|
286
|
-
throw new Error('TestModuleContainer is only meant to work with LocalEncryption, Local, or Test state provider!');
|
|
264
|
+
if (stateProvider && !(stateProvider instanceof LocalStateProvider || stateProvider instanceof TestStateProvider)) {
|
|
265
|
+
throw new Error('TestModuleContainer is only meant to work with Local or Test state provider!');
|
|
287
266
|
}
|
|
288
267
|
this.stateProvider = stateProvider ?? new TestStateProvider();
|
|
289
268
|
await this.octo.initialize(this.stateProvider, initializeInContainer, excludeInContainer);
|
|
@@ -411,7 +390,9 @@ export class TestModuleContainer {
|
|
|
411
390
|
}
|
|
412
391
|
// In production octo runs generate/validate/commit as three separate processes, each of which
|
|
413
392
|
// derives the resource graph once from intent. runModules drives all three in one process, so it
|
|
414
|
-
// builds the model transaction once and hands the same result to each mode.
|
|
393
|
+
// builds the model transaction once and hands the same result to each mode. The previous run's
|
|
394
|
+
// sweep is cleared first, as a new process would start without it.
|
|
395
|
+
terraformService.resetTransactionState();
|
|
415
396
|
const transaction = await applyModelTransaction(app);
|
|
416
397
|
// Generate.
|
|
417
398
|
const dir = outputDir ?? (await mkdtemp(join(tmpdir(), 'octo-hcl-')));
|
|
@@ -501,54 +482,25 @@ export class TestModuleContainer {
|
|
|
501
482
|
// reset(), which wipes the model attribution renderAllModules() depends on.
|
|
502
483
|
this.previousHcl = HclUtility.serialize(terraformService.renderAllModules());
|
|
503
484
|
const inputService = await this.container.get(InputService);
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
return inputService.getModuleIdFromModel(j.node) === moduleId;
|
|
485
|
+
if (filterByModuleIds.length > 0) {
|
|
486
|
+
const isFromModule = (node) => {
|
|
487
|
+
if (node instanceof AResource) {
|
|
488
|
+
return filterByModuleIds.includes(inputService.getModuleIdFromResource(node));
|
|
509
489
|
}
|
|
510
|
-
else if (
|
|
511
|
-
return inputService.getModuleIdFromOverlay(
|
|
490
|
+
else if (node instanceof AOverlay) {
|
|
491
|
+
return filterByModuleIds.includes(inputService.getModuleIdFromOverlay(node));
|
|
512
492
|
}
|
|
513
|
-
else {
|
|
514
|
-
return
|
|
493
|
+
else if (node instanceof AModel) {
|
|
494
|
+
return filterByModuleIds.includes(inputService.getModuleIdFromModel(node));
|
|
515
495
|
}
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
}
|
|
523
|
-
else if (j.node instanceof AOverlay) {
|
|
524
|
-
return inputService.getModuleIdFromOverlay(j.node) === moduleId;
|
|
525
|
-
}
|
|
526
|
-
else {
|
|
527
|
-
return false;
|
|
528
|
-
}
|
|
529
|
-
}))
|
|
530
|
-
.filter((i) => i.length);
|
|
531
|
-
response.resourceDiffs = response.resourceDiffs
|
|
532
|
-
.map((i) => i.filter((j) => {
|
|
533
|
-
if (j.node instanceof AResource) {
|
|
534
|
-
return inputService.getModuleIdFromResource(j.node) === moduleId;
|
|
535
|
-
}
|
|
536
|
-
else {
|
|
537
|
-
return false;
|
|
538
|
-
}
|
|
539
|
-
}))
|
|
540
|
-
.filter((i) => i.length);
|
|
496
|
+
return false;
|
|
497
|
+
};
|
|
498
|
+
const keep = (diffs) => diffs.map((i) => i.filter((j) => isFromModule(j.node))).filter((i) => i.length);
|
|
499
|
+
response.modelDiffs = keep(response.modelDiffs);
|
|
500
|
+
response.modelTransaction = keep(response.modelTransaction);
|
|
501
|
+
response.resourceDiffs = keep(response.resourceDiffs);
|
|
541
502
|
if (!skipResourceTransaction) {
|
|
542
|
-
response.resourceTransaction = response.resourceTransaction
|
|
543
|
-
.map((i) => i.filter((j) => {
|
|
544
|
-
if (j.node instanceof AResource) {
|
|
545
|
-
return inputService.getModuleIdFromResource(j.node) === moduleId;
|
|
546
|
-
}
|
|
547
|
-
else {
|
|
548
|
-
return false;
|
|
549
|
-
}
|
|
550
|
-
}))
|
|
551
|
-
.filter((i) => i.length);
|
|
503
|
+
response.resourceTransaction = keep(response.resourceTransaction);
|
|
552
504
|
}
|
|
553
505
|
}
|
|
554
506
|
await this.reset();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-module.container.js","sourceRoot":"","sources":["../../src/modules/test-module.container.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-module.container.js","sourceRoot":"","sources":["../../src/modules/test-module.container.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ export class AOverlay extends AModel {
|
|
|
45
45
|
const parent = await deReferenceContext(a.parent.context);
|
|
46
46
|
const anchor = parent.getAnchor(a.anchorId);
|
|
47
47
|
if (!anchor) {
|
|
48
|
-
throw new NodeUnsynthError('Cannot find anchor while
|
|
48
|
+
throw new NodeUnsynthError('Cannot find anchor while restoring overlay!', overlay.overlayId);
|
|
49
49
|
}
|
|
50
50
|
return anchor;
|
|
51
51
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.abstract.js","sourceRoot":"","sources":["../../src/overlays/overlay.abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,GAKf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAKrD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAgB,QACpB,SAAQ,MAAY;IAGpB;;;;OAIG;IACH,YACW,SAAyB,EACzB,UAA2B,EACpC,OAA6D;QAE7D,KAAK,EAAE,CAAC;QAJC,cAAS,GAAT,SAAS,CAAgB;QACzB,eAAU,GAAV,UAAU,CAAiB;QAKpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,oBAAyB,EACzB,OAAsC,EACtC,kBAA8D;QAE9D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAA8B,EAA0B,EAAE;YACnF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"overlay.abstract.js","sourceRoot":"","sources":["../../src/overlays/overlay.abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { UnknownResource } from '../app.type.js';
|
|
2
2
|
import type { Diff } from '../functions/diff/diff.js';
|
|
3
|
+
import type { ANodeAction } from '../functions/node/node-action.abstract.js';
|
|
3
4
|
/**
|
|
4
5
|
* A resource action creates, updates, or destroys one piece of real infrastructure.
|
|
5
6
|
*
|
|
@@ -7,13 +8,14 @@ import type { Diff } from '../functions/diff/diff.js';
|
|
|
7
8
|
* SDK. A resource whose lifecycle terraform manages ({@link ATerraformResource}) must not have one;
|
|
8
9
|
* registering an action for it throws.
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
+
* The class extends {@link ANodeAction}, which gives it the container and `log()`. Register it with
|
|
12
|
+
* {@link Action}, and a {@link Factory} to construct it.
|
|
11
13
|
*
|
|
12
14
|
* @group Resources
|
|
13
15
|
*
|
|
14
16
|
* @see Definition of [Actions](/docs/fundamentals/actions).
|
|
15
17
|
*/
|
|
16
|
-
export interface IResourceAction<T extends UnknownResource> {
|
|
18
|
+
export interface IResourceAction<T extends UnknownResource> extends ANodeAction {
|
|
17
19
|
/**
|
|
18
20
|
* How long the action may run before Octo aborts it.
|
|
19
21
|
*
|
|
@@ -12,7 +12,9 @@ import type { BaseResourceSchema } from './resource.schema.js';
|
|
|
12
12
|
* committed one to decide what to create, update, or destroy.
|
|
13
13
|
*
|
|
14
14
|
* A resource is identified by its `resourceId`, configured by its `properties`, and reports back
|
|
15
|
-
* through its `response` once the infrastructure exists.
|
|
15
|
+
* through its `response` once the infrastructure exists. The ID it is created with is its
|
|
16
|
+
* `localResourceId`, which only has to be unique within its `scope`: where the node creating the
|
|
17
|
+
* resource sits in the model graph. Octo makes the `resourceId` from the two.
|
|
16
18
|
*
|
|
17
19
|
* Most resources extend {@link ATerraformResource} rather than this class.
|
|
18
20
|
*
|
|
@@ -21,8 +23,29 @@ import type { BaseResourceSchema } from './resource.schema.js';
|
|
|
21
23
|
* @see Definition of [Resources](/docs/fundamentals/resources).
|
|
22
24
|
*/
|
|
23
25
|
export declare abstract class AResource<S extends BaseResourceSchema, T extends UnknownResource> extends ANode<S, T> implements IResource<S, T> {
|
|
24
|
-
readonly
|
|
26
|
+
readonly localResourceId: S['localResourceId'];
|
|
25
27
|
readonly properties: S['properties'];
|
|
28
|
+
/**
|
|
29
|
+
* Whether destroying a resource of this class loses data octo cannot put back. Set by {@link Resource}.
|
|
30
|
+
*
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
static readonly DESTROY_LOSES_DATA: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* The names this class declares unique, each by the properties whose values form its domain. Set by
|
|
36
|
+
* {@link Resource}.
|
|
37
|
+
*
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
static readonly UNIQUE_PROPERTIES: {
|
|
41
|
+
path: string;
|
|
42
|
+
within: string[];
|
|
43
|
+
}[];
|
|
44
|
+
/**
|
|
45
|
+
* The scope every resource constructed now is created in. The transaction sets it around each model
|
|
46
|
+
* action.
|
|
47
|
+
*/
|
|
48
|
+
private static constructionScope;
|
|
26
49
|
/**
|
|
27
50
|
* The resources this one is built on top of. A parent is always created before its children,
|
|
28
51
|
* and destroyed after them.
|
|
@@ -34,22 +57,45 @@ export declare abstract class AResource<S extends BaseResourceSchema, T extends
|
|
|
34
57
|
* when they need to reference this one.
|
|
35
58
|
*/
|
|
36
59
|
readonly response: S['response'];
|
|
60
|
+
/**
|
|
61
|
+
* The contexts of the models this resource is placed under, sorted. Octo derives it from the node
|
|
62
|
+
* whose action created the resource; a resource created outside a model action has an empty scope.
|
|
63
|
+
*/
|
|
64
|
+
readonly scope: string[];
|
|
37
65
|
/**
|
|
38
66
|
* The tags applied to this resource. See {@link Octo.registerTags} to set them in bulk.
|
|
39
67
|
*/
|
|
40
68
|
readonly tags: S['tags'];
|
|
69
|
+
/**
|
|
70
|
+
* The ID of the resource, unique across the infrastructure: its `localResourceId`, followed by a
|
|
71
|
+
* hash of its scope when it has one.
|
|
72
|
+
*/
|
|
73
|
+
get resourceId(): S['resourceId'];
|
|
41
74
|
private _deleteMarker;
|
|
42
75
|
/**
|
|
43
|
-
* @param
|
|
76
|
+
* @param localResourceId The ID of the resource, unique within its scope.
|
|
44
77
|
* @param properties The desired configuration of the resource.
|
|
45
78
|
* @param parents The resources this one is built on top of.
|
|
46
79
|
* @throws {@link ResourceError} If the resource ID is not alphanumeric with `-`, `_`, or `/`.
|
|
47
80
|
*/
|
|
48
|
-
protected constructor(
|
|
81
|
+
protected constructor(localResourceId: S['localResourceId'], properties: S['properties'], parents?: (MatchingResource<BaseResourceSchema> | UnknownResource)[]);
|
|
49
82
|
/**
|
|
50
83
|
* @internal
|
|
51
84
|
*/
|
|
52
85
|
static cloneResource<T extends UnknownResource>(sourceResource: T, deReferenceResource: (context: string) => Promise<UnknownResource>): Promise<T>;
|
|
86
|
+
/**
|
|
87
|
+
* Constructs resources in the given scope.
|
|
88
|
+
*
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
static constructInScope<R>(scope: string[], construct: () => R): R;
|
|
92
|
+
/**
|
|
93
|
+
* Runs a model action, so every resource it constructs is created in the given scope.
|
|
94
|
+
* Model actions run one at a time, which is what makes the scope safe to hold statically.
|
|
95
|
+
*
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
static runInScope<R>(scope: string[], run: () => Promise<R>): Promise<R>;
|
|
53
99
|
/**
|
|
54
100
|
* @internal
|
|
55
101
|
*/
|
|
@@ -157,10 +203,6 @@ export declare abstract class AResource<S extends BaseResourceSchema, T extends
|
|
|
157
203
|
* Whether this resource is marked for deletion, and will leave the graph at the end of the transaction.
|
|
158
204
|
*/
|
|
159
205
|
isMarkedDeleted(): boolean;
|
|
160
|
-
/**
|
|
161
|
-
* @internal
|
|
162
|
-
*/
|
|
163
|
-
merge(previous: AResource<S, T>): AResource<S, T>;
|
|
164
206
|
/**
|
|
165
207
|
* To mark this resource for deletion. It leaves the graph at the end of the transaction.
|
|
166
208
|
*
|
|
@@ -2,9 +2,9 @@ import { MatchingResource } from '../app.type.js';
|
|
|
2
2
|
import { DiffInverseResourceError, RemoveResourceError, ResourceError } from '../errors/index.js';
|
|
3
3
|
import { DependencyRelationship } from '../functions/dependency/dependency.js';
|
|
4
4
|
import { Diff, DiffAction } from '../functions/diff/diff.js';
|
|
5
|
-
import { DiffUtility } from '../functions/diff/diff.utility.js';
|
|
6
5
|
import { ANode } from '../functions/node/node.abstract.js';
|
|
7
|
-
import {
|
|
6
|
+
import { DiffUtility } from '../utilities/diff/diff.utility.js';
|
|
7
|
+
import { StringUtility } from '../utilities/string/string.utility.js';
|
|
8
8
|
/**
|
|
9
9
|
* The base class of every resource - the nodes that describe actual cloud infrastructure.
|
|
10
10
|
*
|
|
@@ -13,7 +13,9 @@ import { ObjectUtility } from '../utilities/object/object.utility.js';
|
|
|
13
13
|
* committed one to decide what to create, update, or destroy.
|
|
14
14
|
*
|
|
15
15
|
* A resource is identified by its `resourceId`, configured by its `properties`, and reports back
|
|
16
|
-
* through its `response` once the infrastructure exists.
|
|
16
|
+
* through its `response` once the infrastructure exists. The ID it is created with is its
|
|
17
|
+
* `localResourceId`, which only has to be unique within its `scope`: where the node creating the
|
|
18
|
+
* resource sits in the model graph. Octo makes the `resourceId` from the two.
|
|
17
19
|
*
|
|
18
20
|
* Most resources extend {@link ATerraformResource} rather than this class.
|
|
19
21
|
*
|
|
@@ -23,14 +25,29 @@ import { ObjectUtility } from '../utilities/object/object.utility.js';
|
|
|
23
25
|
*/
|
|
24
26
|
export class AResource extends ANode {
|
|
25
27
|
/**
|
|
26
|
-
*
|
|
28
|
+
* The scope every resource constructed now is created in. The transaction sets it around each model
|
|
29
|
+
* action.
|
|
30
|
+
*/
|
|
31
|
+
static { this.constructionScope = []; }
|
|
32
|
+
/**
|
|
33
|
+
* The ID of the resource, unique across the infrastructure: its `localResourceId`, followed by a
|
|
34
|
+
* hash of its scope when it has one.
|
|
35
|
+
*/
|
|
36
|
+
get resourceId() {
|
|
37
|
+
if (this.scope.length === 0) {
|
|
38
|
+
return this.localResourceId;
|
|
39
|
+
}
|
|
40
|
+
return `${this.localResourceId}-${StringUtility.deterministicHash(this.scope).substring(0, 6)}`;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @param localResourceId The ID of the resource, unique within its scope.
|
|
27
44
|
* @param properties The desired configuration of the resource.
|
|
28
45
|
* @param parents The resources this one is built on top of.
|
|
29
46
|
* @throws {@link ResourceError} If the resource ID is not alphanumeric with `-`, `_`, or `/`.
|
|
30
47
|
*/
|
|
31
|
-
constructor(
|
|
48
|
+
constructor(localResourceId, properties, parents = []) {
|
|
32
49
|
super();
|
|
33
|
-
this.
|
|
50
|
+
this.localResourceId = localResourceId;
|
|
34
51
|
this.properties = properties;
|
|
35
52
|
/**
|
|
36
53
|
* The resources this one is built on top of. A parent is always created before its children,
|
|
@@ -43,12 +60,17 @@ export class AResource extends ANode {
|
|
|
43
60
|
* when they need to reference this one.
|
|
44
61
|
*/
|
|
45
62
|
this.response = {};
|
|
63
|
+
/**
|
|
64
|
+
* The contexts of the models this resource is placed under, sorted. Octo derives it from the node
|
|
65
|
+
* whose action created the resource; a resource created outside a model action has an empty scope.
|
|
66
|
+
*/
|
|
67
|
+
this.scope = [...AResource.constructionScope];
|
|
46
68
|
/**
|
|
47
69
|
* The tags applied to this resource. See {@link Octo.registerTags} to set them in bulk.
|
|
48
70
|
*/
|
|
49
71
|
this.tags = {};
|
|
50
72
|
this._deleteMarker = false;
|
|
51
|
-
if (!/^[\w-/]+$/.test(
|
|
73
|
+
if (!/^[\w-/]+$/.test(localResourceId)) {
|
|
52
74
|
throw new ResourceError('Invalid resource ID!', this);
|
|
53
75
|
}
|
|
54
76
|
for (const parent of parents) {
|
|
@@ -62,6 +84,37 @@ export class AResource extends ANode {
|
|
|
62
84
|
const deserializationClass = sourceResource.constructor;
|
|
63
85
|
return deserializationClass.unSynth(deserializationClass, sourceResource.synth(), deReferenceResource);
|
|
64
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Constructs resources in the given scope.
|
|
89
|
+
*
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
static constructInScope(scope, construct) {
|
|
93
|
+
const previousScope = AResource.constructionScope;
|
|
94
|
+
AResource.constructionScope = scope;
|
|
95
|
+
try {
|
|
96
|
+
return construct();
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
AResource.constructionScope = previousScope;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Runs a model action, so every resource it constructs is created in the given scope.
|
|
104
|
+
* Model actions run one at a time, which is what makes the scope safe to hold statically.
|
|
105
|
+
*
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
static async runInScope(scope, run) {
|
|
109
|
+
const previousScope = AResource.constructionScope;
|
|
110
|
+
AResource.constructionScope = scope;
|
|
111
|
+
try {
|
|
112
|
+
return await run();
|
|
113
|
+
}
|
|
114
|
+
finally {
|
|
115
|
+
AResource.constructionScope = previousScope;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
65
118
|
/**
|
|
66
119
|
* @internal
|
|
67
120
|
*/
|
|
@@ -77,7 +130,7 @@ export class AResource extends ANode {
|
|
|
77
130
|
return p;
|
|
78
131
|
}
|
|
79
132
|
});
|
|
80
|
-
const newResource = new deserializationClass(resource.
|
|
133
|
+
const newResource = AResource.constructInScope(resource.scope || [], () => new deserializationClass(resource.localResourceId, resource.properties, resourceInlineParents));
|
|
81
134
|
for (const key of Object.keys(resource.response)) {
|
|
82
135
|
newResource.response[key] = resource.response[key];
|
|
83
136
|
}
|
|
@@ -435,30 +488,6 @@ export class AResource extends ANode {
|
|
|
435
488
|
isMarkedDeleted() {
|
|
436
489
|
return this._deleteMarker;
|
|
437
490
|
}
|
|
438
|
-
/**
|
|
439
|
-
* @internal
|
|
440
|
-
*/
|
|
441
|
-
merge(previous) {
|
|
442
|
-
const currentDependencies = this.getDependencies();
|
|
443
|
-
const previousDependencies = previous.getDependencies();
|
|
444
|
-
ObjectUtility.deepMergeInPlace(previous.properties, this.properties);
|
|
445
|
-
ObjectUtility.deepMergeInPlace(previous.response, this.response);
|
|
446
|
-
ObjectUtility.deepMergeInPlace(previous.tags, this.tags);
|
|
447
|
-
const currentDependenciesNotInPreviousResource = currentDependencies.filter((cd) => !previousDependencies.find((pd) => pd.isEqual(cd)));
|
|
448
|
-
for (const dependency of currentDependenciesNotInPreviousResource) {
|
|
449
|
-
if (dependency.isChildRelationship()) {
|
|
450
|
-
dependency.to.addChild('resourceId', previous, 'resourceId');
|
|
451
|
-
}
|
|
452
|
-
else if (dependency.isParentRelationship()) {
|
|
453
|
-
previous.addChild('resourceId', dependency.to, 'resourceId');
|
|
454
|
-
}
|
|
455
|
-
else {
|
|
456
|
-
throw new ResourceError('Unknown dependency found in merge!', this);
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
Object.assign(this, previous);
|
|
460
|
-
return previous;
|
|
461
|
-
}
|
|
462
491
|
/**
|
|
463
492
|
* To mark this resource for deletion. It leaves the graph at the end of the transaction.
|
|
464
493
|
*
|
|
@@ -503,6 +532,7 @@ export class AResource extends ANode {
|
|
|
503
532
|
*/
|
|
504
533
|
synth() {
|
|
505
534
|
const resourceSynth = {
|
|
535
|
+
localResourceId: this.localResourceId,
|
|
506
536
|
parents: this.parents.map((p) => {
|
|
507
537
|
const parentReference = {
|
|
508
538
|
context: p instanceof MatchingResource ? p.getActual().getContext() : p.getContext(),
|
|
@@ -517,6 +547,7 @@ export class AResource extends ANode {
|
|
|
517
547
|
properties: JSON.parse(JSON.stringify(this.properties)),
|
|
518
548
|
resourceId: this.resourceId,
|
|
519
549
|
response: JSON.parse(JSON.stringify(this.response)),
|
|
550
|
+
scope: [...this.scope],
|
|
520
551
|
tags: JSON.parse(JSON.stringify(this.tags)),
|
|
521
552
|
};
|
|
522
553
|
return resourceSynth;
|