@empire-builder-kit/nx 1.0.0-rc.30 → 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/executors.json +8 -3
- package/package.json +14 -7
- package/src/aws/child-environment.d.ts +10 -0
- package/src/aws/child-environment.js +77 -0
- package/src/aws/child-environment.js.map +1 -0
- package/src/aws/identity.d.ts +13 -0
- package/src/aws/identity.js +41 -0
- package/src/aws/identity.js.map +1 -0
- package/src/aws-authority/index.d.ts +1 -0
- package/src/aws-authority/index.js +5 -0
- package/src/aws-authority/index.js.map +1 -0
- package/src/aws-authority/stage-authority.d.ts +240 -0
- package/src/aws-authority/stage-authority.js +2968 -0
- package/src/aws-authority/stage-authority.js.map +1 -0
- 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/generator-planning.js +4 -4
- package/src/developer-agent/generator-planning.js.map +1 -1
- package/src/developer-agent/operation-registry.js +14 -6
- package/src/developer-agent/operation-registry.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/deployment-plan/deployment-plan.js +1 -1
- package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
- package/src/executors/foundation-preflight/foundation-preflight.d.ts +0 -1
- package/src/executors/foundation-preflight/foundation-preflight.js.map +1 -1
- package/src/executors/foundation-preflight/schema.json +0 -5
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +12 -3
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +95 -32
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +1 -1
- package/src/executors/foundation-profile-preflight/production-database-safeguard.d.ts +64 -0
- package/src/executors/foundation-profile-preflight/production-database-safeguard.js +221 -0
- package/src/executors/foundation-profile-preflight/production-database-safeguard.js.map +1 -0
- package/src/executors/foundation-profile-preflight/schema.json +1 -6
- package/src/executors/foundation-remove-preflight/foundation-remove-preflight.d.ts +11 -1
- package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +44 -21
- package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +1 -1
- package/src/executors/foundation-remove-preflight/schema.json +6 -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 +27 -369
- package/src/executors/infrastructure-plan/infrastructure-plan.js +237 -5470
- package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -1
- package/src/executors/infrastructure-plan/schema.json +8 -64
- package/src/executors/local-deploy/federated-credential-transport.d.ts +48 -0
- package/src/executors/local-deploy/federated-credential-transport.js +252 -0
- package/src/executors/local-deploy/federated-credential-transport.js.map +1 -0
- package/src/executors/local-deploy/local-approval.d.ts +4 -9
- package/src/executors/local-deploy/local-approval.js +3 -7
- package/src/executors/local-deploy/local-approval.js.map +1 -1
- package/src/executors/local-deploy/local-deploy.d.ts +60 -43
- package/src/executors/local-deploy/local-deploy.js +955 -804
- package/src/executors/local-deploy/local-deploy.js.map +1 -1
- package/src/executors/local-deploy/schema.json +3 -20
- package/src/executors/refresh/refresh.js +2 -2
- package/src/executors/refresh/refresh.js.map +1 -1
- package/src/executors/remove/remove.js +2 -2
- package/src/executors/remove/remove.js.map +1 -1
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +27 -1
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +907 -22
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +1 -1
- package/src/executors/router-waf-rehearsal/schema.json +17 -2
- package/src/executors/secret-initialize/schema.json +42 -0
- package/src/executors/secret-initialize/secret-initialize.d.ts +32 -0
- package/src/executors/secret-initialize/secret-initialize.js +243 -0
- package/src/executors/secret-initialize/secret-initialize.js.map +1 -0
- package/src/executors/secret-metadata/secret-metadata.d.ts +4 -1
- package/src/executors/secret-metadata/secret-metadata.js +76 -29
- package/src/executors/secret-metadata/secret-metadata.js.map +1 -1
- package/src/executors/sst-lifecycle/generated-secret-retirement.d.ts +53 -0
- package/src/executors/sst-lifecycle/generated-secret-retirement.js +192 -0
- package/src/executors/sst-lifecycle/generated-secret-retirement.js.map +1 -0
- package/src/executors/sst-lifecycle/governed-native-operation.d.ts +46 -0
- package/src/executors/sst-lifecycle/governed-native-operation.js +153 -0
- package/src/executors/sst-lifecycle/governed-native-operation.js.map +1 -0
- package/src/executors/sst-lifecycle/run-sst-command.d.ts +27 -7
- package/src/executors/sst-lifecycle/run-sst-command.js +474 -89
- package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
- package/src/executors/sst-lifecycle/schema.json +0 -5
- package/src/executors/sst-lifecycle/secret-preflight.d.ts +2 -0
- package/src/executors/sst-lifecycle/secret-preflight.js +13 -7
- package/src/executors/sst-lifecycle/secret-preflight.js.map +1 -1
- package/src/executors/unlock/unlock.js +2 -2
- package/src/executors/unlock/unlock.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/foundation/router-waf-rate-rehearsal.d.ts +97 -0
- package/src/foundation/router-waf-rate-rehearsal.js +210 -0
- package/src/foundation/router-waf-rate-rehearsal.js.map +1 -0
- package/src/foundation/router-waf.d.ts +59 -9
- package/src/foundation/router-waf.js +427 -32
- package/src/foundation/router-waf.js.map +1 -1
- package/src/foundation/stages.d.ts +1 -0
- package/src/foundation/stages.js +11 -0
- package/src/foundation/stages.js.map +1 -1
- package/src/generators/formatting.d.ts +8 -0
- package/src/generators/formatting.js +118 -0
- package/src/generators/formatting.js.map +1 -0
- package/src/generators/function/function.js +37 -17
- package/src/generators/function/function.js.map +1 -1
- package/src/generators/post-generation-install.js +2 -2
- package/src/generators/post-generation-install.js.map +1 -1
- package/src/generators/preset/generator.js +28 -8
- 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-developer-agent.js +15 -7
- package/src/generators/preset/workspace-files-developer-agent.js.map +1 -1
- package/src/generators/preset/workspace-files-ecr-inspector.d.ts +18 -0
- package/src/generators/preset/workspace-files-ecr-inspector.js +298 -0
- package/src/generators/preset/workspace-files-ecr-inspector.js.map +1 -0
- package/src/generators/preset/workspace-files-performance-cost.d.ts +2 -2
- package/src/generators/preset/workspace-files-performance-cost.js +8 -8
- package/src/generators/preset/workspace-files-performance-cost.js.map +1 -1
- package/src/generators/preset/workspace-files-performance-load.d.ts +1 -1
- package/src/generators/preset/workspace-files-performance-load.js +29 -24
- package/src/generators/preset/workspace-files-performance-load.js.map +1 -1
- package/src/generators/preset/workspace-files-stage-authority.d.ts +6 -0
- package/src/generators/preset/workspace-files-stage-authority.js +479 -0
- package/src/generators/preset/workspace-files-stage-authority.js.map +1 -0
- package/src/generators/preset/workspace-files-thin-deploy.d.ts +40 -0
- package/src/generators/preset/workspace-files-thin-deploy.js +1500 -0
- package/src/generators/preset/workspace-files-thin-deploy.js.map +1 -0
- package/src/generators/preset/workspace-files-thin-docs.d.ts +5 -0
- package/src/generators/preset/workspace-files-thin-docs.js +240 -0
- package/src/generators/preset/workspace-files-thin-docs.js.map +1 -0
- package/src/generators/preset/workspace-files-thin-release.d.ts +14 -0
- package/src/generators/preset/workspace-files-thin-release.js +26 -0
- package/src/generators/preset/workspace-files-thin-release.js.map +1 -0
- package/src/generators/preset/workspace-files.d.ts +2 -1
- package/src/generators/preset/workspace-files.js +448 -680
- 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-api-files.js +1 -0
- package/src/generators/slice/built-in-plan-api-files.js.map +1 -1
- 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 +6 -0
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +5 -31
- package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-data-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-data-files.js +89 -30
- package/src/generators/slice/built-in-plan-data-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-foundation-files.js +3 -5
- package/src/generators/slice/built-in-plan-foundation-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-frontend-files.js +5 -1
- package/src/generators/slice/built-in-plan-frontend-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-infrastructure-files.js +199 -188
- package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-metadata-files.js +13 -0
- package/src/generators/slice/built-in-plan-metadata-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-native-runtime-authority-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-native-runtime-authority-files.js +307 -0
- package/src/generators/slice/built-in-plan-native-runtime-authority-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-operations-files.js +65 -51
- package/src/generators/slice/built-in-plan-operations-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-performance-files.js +97 -19
- package/src/generators/slice/built-in-plan-performance-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-project-files.js +9 -68
- package/src/generators/slice/built-in-plan-project-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-secret-runtime-files.js +87 -76
- package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-testing-files.js +94 -47
- package/src/generators/slice/built-in-plan-testing-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-thin-release-files.d.ts +11 -0
- package/src/generators/slice/built-in-plan-thin-release-files.js +129 -0
- package/src/generators/slice/built-in-plan-thin-release-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-verification-files.js +6 -2
- package/src/generators/slice/built-in-plan-verification-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-web-files.js +4 -2
- package/src/generators/slice/built-in-plan-web-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-workload-role-files.js +26 -4
- package/src/generators/slice/built-in-plan-workload-role-files.js.map +1 -1
- package/src/generators/slice/built-in-plan.d.ts +1 -0
- package/src/generators/slice/built-in-plan.js +28 -11
- package/src/generators/slice/built-in-plan.js.map +1 -1
- package/src/generators/slice/slice.js +30 -32
- package/src/generators/slice/slice.js.map +1 -1
- package/src/generators/upgrade/upgrade.d.ts +1 -1
- package/src/generators/upgrade/upgrade.js +200 -48
- package/src/generators/upgrade/upgrade.js.map +1 -1
- package/src/generators/workload/performance-registration.d.ts +1 -0
- package/src/generators/workload/performance-registration.js +9 -11
- package/src/generators/workload/performance-registration.js.map +1 -1
- package/src/generators/workload/service-performance-files.d.ts +1 -0
- package/src/generators/workload/service-performance-files.js +27 -7
- package/src/generators/workload/service-performance-files.js.map +1 -1
- package/src/generators/workload/workload.d.ts +1 -1
- package/src/generators/workload/workload.js +55 -28
- package/src/generators/workload/workload.js.map +1 -1
- package/src/git-policy/github-bootstrap.d.ts +28 -7
- package/src/git-policy/github-bootstrap.js +205 -163
- 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/private-state.d.ts +3 -0
- package/src/local-dev/private-state.js +17 -5
- package/src/local-dev/private-state.js.map +1 -1
- package/src/local-dev/tls.js +5 -1
- package/src/local-dev/tls.js.map +1 -1
- package/src/performance/cost-collection.d.ts +1 -1
- package/src/performance/cost-collection.js +4 -2
- package/src/performance/cost-collection.js.map +1 -1
- package/src/performance/cost-controls.d.ts +3 -1
- package/src/performance/cost-controls.js +9 -4
- package/src/performance/cost-controls.js.map +1 -1
- package/src/performance/evidence.d.ts +1 -1
- package/src/performance/evidence.js +5 -3
- package/src/performance/evidence.js.map +1 -1
- package/src/performance/load-safety.js +5 -3
- package/src/performance/load-safety.js.map +1 -1
- package/src/performance/model.d.ts +2 -2
- package/src/performance/model.js +4 -3
- package/src/performance/model.js.map +1 -1
- package/src/release/index.d.ts +0 -2
- package/src/release/index.js +0 -2
- package/src/release/index.js.map +1 -1
- package/src/release/source-authority.d.ts +4 -5
- package/src/release/source-authority.js +13 -123
- package/src/release/source-authority.js.map +1 -1
- package/src/repository-policy/aurora-preflight.d.ts +1 -1
- package/src/repository-policy/aurora-preflight.js +4 -1
- package/src/repository-policy/aurora-preflight.js.map +1 -1
- package/src/repository-policy/policy.d.ts +21 -2
- package/src/repository-policy/policy.js +290 -25
- package/src/repository-policy/policy.js.map +1 -1
- package/src/schemas/performance-policy-v1.json +3 -1
- package/src/schemas/repository-policy-v1.json +46 -2
- package/src/secrets/adapters.d.ts +7 -2
- package/src/secrets/adapters.js +34 -3
- package/src/secrets/adapters.js.map +1 -1
- package/src/secrets/aws-control-plane.d.ts +10 -1
- package/src/secrets/aws-control-plane.js +67 -0
- package/src/secrets/aws-control-plane.js.map +1 -1
- package/src/secrets/generated-aws-control-plane.d.ts +23 -0
- package/src/secrets/generated-aws-control-plane.js +259 -0
- package/src/secrets/generated-aws-control-plane.js.map +1 -0
- package/src/secrets/metadata.js +38 -10
- package/src/secrets/metadata.js.map +1 -1
- package/src/secrets/model.d.ts +8 -1
- package/src/secrets/model.js +24 -3
- package/src/secrets/model.js.map +1 -1
- package/src/secrets/operator.d.ts +89 -3
- package/src/secrets/operator.js +422 -9
- package/src/secrets/operator.js.map +1 -1
- package/src/secrets/registry.d.ts +2 -1
- package/src/secrets/registry.js +18 -1
- package/src/secrets/registry.js.map +1 -1
- package/src/secrets/workload-access.js +10 -2
- package/src/secrets/workload-access.js.map +1 -1
- package/src/supply-chain/action-pins.js +61 -7
- package/src/supply-chain/action-pins.js.map +1 -1
- package/src/supply-chain/build-output-bounds.d.ts +2 -0
- package/src/supply-chain/build-output-bounds.js +12 -0
- package/src/supply-chain/build-output-bounds.js.map +1 -0
- package/src/supply-chain/build-output.js +2 -4
- package/src/supply-chain/build-output.js.map +1 -1
- package/src/supply-chain/ecr-scanning.d.ts +5 -3
- package/src/supply-chain/ecr-scanning.js +11 -7
- package/src/supply-chain/ecr-scanning.js.map +1 -1
- package/src/supply-chain/ecs-deployed-image.d.ts +5 -3
- package/src/supply-chain/ecs-deployed-image.js +6 -4
- package/src/supply-chain/ecs-deployed-image.js.map +1 -1
- package/src/supply-chain/generated-container-release-command.js +849 -44
- package/src/supply-chain/generated-container-release-command.js.map +1 -1
- package/src/supply-chain/generated-ecr-collector-command.d.ts +0 -1
- package/src/supply-chain/generated-ecr-collector-command.js +188 -91
- package/src/supply-chain/generated-ecr-collector-command.js.map +1 -1
- package/src/supply-chain/generated-files.js +4 -3
- package/src/supply-chain/generated-files.js.map +1 -1
- package/src/supply-chain/index.d.ts +1 -1
- package/src/supply-chain/index.js +2 -1
- package/src/supply-chain/index.js.map +1 -1
- package/src/workload-roles/index.d.ts +10 -17
- package/src/workload-roles/index.js +5 -18
- package/src/workload-roles/index.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
|
@@ -3,22 +3,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DEPLOYMENT_PROFILES = exports.REPOSITORY_MODE_PRESETS = exports.SLICE_PRODUCTION_STATUSES = exports.DEFAULT_RECOVERY_PRODUCTION_FOUNDATION_PROFILE = exports.PRODUCTION_FOUNDATION_PROFILES = exports.PRODUCTION_APPROVAL_MODES = exports.PRODUCTION_ACCESS_VALUES = exports.REPOSITORY_POLICY_SCHEMA_URL = exports.REPOSITORY_POLICY_SCHEMA_VERSION = exports.REPOSITORY_POLICY_FILE = void 0;
|
|
4
4
|
exports.normalizeDeploymentAccountId = normalizeDeploymentAccountId;
|
|
5
5
|
exports.requiresGithubDeployment = requiresGithubDeployment;
|
|
6
|
+
exports.activeDeploymentStages = activeDeploymentStages;
|
|
7
|
+
exports.isActiveDeploymentStage = isActiveDeploymentStage;
|
|
8
|
+
exports.productionRehearsalStage = productionRehearsalStage;
|
|
6
9
|
exports.validateDeploymentAccountTopology = validateDeploymentAccountTopology;
|
|
7
10
|
exports.configuredDeploymentAccountTopology = configuredDeploymentAccountTopology;
|
|
11
|
+
exports.configuredDeploymentAccountForStage = configuredDeploymentAccountForStage;
|
|
8
12
|
exports.configuredDeploymentRegion = configuredDeploymentRegion;
|
|
9
13
|
exports.validateRepositoryOperatingPolicy = validateRepositoryOperatingPolicy;
|
|
10
14
|
exports.formatRepositoryPolicyIssues = formatRepositoryPolicyIssues;
|
|
11
15
|
exports.parseRepositoryOperatingPolicy = parseRepositoryOperatingPolicy;
|
|
16
|
+
exports.validateRepositoryOperatingPolicyMigrationProvenance = validateRepositoryOperatingPolicyMigrationProvenance;
|
|
12
17
|
exports.readRepositoryOperatingPolicy = readRepositoryOperatingPolicy;
|
|
13
18
|
exports.createIncubationRepositoryPolicy = createIncubationRepositoryPolicy;
|
|
14
19
|
exports.applyRepositoryPolicyChange = applyRepositoryPolicyChange;
|
|
15
20
|
exports.evaluateRepositoryPolicyRequest = evaluateRepositoryPolicyRequest;
|
|
16
21
|
exports.assertRepositoryPolicyRequest = assertRepositoryPolicyRequest;
|
|
22
|
+
const node_crypto_1 = require("node:crypto");
|
|
23
|
+
const node_buffer_1 = require("node:buffer");
|
|
17
24
|
const node_fs_1 = require("node:fs");
|
|
18
25
|
const node_path_1 = require("node:path");
|
|
19
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");
|
|
20
29
|
exports.REPOSITORY_POLICY_FILE = 'ebk.repository-policy.json';
|
|
21
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;
|
|
22
34
|
exports.REPOSITORY_POLICY_SCHEMA_URL = './node_modules/@empire-builder-kit/nx/schemas/repository-policy-v1.json';
|
|
23
35
|
exports.PRODUCTION_ACCESS_VALUES = ['disabled', 'controlled'];
|
|
24
36
|
exports.PRODUCTION_APPROVAL_MODES = [
|
|
@@ -41,6 +53,11 @@ exports.DEPLOYMENT_PROFILES = [
|
|
|
41
53
|
'production-isolated',
|
|
42
54
|
'fully-isolated',
|
|
43
55
|
];
|
|
56
|
+
const DEPLOYMENT_STAGES_BY_PROFILE = {
|
|
57
|
+
starter: ['development', 'production'],
|
|
58
|
+
'production-isolated': ['development', 'staging', 'production'],
|
|
59
|
+
'fully-isolated': ['development', 'staging', 'production'],
|
|
60
|
+
};
|
|
44
61
|
function normalizeDeploymentAccountId(value, label) {
|
|
45
62
|
if (typeof value === 'string' && /^\d{12}$/.test(value))
|
|
46
63
|
return value;
|
|
@@ -53,19 +70,38 @@ function normalizeDeploymentAccountId(value, label) {
|
|
|
53
70
|
throw new Error(`${label} must be an exact 12-digit AWS account ID.`);
|
|
54
71
|
}
|
|
55
72
|
function requiresGithubDeployment(profile, stage) {
|
|
56
|
-
return (stage === 'production' ||
|
|
57
|
-
(profile === 'fully-isolated' && stage === 'staging')
|
|
73
|
+
return ((profile === 'production-isolated' && stage === 'production') ||
|
|
74
|
+
(profile === 'fully-isolated' && stage === 'staging') ||
|
|
75
|
+
(profile === 'fully-isolated' && stage === 'production'));
|
|
76
|
+
}
|
|
77
|
+
function activeDeploymentStages(profile) {
|
|
78
|
+
return DEPLOYMENT_STAGES_BY_PROFILE[profile];
|
|
79
|
+
}
|
|
80
|
+
function isActiveDeploymentStage(profile, stage) {
|
|
81
|
+
return activeDeploymentStages(profile).includes(stage);
|
|
82
|
+
}
|
|
83
|
+
function productionRehearsalStage(profile) {
|
|
84
|
+
return profile === 'starter' ? 'development' : 'staging';
|
|
58
85
|
}
|
|
59
86
|
function validateDeploymentAccountTopology(profile, accounts) {
|
|
60
|
-
for (const [
|
|
61
|
-
if (!/^\d{12}$/.test(
|
|
87
|
+
for (const stage of ['development', 'production']) {
|
|
88
|
+
if (!/^\d{12}$/.test(accounts[stage])) {
|
|
62
89
|
throw new Error(`Deployment account for ${stage} must be an exact 12-digit AWS account ID.`);
|
|
63
90
|
}
|
|
64
91
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
92
|
+
if (profile === 'starter') {
|
|
93
|
+
if (accounts.staging !== null) {
|
|
94
|
+
throw new Error('The starter deployment profile has no staging stage; its staging deployment account must be null.');
|
|
95
|
+
}
|
|
96
|
+
if (accounts.development !== accounts.production) {
|
|
97
|
+
throw new Error('The starter deployment profile requires one shared development and production AWS account.');
|
|
98
|
+
}
|
|
99
|
+
return { ...accounts };
|
|
100
|
+
}
|
|
101
|
+
if (accounts.staging === null || !/^\d{12}$/.test(accounts.staging)) {
|
|
102
|
+
throw new Error('Deployment account for staging must be an exact 12-digit AWS account ID.');
|
|
68
103
|
}
|
|
104
|
+
const unique = new Set(Object.values(accounts));
|
|
69
105
|
if (profile === 'production-isolated' &&
|
|
70
106
|
(accounts.development !== accounts.staging ||
|
|
71
107
|
accounts.production === accounts.staging)) {
|
|
@@ -77,10 +113,11 @@ function validateDeploymentAccountTopology(profile, accounts) {
|
|
|
77
113
|
return { ...accounts };
|
|
78
114
|
}
|
|
79
115
|
function configuredDeploymentAccountTopology(profile, accounts) {
|
|
80
|
-
if (accounts.development === null ||
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
116
|
+
if (accounts.development === null || accounts.production === null) {
|
|
117
|
+
throw new Error('Deployment account topology is incomplete; configure exact development and production AWS account IDs before deployment.');
|
|
118
|
+
}
|
|
119
|
+
if (profile !== 'starter' && accounts.staging === null) {
|
|
120
|
+
throw new Error('Deployment account topology is incomplete; isolated profiles require an exact staging AWS account ID.');
|
|
84
121
|
}
|
|
85
122
|
return validateDeploymentAccountTopology(profile, {
|
|
86
123
|
development: accounts.development,
|
|
@@ -88,10 +125,22 @@ function configuredDeploymentAccountTopology(profile, accounts) {
|
|
|
88
125
|
staging: accounts.staging,
|
|
89
126
|
});
|
|
90
127
|
}
|
|
128
|
+
function configuredDeploymentAccountForStage(profile, accounts, stage) {
|
|
129
|
+
if (!isActiveDeploymentStage(profile, stage)) {
|
|
130
|
+
throw new Error(`Deployment stage ${stage} is inactive for the ${profile} deployment profile.`);
|
|
131
|
+
}
|
|
132
|
+
const topology = configuredDeploymentAccountTopology(profile, accounts);
|
|
133
|
+
const account = topology[stage];
|
|
134
|
+
if (account === null) {
|
|
135
|
+
throw new Error(`Deployment account for active stage ${stage} is not configured.`);
|
|
136
|
+
}
|
|
137
|
+
return account;
|
|
138
|
+
}
|
|
91
139
|
function configuredDeploymentRegion(region) {
|
|
92
140
|
if (region === null ||
|
|
93
|
-
!/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/.test(region)
|
|
94
|
-
|
|
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.');
|
|
95
144
|
}
|
|
96
145
|
return region;
|
|
97
146
|
}
|
|
@@ -106,6 +155,8 @@ const POLICY_PROPERTIES = new Set([
|
|
|
106
155
|
'productionFoundation',
|
|
107
156
|
'schemaVersion',
|
|
108
157
|
'slices',
|
|
158
|
+
'workspaceDeploymentId',
|
|
159
|
+
'workspaceDeploymentProvenance',
|
|
109
160
|
]);
|
|
110
161
|
const REQUIRED_POLICY_PROPERTIES = [
|
|
111
162
|
'deploymentAccounts',
|
|
@@ -116,6 +167,8 @@ const REQUIRED_POLICY_PROPERTIES = [
|
|
|
116
167
|
'productionFoundation',
|
|
117
168
|
'schemaVersion',
|
|
118
169
|
'slices',
|
|
170
|
+
'workspaceDeploymentId',
|
|
171
|
+
'workspaceDeploymentProvenance',
|
|
119
172
|
];
|
|
120
173
|
function rejectUnknownProperties(value, allowed, path, issues) {
|
|
121
174
|
for (const property of Object.keys(value)) {
|
|
@@ -149,6 +202,67 @@ function validateRepositoryOperatingPolicy(value) {
|
|
|
149
202
|
path: 'policy.$schema',
|
|
150
203
|
});
|
|
151
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
|
+
}
|
|
152
266
|
if (!isOneOf(value.deploymentProfile, exports.DEPLOYMENT_PROFILES)) {
|
|
153
267
|
issues.push({
|
|
154
268
|
message: `must equal ${exports.DEPLOYMENT_PROFILES.join(', ')}`,
|
|
@@ -157,9 +271,10 @@ function validateRepositoryOperatingPolicy(value) {
|
|
|
157
271
|
}
|
|
158
272
|
if (value.deploymentRegion !== null &&
|
|
159
273
|
(typeof value.deploymentRegion !== 'string' ||
|
|
160
|
-
!/^[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))) {
|
|
161
276
|
issues.push({
|
|
162
|
-
message: 'must be null or one exact AWS Region',
|
|
277
|
+
message: 'must be null or one exact commercial, China, or GovCloud AWS Region',
|
|
163
278
|
path: 'policy.deploymentRegion',
|
|
164
279
|
});
|
|
165
280
|
}
|
|
@@ -182,8 +297,10 @@ function validateRepositoryOperatingPolicy(value) {
|
|
|
182
297
|
}
|
|
183
298
|
}
|
|
184
299
|
if (isOneOf(value.deploymentProfile, exports.DEPLOYMENT_PROFILES) &&
|
|
185
|
-
|
|
186
|
-
|
|
300
|
+
typeof value.deploymentAccounts.development === 'string' &&
|
|
301
|
+
typeof value.deploymentAccounts.production === 'string' &&
|
|
302
|
+
(value.deploymentAccounts.staging === null ||
|
|
303
|
+
typeof value.deploymentAccounts.staging === 'string')) {
|
|
187
304
|
try {
|
|
188
305
|
validateDeploymentAccountTopology(value.deploymentProfile, {
|
|
189
306
|
development: value.deploymentAccounts.development,
|
|
@@ -271,7 +388,7 @@ function missingPolicyDecisionGuidance(value) {
|
|
|
271
388
|
const missing = REQUIRED_POLICY_PROPERTIES.filter((property) => !Object.prototype.hasOwnProperty.call(value, property));
|
|
272
389
|
if (missing.length === 0)
|
|
273
390
|
return '';
|
|
274
|
-
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.`;
|
|
275
392
|
}
|
|
276
393
|
function parseRepositoryOperatingPolicy(contents, source = exports.REPOSITORY_POLICY_FILE) {
|
|
277
394
|
let value;
|
|
@@ -287,18 +404,155 @@ function parseRepositoryOperatingPolicy(contents, source = exports.REPOSITORY_PO
|
|
|
287
404
|
}
|
|
288
405
|
return result.value;
|
|
289
406
|
}
|
|
290
|
-
function
|
|
291
|
-
const
|
|
292
|
-
|
|
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) {
|
|
293
447
|
try {
|
|
294
|
-
|
|
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;
|
|
295
453
|
}
|
|
296
454
|
catch (error) {
|
|
297
|
-
throw new Error(`Repository Operating Policy is
|
|
455
|
+
throw new Error(`Repository Operating Policy workspace root is unavailable at ${workspaceRoot}: ${error instanceof Error ? error.message : String(error)}`);
|
|
298
456
|
}
|
|
299
|
-
return parseRepositoryOperatingPolicy(contents, path);
|
|
300
457
|
}
|
|
301
|
-
function
|
|
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;
|
|
472
|
+
try {
|
|
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
|
+
};
|
|
520
|
+
}
|
|
521
|
+
catch (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
|
+
});
|
|
552
|
+
}
|
|
553
|
+
return policy;
|
|
554
|
+
}
|
|
555
|
+
function createIncubationRepositoryPolicy(deploymentProfile = 'starter', workspaceDeploymentId = (0, identity_js_1.createWorkspaceDeploymentId)()) {
|
|
302
556
|
return {
|
|
303
557
|
$schema: exports.REPOSITORY_POLICY_SCHEMA_URL,
|
|
304
558
|
deploymentAccounts: {
|
|
@@ -317,6 +571,8 @@ function createIncubationRepositoryPolicy(deploymentProfile = 'starter') {
|
|
|
317
571
|
},
|
|
318
572
|
schemaVersion: exports.REPOSITORY_POLICY_SCHEMA_VERSION,
|
|
319
573
|
slices: {},
|
|
574
|
+
workspaceDeploymentId,
|
|
575
|
+
workspaceDeploymentProvenance: { kind: 'fresh', schemaVersion: 1 },
|
|
320
576
|
};
|
|
321
577
|
}
|
|
322
578
|
function applyRepositoryPolicyChange(current, change) {
|
|
@@ -340,6 +596,9 @@ function applyRepositoryPolicyChange(current, change) {
|
|
|
340
596
|
}
|
|
341
597
|
if (change.deploymentProfile !== undefined) {
|
|
342
598
|
next.deploymentProfile = change.deploymentProfile;
|
|
599
|
+
if (change.deploymentProfile === 'starter') {
|
|
600
|
+
next.deploymentAccounts.staging = null;
|
|
601
|
+
}
|
|
343
602
|
}
|
|
344
603
|
if (change.deploymentAccounts !== undefined) {
|
|
345
604
|
next.deploymentAccounts = {
|
|
@@ -379,6 +638,12 @@ function evaluateRepositoryPolicyRequest(policy, request) {
|
|
|
379
638
|
}
|
|
380
639
|
projectNames.add(project.name);
|
|
381
640
|
}
|
|
641
|
+
if ((request.stage === 'development' ||
|
|
642
|
+
request.stage === 'staging' ||
|
|
643
|
+
request.stage === 'production') &&
|
|
644
|
+
!isActiveDeploymentStage(policy.deploymentProfile, request.stage)) {
|
|
645
|
+
reasons.push(`Stage ${request.stage} is inactive for the ${policy.deploymentProfile} deployment profile.`);
|
|
646
|
+
}
|
|
382
647
|
if (request.stage !== 'production') {
|
|
383
648
|
return { allowed: reasons.length === 0, reasons };
|
|
384
649
|
}
|
|
@@ -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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"}
|
|
@@ -249,7 +249,9 @@
|
|
|
249
249
|
"productionExceptionalOnly"
|
|
250
250
|
],
|
|
251
251
|
"properties": {
|
|
252
|
-
"allowedProtectedStages": {
|
|
252
|
+
"allowedProtectedStages": {
|
|
253
|
+
"oneOf": [{ "const": ["development"] }, { "const": ["staging"] }]
|
|
254
|
+
},
|
|
253
255
|
"maximumConcurrency": { "$ref": "#/$defs/positiveInteger" },
|
|
254
256
|
"maximumDurationSeconds": { "$ref": "#/$defs/positiveInteger" },
|
|
255
257
|
"maximumEstimatedCostUsd": {
|
|
@@ -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
|
}
|