@empire-builder-kit/nx 1.0.0-rc.31 → 1.0.0-rc.32
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/package.json +7 -3
- package/src/aws/identity.js +1 -1
- package/src/aws/identity.js.map +1 -1
- package/src/aws-authority/stage-authority.d.ts +2 -0
- package/src/aws-authority/stage-authority.js +152 -20
- package/src/aws-authority/stage-authority.js.map +1 -1
- package/src/cli/main.d.ts +2 -0
- package/src/cli/main.js +11 -0
- package/src/cli/main.js.map +1 -1
- package/src/developer-agent/workspace-inspection.js +11 -2
- package/src/developer-agent/workspace-inspection.js.map +1 -1
- package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
- package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
- package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
- package/src/executors/github-bootstrap/schema.json +7 -1
- package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +2 -0
- package/src/executors/infrastructure-plan/infrastructure-plan.js +18 -1
- package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -1
- package/src/executors/local-deploy/local-deploy.d.ts +2 -0
- package/src/executors/local-deploy/local-deploy.js +17 -0
- package/src/executors/local-deploy/local-deploy.js.map +1 -1
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +2 -0
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +2 -0
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +1 -1
- package/src/executors/secret-initialize/secret-initialize.d.ts +2 -0
- package/src/executors/secret-initialize/secret-initialize.js +14 -0
- package/src/executors/secret-initialize/secret-initialize.js.map +1 -1
- package/src/executors/secret-metadata/secret-metadata.d.ts +2 -0
- package/src/executors/secret-metadata/secret-metadata.js +14 -0
- package/src/executors/secret-metadata/secret-metadata.js.map +1 -1
- package/src/executors/sst-lifecycle/run-sst-command.d.ts +2 -0
- package/src/executors/sst-lifecycle/run-sst-command.js +17 -2
- package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
- package/src/foundation/provision-logical-database.js +2 -0
- package/src/foundation/provision-logical-database.js.map +1 -1
- package/src/generators/preset/generator.js +6 -1
- package/src/generators/preset/generator.js.map +1 -1
- package/src/generators/preset/schema.d.ts +3 -0
- package/src/generators/preset/schema.json +5 -5
- package/src/generators/preset/workspace-files-performance-load.js +21 -12
- package/src/generators/preset/workspace-files-performance-load.js.map +1 -1
- package/src/generators/preset/workspace-files-stage-authority.d.ts +2 -0
- package/src/generators/preset/workspace-files-stage-authority.js +264 -60
- package/src/generators/preset/workspace-files-stage-authority.js.map +1 -1
- package/src/generators/preset/workspace-files-thin-deploy.d.ts +6 -1
- package/src/generators/preset/workspace-files-thin-deploy.js +102 -36
- package/src/generators/preset/workspace-files-thin-deploy.js.map +1 -1
- package/src/generators/preset/workspace-files-thin-docs.js +26 -10
- package/src/generators/preset/workspace-files-thin-docs.js.map +1 -1
- package/src/generators/preset/workspace-files.d.ts +1 -0
- package/src/generators/preset/workspace-files.js +111 -493
- package/src/generators/preset/workspace-files.js.map +1 -1
- package/src/generators/repository-policy/repository-policy.js +149 -19
- package/src/generators/repository-policy/repository-policy.js.map +1 -1
- package/src/generators/repository-policy/schema.d.ts +2 -0
- package/src/generators/repository-policy/schema.json +11 -1
- package/src/generators/repository-policy/tree-policy.d.ts +3 -0
- package/src/generators/repository-policy/tree-policy.js +25 -0
- package/src/generators/repository-policy/tree-policy.js.map +1 -0
- package/src/generators/slice/built-in-plan-async-work-files.js +41 -0
- package/src/generators/slice/built-in-plan-async-work-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +2 -0
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +19 -0
- package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +21 -3
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +20 -1
- package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-operations-files.js +22 -2
- package/src/generators/slice/built-in-plan-operations-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-performance-files.js +60 -0
- package/src/generators/slice/built-in-plan-performance-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-secret-runtime-files.js +13 -0
- package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-testing-files.js +20 -0
- package/src/generators/slice/built-in-plan-testing-files.js.map +1 -1
- package/src/generators/slice/slice.js +3 -3
- package/src/generators/slice/slice.js.map +1 -1
- package/src/generators/upgrade/upgrade.js +25 -28
- package/src/generators/upgrade/upgrade.js.map +1 -1
- package/src/generators/workload/performance-registration.js +4 -8
- package/src/generators/workload/performance-registration.js.map +1 -1
- package/src/git-policy/github-bootstrap.d.ts +10 -2
- package/src/git-policy/github-bootstrap.js +109 -13
- package/src/git-policy/github-bootstrap.js.map +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/local-dev/tls.js +5 -1
- package/src/local-dev/tls.js.map +1 -1
- package/src/repository-policy/policy.d.ts +16 -1
- package/src/repository-policy/policy.js +226 -12
- package/src/repository-policy/policy.js.map +1 -1
- package/src/schemas/repository-policy-v1.json +46 -2
- package/src/secrets/adapters.d.ts +2 -1
- package/src/secrets/adapters.js +12 -2
- package/src/secrets/adapters.js.map +1 -1
- package/src/supply-chain/generated-container-release-command.js +41 -18
- package/src/supply-chain/generated-container-release-command.js.map +1 -1
- package/src/workspace-deployment/identity.d.ts +3 -0
- package/src/workspace-deployment/identity.js +22 -0
- package/src/workspace-deployment/identity.js.map +1 -0
- package/src/workspace-deployment/index.d.ts +3 -0
- package/src/workspace-deployment/index.js +7 -0
- package/src/workspace-deployment/index.js.map +1 -0
- package/src/workspace-deployment/migration-evidence.d.ts +29 -0
- package/src/workspace-deployment/migration-evidence.js +83 -0
- package/src/workspace-deployment/migration-evidence.js.map +1 -0
- package/src/workspace-deployment/migration.d.ts +27 -0
- package/src/workspace-deployment/migration.js +109 -0
- package/src/workspace-deployment/migration.js.map +1 -0
- package/src/workspace-deployment/ownership.d.ts +81 -0
- package/src/workspace-deployment/ownership.js +381 -0
- package/src/workspace-deployment/ownership.js.map +1 -0
|
@@ -13,16 +13,24 @@ exports.configuredDeploymentRegion = configuredDeploymentRegion;
|
|
|
13
13
|
exports.validateRepositoryOperatingPolicy = validateRepositoryOperatingPolicy;
|
|
14
14
|
exports.formatRepositoryPolicyIssues = formatRepositoryPolicyIssues;
|
|
15
15
|
exports.parseRepositoryOperatingPolicy = parseRepositoryOperatingPolicy;
|
|
16
|
+
exports.validateRepositoryOperatingPolicyMigrationProvenance = validateRepositoryOperatingPolicyMigrationProvenance;
|
|
16
17
|
exports.readRepositoryOperatingPolicy = readRepositoryOperatingPolicy;
|
|
17
18
|
exports.createIncubationRepositoryPolicy = createIncubationRepositoryPolicy;
|
|
18
19
|
exports.applyRepositoryPolicyChange = applyRepositoryPolicyChange;
|
|
19
20
|
exports.evaluateRepositoryPolicyRequest = evaluateRepositoryPolicyRequest;
|
|
20
21
|
exports.assertRepositoryPolicyRequest = assertRepositoryPolicyRequest;
|
|
22
|
+
const node_crypto_1 = require("node:crypto");
|
|
23
|
+
const node_buffer_1 = require("node:buffer");
|
|
21
24
|
const node_fs_1 = require("node:fs");
|
|
22
25
|
const node_path_1 = require("node:path");
|
|
23
26
|
const validation_js_1 = require("../validation.js");
|
|
27
|
+
const identity_js_1 = require("../workspace-deployment/identity.js");
|
|
28
|
+
const migration_evidence_js_1 = require("../workspace-deployment/migration-evidence.js");
|
|
24
29
|
exports.REPOSITORY_POLICY_FILE = 'ebk.repository-policy.json';
|
|
25
30
|
exports.REPOSITORY_POLICY_SCHEMA_VERSION = 1;
|
|
31
|
+
const MAX_REPOSITORY_POLICY_BYTES = 1024 * 1024;
|
|
32
|
+
const MAX_WORKSPACE_DEPLOYMENT_MIGRATION_EVIDENCE_BYTES = 128 * 1024;
|
|
33
|
+
const UNSUPPORTED_AWS_PARTITION_REGION = /^(?:us-iso-|us-isob-|eu-isoe-|us-isof-)/u;
|
|
26
34
|
exports.REPOSITORY_POLICY_SCHEMA_URL = './node_modules/@empire-builder-kit/nx/schemas/repository-policy-v1.json';
|
|
27
35
|
exports.PRODUCTION_ACCESS_VALUES = ['disabled', 'controlled'];
|
|
28
36
|
exports.PRODUCTION_APPROVAL_MODES = [
|
|
@@ -130,8 +138,9 @@ function configuredDeploymentAccountForStage(profile, accounts, stage) {
|
|
|
130
138
|
}
|
|
131
139
|
function configuredDeploymentRegion(region) {
|
|
132
140
|
if (region === null ||
|
|
133
|
-
!/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/.test(region)
|
|
134
|
-
|
|
141
|
+
!/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/.test(region) ||
|
|
142
|
+
UNSUPPORTED_AWS_PARTITION_REGION.test(region)) {
|
|
143
|
+
throw new Error('Deployment Region is incomplete or belongs to an unsupported AWS partition; configure one exact commercial, China, or GovCloud AWS Region before deployment.');
|
|
135
144
|
}
|
|
136
145
|
return region;
|
|
137
146
|
}
|
|
@@ -146,6 +155,8 @@ const POLICY_PROPERTIES = new Set([
|
|
|
146
155
|
'productionFoundation',
|
|
147
156
|
'schemaVersion',
|
|
148
157
|
'slices',
|
|
158
|
+
'workspaceDeploymentId',
|
|
159
|
+
'workspaceDeploymentProvenance',
|
|
149
160
|
]);
|
|
150
161
|
const REQUIRED_POLICY_PROPERTIES = [
|
|
151
162
|
'deploymentAccounts',
|
|
@@ -156,6 +167,8 @@ const REQUIRED_POLICY_PROPERTIES = [
|
|
|
156
167
|
'productionFoundation',
|
|
157
168
|
'schemaVersion',
|
|
158
169
|
'slices',
|
|
170
|
+
'workspaceDeploymentId',
|
|
171
|
+
'workspaceDeploymentProvenance',
|
|
159
172
|
];
|
|
160
173
|
function rejectUnknownProperties(value, allowed, path, issues) {
|
|
161
174
|
for (const property of Object.keys(value)) {
|
|
@@ -189,6 +202,67 @@ function validateRepositoryOperatingPolicy(value) {
|
|
|
189
202
|
path: 'policy.$schema',
|
|
190
203
|
});
|
|
191
204
|
}
|
|
205
|
+
if (!(0, validation_js_1.isRecord)(value.workspaceDeploymentProvenance)) {
|
|
206
|
+
issues.push({
|
|
207
|
+
message: 'must declare exact fresh or migrated provenance',
|
|
208
|
+
path: 'policy.workspaceDeploymentProvenance',
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
const provenance = value.workspaceDeploymentProvenance;
|
|
213
|
+
const provenancePath = 'policy.workspaceDeploymentProvenance';
|
|
214
|
+
if (provenance.kind === 'fresh') {
|
|
215
|
+
rejectUnknownProperties(provenance, new Set(['kind', 'schemaVersion']), provenancePath, issues);
|
|
216
|
+
if (provenance.schemaVersion !== 1) {
|
|
217
|
+
issues.push({
|
|
218
|
+
message: 'must equal 1',
|
|
219
|
+
path: `${provenancePath}.schemaVersion`,
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
else if (provenance.kind === 'migrated') {
|
|
224
|
+
rejectUnknownProperties(provenance, new Set(['evidencePath', 'evidenceSha256', 'kind', 'schemaVersion']), provenancePath, issues);
|
|
225
|
+
const evidencePath = provenance.evidencePath;
|
|
226
|
+
const pathSegments = typeof evidencePath === 'string' ? evidencePath.split('/') : [];
|
|
227
|
+
if (typeof evidencePath !== 'string' ||
|
|
228
|
+
!/^docs\/adoption\/[A-Za-z0-9._/-]+[.]json$/u.test(evidencePath) ||
|
|
229
|
+
(0, node_path_1.isAbsolute)(evidencePath) ||
|
|
230
|
+
evidencePath.includes('\\') ||
|
|
231
|
+
evidencePath.includes('//') ||
|
|
232
|
+
pathSegments.some((segment) => segment === '' || segment === '.' || segment === '..')) {
|
|
233
|
+
issues.push({
|
|
234
|
+
message: 'must be one normalized JSON path beneath docs/adoption without traversal',
|
|
235
|
+
path: `${provenancePath}.evidencePath`,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
if (typeof provenance.evidenceSha256 !== 'string' ||
|
|
239
|
+
!/^[a-f0-9]{64}$/u.test(provenance.evidenceSha256)) {
|
|
240
|
+
issues.push({
|
|
241
|
+
message: 'must be one lowercase SHA-256 digest',
|
|
242
|
+
path: `${provenancePath}.evidenceSha256`,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
if (provenance.schemaVersion !== 1) {
|
|
246
|
+
issues.push({
|
|
247
|
+
message: 'must equal 1',
|
|
248
|
+
path: `${provenancePath}.schemaVersion`,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
issues.push({
|
|
254
|
+
message: 'kind must equal fresh or migrated',
|
|
255
|
+
path: `${provenancePath}.kind`,
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
if (typeof value.workspaceDeploymentId !== 'string' ||
|
|
260
|
+
!identity_js_1.WORKSPACE_DEPLOYMENT_ID_PATTERN.test(value.workspaceDeploymentId)) {
|
|
261
|
+
issues.push({
|
|
262
|
+
message: 'must be ebkws- followed by exactly 128 bits of lowercase hexadecimal identity',
|
|
263
|
+
path: 'policy.workspaceDeploymentId',
|
|
264
|
+
});
|
|
265
|
+
}
|
|
192
266
|
if (!isOneOf(value.deploymentProfile, exports.DEPLOYMENT_PROFILES)) {
|
|
193
267
|
issues.push({
|
|
194
268
|
message: `must equal ${exports.DEPLOYMENT_PROFILES.join(', ')}`,
|
|
@@ -197,9 +271,10 @@ function validateRepositoryOperatingPolicy(value) {
|
|
|
197
271
|
}
|
|
198
272
|
if (value.deploymentRegion !== null &&
|
|
199
273
|
(typeof value.deploymentRegion !== 'string' ||
|
|
200
|
-
!/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/.test(value.deploymentRegion)
|
|
274
|
+
!/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/.test(value.deploymentRegion) ||
|
|
275
|
+
UNSUPPORTED_AWS_PARTITION_REGION.test(value.deploymentRegion))) {
|
|
201
276
|
issues.push({
|
|
202
|
-
message: 'must be null or one exact AWS Region',
|
|
277
|
+
message: 'must be null or one exact commercial, China, or GovCloud AWS Region',
|
|
203
278
|
path: 'policy.deploymentRegion',
|
|
204
279
|
});
|
|
205
280
|
}
|
|
@@ -313,7 +388,7 @@ function missingPolicyDecisionGuidance(value) {
|
|
|
313
388
|
const missing = REQUIRED_POLICY_PROPERTIES.filter((property) => !Object.prototype.hasOwnProperty.call(value, property));
|
|
314
389
|
if (missing.length === 0)
|
|
315
390
|
return '';
|
|
316
|
-
return `\nMissing required top-level policy members: ${missing.join(', ')}.\nClean regeneration required: regenerate the workspace from the current exact packed candidate, then deliberately reapply the reviewed deployment-profile, production-access, approval-mode, Foundation-profile, and per-Slice decisions. Existing prerelease repositories
|
|
391
|
+
return `\nMissing required top-level policy members: ${missing.join(', ')}.\nClean regeneration required: regenerate the workspace from the current exact packed candidate, then deliberately reapply the reviewed deployment-profile, production-access, approval-mode, Foundation-profile, and per-Slice decisions. Existing prerelease repositories must explicitly migrate a stable workspaceDeploymentId and required migrated provenance with bounded, version-controlled tuple occupancy evidence; a legacy profile migration also requires --deploymentProfile=fully-isolated. Then commit exact development, staging, and production AWS account IDs plus deploymentRegion before any deployment. Migration preserves the reviewed authority model and workspace ownership assertion, not deployability; all-null account topology remains fail closed. Missing decisions are not inferred or amended in place.`;
|
|
317
392
|
}
|
|
318
393
|
function parseRepositoryOperatingPolicy(contents, source = exports.REPOSITORY_POLICY_FILE) {
|
|
319
394
|
let value;
|
|
@@ -329,18 +404,155 @@ function parseRepositoryOperatingPolicy(contents, source = exports.REPOSITORY_PO
|
|
|
329
404
|
}
|
|
330
405
|
return result.value;
|
|
331
406
|
}
|
|
332
|
-
function
|
|
333
|
-
const
|
|
334
|
-
|
|
407
|
+
function workspaceDeploymentMigrationCoordinates(policy) {
|
|
408
|
+
const region = configuredDeploymentRegion(policy.deploymentRegion);
|
|
409
|
+
const accounts = configuredDeploymentAccountTopology(policy.deploymentProfile, policy.deploymentAccounts);
|
|
410
|
+
return activeDeploymentStages(policy.deploymentProfile)
|
|
411
|
+
.map((stage) => ({ accountId: accounts[stage], region, stage }))
|
|
412
|
+
.sort((left, right) => left.stage < right.stage ? -1 : left.stage > right.stage ? 1 : 0);
|
|
413
|
+
}
|
|
414
|
+
function validateRepositoryOperatingPolicyMigrationProvenance(input) {
|
|
415
|
+
if (input.policy.workspaceDeploymentProvenance.kind !== 'migrated')
|
|
416
|
+
return;
|
|
417
|
+
if (node_buffer_1.Buffer.byteLength(input.evidenceBytes, 'utf8') > 131_072) {
|
|
418
|
+
throw new Error(`Workspace deployment migration evidence at ${input.evidenceSource} exceeds the 128 KiB retention bound.`);
|
|
419
|
+
}
|
|
420
|
+
const actualDigest = (0, node_crypto_1.createHash)('sha256')
|
|
421
|
+
.update(input.evidenceBytes, 'utf8')
|
|
422
|
+
.digest('hex');
|
|
423
|
+
if (actualDigest !== input.policy.workspaceDeploymentProvenance.evidenceSha256) {
|
|
424
|
+
throw new Error(`Workspace deployment migration evidence at ${input.evidenceSource} does not match the committed SHA-256 binding.`);
|
|
425
|
+
}
|
|
426
|
+
let evidence;
|
|
427
|
+
try {
|
|
428
|
+
evidence = JSON.parse(input.evidenceBytes);
|
|
429
|
+
}
|
|
430
|
+
catch (error) {
|
|
431
|
+
throw new Error(`Workspace deployment migration evidence at ${input.evidenceSource} is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
432
|
+
}
|
|
433
|
+
(0, migration_evidence_js_1.validateWorkspaceDeploymentMigrationEvidence)({
|
|
434
|
+
evidence,
|
|
435
|
+
expectedCoordinates: workspaceDeploymentMigrationCoordinates(input.policy),
|
|
436
|
+
workspaceDeploymentId: input.policy.workspaceDeploymentId,
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
function isContainedFilesystemPath(root, path) {
|
|
440
|
+
const fromRoot = (0, node_path_1.relative)(root, path);
|
|
441
|
+
return (fromRoot === '' ||
|
|
442
|
+
(!fromRoot.startsWith(`..${node_path_1.sep}`) &&
|
|
443
|
+
fromRoot !== '..' &&
|
|
444
|
+
!(0, node_path_1.isAbsolute)(fromRoot)));
|
|
445
|
+
}
|
|
446
|
+
function repositoryPolicyWorkspaceRoot(workspaceRoot) {
|
|
447
|
+
try {
|
|
448
|
+
const root = (0, node_fs_1.realpathSync)(workspaceRoot);
|
|
449
|
+
if (!(0, node_fs_1.lstatSync)(root).isDirectory()) {
|
|
450
|
+
throw new Error('workspace root is not a directory');
|
|
451
|
+
}
|
|
452
|
+
return root;
|
|
453
|
+
}
|
|
454
|
+
catch (error) {
|
|
455
|
+
throw new Error(`Repository Operating Policy workspace root is unavailable at ${workspaceRoot}: ${error instanceof Error ? error.message : String(error)}`);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
function readBoundedContainedRepositoryFile(input) {
|
|
459
|
+
const segments = input.relativePath.split('/');
|
|
460
|
+
if (input.relativePath.length === 0 ||
|
|
461
|
+
input.relativePath.includes('\0') ||
|
|
462
|
+
input.relativePath.includes('\\') ||
|
|
463
|
+
(0, node_path_1.isAbsolute)(input.relativePath) ||
|
|
464
|
+
segments.some((segment) => segment === '' || segment === '.' || segment === '..')) {
|
|
465
|
+
throw new Error(`${input.label} path escaped the workspace: ${input.relativePath}`);
|
|
466
|
+
}
|
|
467
|
+
const path = (0, node_path_1.resolve)(input.workspaceRoot, ...segments);
|
|
468
|
+
if (!isContainedFilesystemPath(input.workspaceRoot, path)) {
|
|
469
|
+
throw new Error(`${input.label} path escaped the workspace: ${path}`);
|
|
470
|
+
}
|
|
471
|
+
let descriptor;
|
|
335
472
|
try {
|
|
336
|
-
|
|
473
|
+
const pathMetadata = (0, node_fs_1.lstatSync)(path);
|
|
474
|
+
if (pathMetadata.isSymbolicLink() || !pathMetadata.isFile()) {
|
|
475
|
+
throw new Error('path is not one regular non-symlink file');
|
|
476
|
+
}
|
|
477
|
+
const resolvedPath = (0, node_fs_1.realpathSync)(path);
|
|
478
|
+
if (!isContainedFilesystemPath(input.workspaceRoot, resolvedPath)) {
|
|
479
|
+
throw new Error(`${input.label} path escaped the workspace through a parent path`);
|
|
480
|
+
}
|
|
481
|
+
descriptor = (0, node_fs_1.openSync)(path, node_fs_1.constants.O_RDONLY | (node_fs_1.constants.O_NOFOLLOW ?? 0));
|
|
482
|
+
const metadata = (0, node_fs_1.fstatSync)(descriptor);
|
|
483
|
+
if (!metadata.isFile() ||
|
|
484
|
+
metadata.dev !== pathMetadata.dev ||
|
|
485
|
+
metadata.ino !== pathMetadata.ino) {
|
|
486
|
+
throw new Error('path changed before it could be read safely');
|
|
487
|
+
}
|
|
488
|
+
if (metadata.size > input.maximumBytes) {
|
|
489
|
+
throw new Error(`file exceeds ${input.maximumDescription}`);
|
|
490
|
+
}
|
|
491
|
+
const capacity = Math.min(input.maximumBytes + 1, metadata.size + 1);
|
|
492
|
+
const buffer = node_buffer_1.Buffer.alloc(capacity);
|
|
493
|
+
let offset = 0;
|
|
494
|
+
while (offset < buffer.byteLength) {
|
|
495
|
+
const count = (0, node_fs_1.readSync)(descriptor, buffer, offset, buffer.byteLength - offset, null);
|
|
496
|
+
if (count === 0)
|
|
497
|
+
break;
|
|
498
|
+
offset += count;
|
|
499
|
+
}
|
|
500
|
+
const finalMetadata = (0, node_fs_1.fstatSync)(descriptor);
|
|
501
|
+
if (offset !== metadata.size ||
|
|
502
|
+
finalMetadata.size !== metadata.size ||
|
|
503
|
+
finalMetadata.mtimeMs !== metadata.mtimeMs ||
|
|
504
|
+
finalMetadata.ctimeMs !== metadata.ctimeMs) {
|
|
505
|
+
throw new Error('file changed while it was read or exceeded its fixed byte bound');
|
|
506
|
+
}
|
|
507
|
+
const finalPathMetadata = (0, node_fs_1.lstatSync)(path);
|
|
508
|
+
const finalResolvedPath = (0, node_fs_1.realpathSync)(path);
|
|
509
|
+
if (finalPathMetadata.isSymbolicLink() ||
|
|
510
|
+
!finalPathMetadata.isFile() ||
|
|
511
|
+
finalPathMetadata.dev !== metadata.dev ||
|
|
512
|
+
finalPathMetadata.ino !== metadata.ino ||
|
|
513
|
+
!isContainedFilesystemPath(input.workspaceRoot, finalResolvedPath)) {
|
|
514
|
+
throw new Error('path changed after it was read safely');
|
|
515
|
+
}
|
|
516
|
+
return {
|
|
517
|
+
contents: buffer.subarray(0, offset).toString('utf8'),
|
|
518
|
+
path: finalResolvedPath,
|
|
519
|
+
};
|
|
337
520
|
}
|
|
338
521
|
catch (error) {
|
|
339
|
-
throw new Error(
|
|
522
|
+
throw new Error(`${input.label} is required as a bounded contained regular non-symlink file at ${path}: ${error instanceof Error ? error.message : String(error)}`);
|
|
523
|
+
}
|
|
524
|
+
finally {
|
|
525
|
+
if (descriptor !== undefined)
|
|
526
|
+
(0, node_fs_1.closeSync)(descriptor);
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
function readRepositoryOperatingPolicy(workspaceRoot) {
|
|
530
|
+
const workspace = repositoryPolicyWorkspaceRoot(workspaceRoot);
|
|
531
|
+
const policySource = readBoundedContainedRepositoryFile({
|
|
532
|
+
label: 'Repository Operating Policy',
|
|
533
|
+
maximumBytes: MAX_REPOSITORY_POLICY_BYTES,
|
|
534
|
+
maximumDescription: 'its 1 MiB control-file bound',
|
|
535
|
+
relativePath: exports.REPOSITORY_POLICY_FILE,
|
|
536
|
+
workspaceRoot: workspace,
|
|
537
|
+
});
|
|
538
|
+
const policy = parseRepositoryOperatingPolicy(policySource.contents, policySource.path);
|
|
539
|
+
if (policy.workspaceDeploymentProvenance.kind === 'migrated') {
|
|
540
|
+
const evidenceSource = readBoundedContainedRepositoryFile({
|
|
541
|
+
label: 'Workspace deployment migration evidence',
|
|
542
|
+
maximumBytes: MAX_WORKSPACE_DEPLOYMENT_MIGRATION_EVIDENCE_BYTES,
|
|
543
|
+
maximumDescription: 'the 128 KiB retention bound',
|
|
544
|
+
relativePath: policy.workspaceDeploymentProvenance.evidencePath,
|
|
545
|
+
workspaceRoot: workspace,
|
|
546
|
+
});
|
|
547
|
+
validateRepositoryOperatingPolicyMigrationProvenance({
|
|
548
|
+
evidenceBytes: evidenceSource.contents,
|
|
549
|
+
evidenceSource: evidenceSource.path,
|
|
550
|
+
policy,
|
|
551
|
+
});
|
|
340
552
|
}
|
|
341
|
-
return
|
|
553
|
+
return policy;
|
|
342
554
|
}
|
|
343
|
-
function createIncubationRepositoryPolicy(deploymentProfile = 'starter') {
|
|
555
|
+
function createIncubationRepositoryPolicy(deploymentProfile = 'starter', workspaceDeploymentId = (0, identity_js_1.createWorkspaceDeploymentId)()) {
|
|
344
556
|
return {
|
|
345
557
|
$schema: exports.REPOSITORY_POLICY_SCHEMA_URL,
|
|
346
558
|
deploymentAccounts: {
|
|
@@ -359,6 +571,8 @@ function createIncubationRepositoryPolicy(deploymentProfile = 'starter') {
|
|
|
359
571
|
},
|
|
360
572
|
schemaVersion: exports.REPOSITORY_POLICY_SCHEMA_VERSION,
|
|
361
573
|
slices: {},
|
|
574
|
+
workspaceDeploymentId,
|
|
575
|
+
workspaceDeploymentProvenance: { kind: 'fresh', schemaVersion: 1 },
|
|
362
576
|
};
|
|
363
577
|
}
|
|
364
578
|
function applyRepositoryPolicyChange(current, change) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../../packages/nx/src/repository-policy/policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../../packages/nx/src/repository-policy/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"productionAccess",
|
|
13
13
|
"productionApproval",
|
|
14
14
|
"productionFoundation",
|
|
15
|
-
"slices"
|
|
15
|
+
"slices",
|
|
16
|
+
"workspaceDeploymentId",
|
|
17
|
+
"workspaceDeploymentProvenance"
|
|
16
18
|
],
|
|
17
19
|
"properties": {
|
|
18
20
|
"$schema": { "type": "string", "minLength": 1 },
|
|
@@ -26,7 +28,7 @@
|
|
|
26
28
|
{ "type": "null" },
|
|
27
29
|
{
|
|
28
30
|
"type": "string",
|
|
29
|
-
"pattern": "^[a-z]{2}(-gov)?-[a-z]+(-[a-z]+)*-[0-9]$"
|
|
31
|
+
"pattern": "^(?!(us-iso-|us-isob-|eu-isoe-|us-isof-))[a-z]{2}(-gov)?-[a-z]+(-[a-z]+)*-[0-9]$"
|
|
30
32
|
}
|
|
31
33
|
]
|
|
32
34
|
},
|
|
@@ -95,6 +97,48 @@
|
|
|
95
97
|
}
|
|
96
98
|
}
|
|
97
99
|
}
|
|
100
|
+
},
|
|
101
|
+
"workspaceDeploymentId": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"pattern": "^ebkws-[a-f0-9]{32}$",
|
|
104
|
+
"description": "Stable generated identity shared by clones of this workspace and bound to every active AWS stage tuple."
|
|
105
|
+
},
|
|
106
|
+
"workspaceDeploymentProvenance": {
|
|
107
|
+
"oneOf": [
|
|
108
|
+
{
|
|
109
|
+
"type": "object",
|
|
110
|
+
"additionalProperties": false,
|
|
111
|
+
"required": ["kind", "schemaVersion"],
|
|
112
|
+
"properties": {
|
|
113
|
+
"kind": { "const": "fresh" },
|
|
114
|
+
"schemaVersion": { "const": 1 }
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"type": "object",
|
|
119
|
+
"additionalProperties": false,
|
|
120
|
+
"required": [
|
|
121
|
+
"evidencePath",
|
|
122
|
+
"evidenceSha256",
|
|
123
|
+
"kind",
|
|
124
|
+
"schemaVersion"
|
|
125
|
+
],
|
|
126
|
+
"properties": {
|
|
127
|
+
"evidencePath": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"pattern": "^docs/adoption/[A-Za-z0-9._/-]+[.]json$",
|
|
130
|
+
"not": { "pattern": "/(?:[.]|[.][.])(?:/|$)|//" }
|
|
131
|
+
},
|
|
132
|
+
"evidenceSha256": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
135
|
+
},
|
|
136
|
+
"kind": { "const": "migrated" },
|
|
137
|
+
"schemaVersion": { "const": 1 }
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"description": "Required origin declaration. Migrated identities retain an exact version-controlled occupancy-evidence binding."
|
|
98
142
|
}
|
|
99
143
|
}
|
|
100
144
|
}
|
|
@@ -31,7 +31,7 @@ export interface SecretDeclarationContractLike {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
export declare class SecretDeclarationAdapterError extends Error {
|
|
34
|
-
readonly code: 'secret-cross-slice-approval-required' | 'secret-consumption-stage-invalid' | 'secret-declaration-adapter-invalid' | 'secret-reference-undeclared';
|
|
34
|
+
readonly code: 'secret-cross-slice-approval-required' | 'secret-consumption-stage-invalid' | 'secret-declaration-adapter-invalid' | 'secret-reference-ownership-invalid' | 'secret-reference-undeclared';
|
|
35
35
|
constructor(code: SecretDeclarationAdapterError['code']);
|
|
36
36
|
}
|
|
37
37
|
export declare function toSecretMetadataDeclaration(declaration: SecretDeclarationContractLike): SecretMetadataDeclaration;
|
|
@@ -43,6 +43,7 @@ export declare function createDeclaredWorkloadSecretPermissionIntent(input: {
|
|
|
43
43
|
declarations: Readonly<Record<string, SecretDeclarationContractLike>>;
|
|
44
44
|
externalApprovals?: readonly {
|
|
45
45
|
approved: true;
|
|
46
|
+
containerOwnership: 'ebk-stage' | 'external';
|
|
46
47
|
logicalName: string;
|
|
47
48
|
owner: string;
|
|
48
49
|
secretArn: string;
|
package/src/secrets/adapters.js
CHANGED
|
@@ -187,14 +187,24 @@ function createDeclaredWorkloadSecretPermissionIntent(input) {
|
|
|
187
187
|
}
|
|
188
188
|
const resourceName = reference.secretArn.split(':secret:')[1] ?? '';
|
|
189
189
|
const expectedPrefix = `ebk/${input.stage}/${input.consumerSlice}/`;
|
|
190
|
+
const reservedStagePrefix = `ebk/${input.stage}/`;
|
|
190
191
|
if (!resourceName.startsWith(expectedPrefix)) {
|
|
191
|
-
const
|
|
192
|
+
const approval = input.externalApprovals?.find((approval) => approval.approved === true &&
|
|
192
193
|
approval.logicalName === reference.logicalName &&
|
|
193
194
|
approval.owner === declaration.owner &&
|
|
194
195
|
approval.secretArn === reference.secretArn);
|
|
195
|
-
if (
|
|
196
|
+
if (approval === undefined) {
|
|
196
197
|
throw new SecretDeclarationAdapterError('secret-cross-slice-approval-required');
|
|
197
198
|
}
|
|
199
|
+
const isReservedStageContainer = resourceName.startsWith(reservedStagePrefix);
|
|
200
|
+
const isAnyReservedEbkContainer = resourceName.startsWith('ebk/');
|
|
201
|
+
if ((isReservedStageContainer &&
|
|
202
|
+
approval.containerOwnership !== 'ebk-stage') ||
|
|
203
|
+
(!isReservedStageContainer &&
|
|
204
|
+
approval.containerOwnership !== 'external') ||
|
|
205
|
+
(isAnyReservedEbkContainer && !isReservedStageContainer)) {
|
|
206
|
+
throw new SecretDeclarationAdapterError('secret-reference-ownership-invalid');
|
|
207
|
+
}
|
|
198
208
|
}
|
|
199
209
|
}
|
|
200
210
|
return (0, permissions_js_1.createWorkloadSecretPermissionIntent)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../../../packages/nx/src/secrets/adapters.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../../../packages/nx/src/secrets/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -207,28 +207,39 @@ const localFederated =
|
|
|
207
207
|
process.env.GITHUB_ACTIONS !== 'true' &&
|
|
208
208
|
process.env.EBK_LOCAL_DEPLOYMENT_MODE === 'federated';
|
|
209
209
|
const localRunId = process.env.EBK_LOCAL_CONTAINER_RUN_ID?.trim() ?? '';
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
210
|
+
const policy = JSON.parse(
|
|
211
|
+
readFileSync(join(repositoryRoot, 'ebk.repository-policy.json'), 'utf8'),
|
|
212
|
+
);
|
|
213
|
+
const selectedDeploymentProfile =
|
|
214
|
+
process.env.EBK_DEPLOYMENT_PROFILE?.trim() ?? '';
|
|
215
|
+
const activeStages = {
|
|
216
|
+
starter: ['development', 'production'],
|
|
217
|
+
'production-isolated': ['development', 'staging', 'production'],
|
|
218
|
+
'fully-isolated': ['development', 'staging', 'production'],
|
|
219
|
+
}[policy.deploymentProfile];
|
|
220
|
+
const locallyAdmittedStages = {
|
|
217
221
|
starter: ['development', 'production'],
|
|
218
222
|
'production-isolated': ['development', 'staging'],
|
|
219
223
|
'fully-isolated': ['development'],
|
|
220
224
|
}[policy.deploymentProfile];
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
225
|
+
if (
|
|
226
|
+
selectedDeploymentProfile !== policy.deploymentProfile ||
|
|
227
|
+
!activeStages ||
|
|
228
|
+
!activeStages.includes(stage) ||
|
|
229
|
+
policy.deploymentAccounts?.[stage] !== accountId ||
|
|
230
|
+
policy.deploymentRegion !== region
|
|
231
|
+
) {
|
|
232
|
+
throw new Error(
|
|
233
|
+
'Container release requires the exact committed profile, active stage, account, and Region.',
|
|
234
|
+
);
|
|
235
|
+
}
|
|
236
|
+
if (
|
|
237
|
+
localFederated &&
|
|
238
|
+
(!locallyAdmittedStages || !locallyAdmittedStages.includes(stage))
|
|
239
|
+
) {
|
|
240
|
+
throw new Error(
|
|
241
|
+
'Local container release requires one of the committed profile locally admitted stages.',
|
|
242
|
+
);
|
|
232
243
|
}
|
|
233
244
|
const runId = localFederated
|
|
234
245
|
? localRunId
|
|
@@ -1135,6 +1146,18 @@ const caller = awsJson(
|
|
|
1135
1146
|
if (caller?.Account !== accountId) {
|
|
1136
1147
|
throw new Error('Container release AWS caller differs from the target account.');
|
|
1137
1148
|
}
|
|
1149
|
+
execute(
|
|
1150
|
+
process.execPath,
|
|
1151
|
+
[
|
|
1152
|
+
safePath(
|
|
1153
|
+
'tools/stage-authority-render.mjs',
|
|
1154
|
+
'Workspace ownership doctor',
|
|
1155
|
+
),
|
|
1156
|
+
'--stage=' + stage,
|
|
1157
|
+
'--ownership-doctor=true',
|
|
1158
|
+
],
|
|
1159
|
+
'Workspace stage ownership',
|
|
1160
|
+
);
|
|
1138
1161
|
const controls = readJson(
|
|
1139
1162
|
safePath('operations/release.json', 'Release controls', { base: sliceRoot }),
|
|
1140
1163
|
'Release controls',
|