@empire-builder-kit/nx 1.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +5 -0
  3. package/README.md +34 -0
  4. package/executors.json +74 -0
  5. package/generators.json +40 -0
  6. package/migrations/standard-pre-v1-to-v1.md +11 -0
  7. package/package.json +80 -0
  8. package/src/blueprints/execution.d.ts +31 -0
  9. package/src/blueprints/execution.js +166 -0
  10. package/src/blueprints/execution.js.map +1 -0
  11. package/src/blueprints/index.d.ts +5 -0
  12. package/src/blueprints/index.js +9 -0
  13. package/src/blueprints/index.js.map +1 -0
  14. package/src/blueprints/inputs.d.ts +43 -0
  15. package/src/blueprints/inputs.js +103 -0
  16. package/src/blueprints/inputs.js.map +1 -0
  17. package/src/blueprints/manifest.d.ts +281 -0
  18. package/src/blueprints/manifest.js +441 -0
  19. package/src/blueprints/manifest.js.map +1 -0
  20. package/src/blueprints/resolver.d.ts +28 -0
  21. package/src/blueprints/resolver.js +218 -0
  22. package/src/blueprints/resolver.js.map +1 -0
  23. package/src/blueprints/transitions.d.ts +20 -0
  24. package/src/blueprints/transitions.js +61 -0
  25. package/src/blueprints/transitions.js.map +1 -0
  26. package/src/executors/deploy/deploy.d.ts +4 -0
  27. package/src/executors/deploy/deploy.js +6 -0
  28. package/src/executors/deploy/deploy.js.map +1 -0
  29. package/src/executors/deployment-plan/deployment-plan.d.ts +9 -0
  30. package/src/executors/deployment-plan/deployment-plan.js +50 -0
  31. package/src/executors/deployment-plan/deployment-plan.js.map +1 -0
  32. package/src/executors/deployment-plan/schema.json +24 -0
  33. package/src/executors/dev/dev.d.ts +4 -0
  34. package/src/executors/dev/dev.js +6 -0
  35. package/src/executors/dev/dev.js.map +1 -0
  36. package/src/executors/dev-doctor/dev-doctor.d.ts +31 -0
  37. package/src/executors/dev-doctor/dev-doctor.js +260 -0
  38. package/src/executors/dev-doctor/dev-doctor.js.map +1 -0
  39. package/src/executors/dev-doctor/schema.json +17 -0
  40. package/src/executors/dev-setup/dev-setup.d.ts +11 -0
  41. package/src/executors/dev-setup/dev-setup.js +454 -0
  42. package/src/executors/dev-setup/dev-setup.js.map +1 -0
  43. package/src/executors/dev-setup/schema.json +16 -0
  44. package/src/executors/fleet/fleet.d.ts +62 -0
  45. package/src/executors/fleet/fleet.js +613 -0
  46. package/src/executors/fleet/fleet.js.map +1 -0
  47. package/src/executors/fleet/schema.json +37 -0
  48. package/src/executors/foundation-preflight/foundation-preflight.d.ts +15 -0
  49. package/src/executors/foundation-preflight/foundation-preflight.js +116 -0
  50. package/src/executors/foundation-preflight/foundation-preflight.js.map +1 -0
  51. package/src/executors/foundation-preflight/schema.json +31 -0
  52. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +8 -0
  53. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +41 -0
  54. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +1 -0
  55. package/src/executors/foundation-profile-preflight/schema.json +21 -0
  56. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.d.ts +13 -0
  57. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +69 -0
  58. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +1 -0
  59. package/src/executors/foundation-remove-preflight/schema.json +17 -0
  60. package/src/executors/github-bootstrap/github-bootstrap.d.ts +8 -0
  61. package/src/executors/github-bootstrap/github-bootstrap.js +30 -0
  62. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -0
  63. package/src/executors/github-bootstrap/schema.json +25 -0
  64. package/src/executors/refresh/refresh.d.ts +4 -0
  65. package/src/executors/refresh/refresh.js +6 -0
  66. package/src/executors/refresh/refresh.js.map +1 -0
  67. package/src/executors/remove/remove.d.ts +4 -0
  68. package/src/executors/remove/remove.js +6 -0
  69. package/src/executors/remove/remove.js.map +1 -0
  70. package/src/executors/sst-lifecycle/run-sst-command.d.ts +31 -0
  71. package/src/executors/sst-lifecycle/run-sst-command.js +226 -0
  72. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -0
  73. package/src/executors/sst-lifecycle/schema.json +45 -0
  74. package/src/executors/unlock/unlock.d.ts +4 -0
  75. package/src/executors/unlock/unlock.js +6 -0
  76. package/src/executors/unlock/unlock.js.map +1 -0
  77. package/src/executors/work-markers/schema.json +14 -0
  78. package/src/executors/work-markers/work-markers.d.ts +6 -0
  79. package/src/executors/work-markers/work-markers.js +20 -0
  80. package/src/executors/work-markers/work-markers.js.map +1 -0
  81. package/src/foundation/aurora-logical-database.d.ts +76 -0
  82. package/src/foundation/aurora-logical-database.js +419 -0
  83. package/src/foundation/aurora-logical-database.js.map +1 -0
  84. package/src/foundation/discovery.d.ts +55 -0
  85. package/src/foundation/discovery.js +55 -0
  86. package/src/foundation/discovery.js.map +1 -0
  87. package/src/foundation/index.d.ts +6 -0
  88. package/src/foundation/index.js +10 -0
  89. package/src/foundation/index.js.map +1 -0
  90. package/src/foundation/local-database-contract.d.ts +30 -0
  91. package/src/foundation/local-database-contract.js +75 -0
  92. package/src/foundation/local-database-contract.js.map +1 -0
  93. package/src/foundation/preflight.d.ts +31 -0
  94. package/src/foundation/preflight.js +114 -0
  95. package/src/foundation/preflight.js.map +1 -0
  96. package/src/foundation/provision-database-bindings.d.ts +30 -0
  97. package/src/foundation/provision-database-bindings.js +113 -0
  98. package/src/foundation/provision-database-bindings.js.map +1 -0
  99. package/src/foundation/provision-logical-database.d.ts +26 -0
  100. package/src/foundation/provision-logical-database.js +163 -0
  101. package/src/foundation/provision-logical-database.js.map +1 -0
  102. package/src/foundation/requirements.d.ts +37 -0
  103. package/src/foundation/requirements.js +141 -0
  104. package/src/foundation/requirements.js.map +1 -0
  105. package/src/foundation/stages.d.ts +14 -0
  106. package/src/foundation/stages.js +51 -0
  107. package/src/foundation/stages.js.map +1 -0
  108. package/src/generators/function/function.d.ts +13 -0
  109. package/src/generators/function/function.js +71 -0
  110. package/src/generators/function/function.js.map +1 -0
  111. package/src/generators/function/schema.d.ts +5 -0
  112. package/src/generators/function/schema.json +20 -0
  113. package/src/generators/job/job.d.ts +4 -0
  114. package/src/generators/job/job.js +5 -0
  115. package/src/generators/job/job.js.map +1 -0
  116. package/src/generators/preset/generator.d.ts +5 -0
  117. package/src/generators/preset/generator.js +41 -0
  118. package/src/generators/preset/generator.js.map +1 -0
  119. package/src/generators/preset/schema.d.ts +4 -0
  120. package/src/generators/preset/schema.json +22 -0
  121. package/src/generators/preset/workspace-files.d.ts +18 -0
  122. package/src/generators/preset/workspace-files.js +1605 -0
  123. package/src/generators/preset/workspace-files.js.map +1 -0
  124. package/src/generators/repository-policy/repository-policy.d.ts +4 -0
  125. package/src/generators/repository-policy/repository-policy.js +107 -0
  126. package/src/generators/repository-policy/repository-policy.js.map +1 -0
  127. package/src/generators/repository-policy/schema.d.ts +18 -0
  128. package/src/generators/repository-policy/schema.json +46 -0
  129. package/src/generators/service/service.d.ts +4 -0
  130. package/src/generators/service/service.js +5 -0
  131. package/src/generators/service/service.js.map +1 -0
  132. package/src/generators/slice/schema.d.ts +7 -0
  133. package/src/generators/slice/schema.json +38 -0
  134. package/src/generators/slice/slice.d.ts +26 -0
  135. package/src/generators/slice/slice.js +1698 -0
  136. package/src/generators/slice/slice.js.map +1 -0
  137. package/src/generators/upgrade/schema.d.ts +8 -0
  138. package/src/generators/upgrade/schema.json +31 -0
  139. package/src/generators/upgrade/upgrade.d.ts +27 -0
  140. package/src/generators/upgrade/upgrade.js +682 -0
  141. package/src/generators/upgrade/upgrade.js.map +1 -0
  142. package/src/generators/workload/schema.d.ts +6 -0
  143. package/src/generators/workload/schema.json +21 -0
  144. package/src/generators/workload/workload.d.ts +16 -0
  145. package/src/generators/workload/workload.js +157 -0
  146. package/src/generators/workload/workload.js.map +1 -0
  147. package/src/git-policy/action-pins.d.ts +28 -0
  148. package/src/git-policy/action-pins.js +35 -0
  149. package/src/git-policy/action-pins.js.map +1 -0
  150. package/src/git-policy/github-bootstrap.d.ts +23 -0
  151. package/src/git-policy/github-bootstrap.js +759 -0
  152. package/src/git-policy/github-bootstrap.js.map +1 -0
  153. package/src/git-policy/index.d.ts +3 -0
  154. package/src/git-policy/index.js +7 -0
  155. package/src/git-policy/index.js.map +1 -0
  156. package/src/git-policy/routing.d.ts +15 -0
  157. package/src/git-policy/routing.js +77 -0
  158. package/src/git-policy/routing.js.map +1 -0
  159. package/src/index.d.ts +8 -0
  160. package/src/index.js +12 -0
  161. package/src/index.js.map +1 -0
  162. package/src/local-dev/contracts.d.ts +31 -0
  163. package/src/local-dev/contracts.js +126 -0
  164. package/src/local-dev/contracts.js.map +1 -0
  165. package/src/local-dev/effects.d.ts +16 -0
  166. package/src/local-dev/effects.js +63 -0
  167. package/src/local-dev/effects.js.map +1 -0
  168. package/src/local-dev/gateway-daemon.d.ts +4 -0
  169. package/src/local-dev/gateway-daemon.js +39 -0
  170. package/src/local-dev/gateway-daemon.js.map +1 -0
  171. package/src/local-dev/gateway.d.ts +60 -0
  172. package/src/local-dev/gateway.js +368 -0
  173. package/src/local-dev/gateway.js.map +1 -0
  174. package/src/local-dev/identity.d.ts +16 -0
  175. package/src/local-dev/identity.js +101 -0
  176. package/src/local-dev/identity.js.map +1 -0
  177. package/src/local-dev/index.d.ts +7 -0
  178. package/src/local-dev/index.js +11 -0
  179. package/src/local-dev/index.js.map +1 -0
  180. package/src/local-dev/portless.d.ts +15 -0
  181. package/src/local-dev/portless.js +115 -0
  182. package/src/local-dev/portless.js.map +1 -0
  183. package/src/local-dev/ports.d.ts +10 -0
  184. package/src/local-dev/ports.js +39 -0
  185. package/src/local-dev/ports.js.map +1 -0
  186. package/src/local-dev/proxy.d.ts +37 -0
  187. package/src/local-dev/proxy.js +271 -0
  188. package/src/local-dev/proxy.js.map +1 -0
  189. package/src/local-dev/tls.d.ts +24 -0
  190. package/src/local-dev/tls.js +294 -0
  191. package/src/local-dev/tls.js.map +1 -0
  192. package/src/ownership/composition.d.ts +16 -0
  193. package/src/ownership/composition.js +125 -0
  194. package/src/ownership/composition.js.map +1 -0
  195. package/src/ownership/foundation-record.d.ts +66 -0
  196. package/src/ownership/foundation-record.js +108 -0
  197. package/src/ownership/foundation-record.js.map +1 -0
  198. package/src/ownership/hash.d.ts +2 -0
  199. package/src/ownership/hash.js +10 -0
  200. package/src/ownership/hash.js.map +1 -0
  201. package/src/ownership/index.d.ts +6 -0
  202. package/src/ownership/index.js +10 -0
  203. package/src/ownership/index.js.map +1 -0
  204. package/src/ownership/json-ownership.d.ts +13 -0
  205. package/src/ownership/json-ownership.js +147 -0
  206. package/src/ownership/json-ownership.js.map +1 -0
  207. package/src/ownership/record.d.ts +186 -0
  208. package/src/ownership/record.js +336 -0
  209. package/src/ownership/record.js.map +1 -0
  210. package/src/ownership/workspace-record.d.ts +66 -0
  211. package/src/ownership/workspace-record.js +108 -0
  212. package/src/ownership/workspace-record.js.map +1 -0
  213. package/src/repository-policy/aurora-preflight.d.ts +15 -0
  214. package/src/repository-policy/aurora-preflight.js +45 -0
  215. package/src/repository-policy/aurora-preflight.js.map +1 -0
  216. package/src/repository-policy/deployment-plan.d.ts +24 -0
  217. package/src/repository-policy/deployment-plan.js +124 -0
  218. package/src/repository-policy/deployment-plan.js.map +1 -0
  219. package/src/repository-policy/foundation-profile.d.ts +20 -0
  220. package/src/repository-policy/foundation-profile.js +45 -0
  221. package/src/repository-policy/foundation-profile.js.map +1 -0
  222. package/src/repository-policy/index.d.ts +4 -0
  223. package/src/repository-policy/index.js +8 -0
  224. package/src/repository-policy/index.js.map +1 -0
  225. package/src/repository-policy/policy.d.ts +59 -0
  226. package/src/repository-policy/policy.js +274 -0
  227. package/src/repository-policy/policy.js.map +1 -0
  228. package/src/schemas/blueprint-input-schema-v1.json +23 -0
  229. package/src/schemas/blueprint-v1.json +186 -0
  230. package/src/schemas/foundation-ownership-v2.json +42 -0
  231. package/src/schemas/foundation-requirement-v1.json +32 -0
  232. package/src/schemas/generated-ownership-v2.json +117 -0
  233. package/src/schemas/repository-policy-v1.json +58 -0
  234. package/src/schemas/workspace-ownership-v2.json +42 -0
  235. package/src/validation.d.ts +14 -0
  236. package/src/validation.js +14 -0
  237. package/src/validation.js.map +1 -0
  238. package/src/work-markers/index.d.ts +1 -0
  239. package/src/work-markers/index.js +5 -0
  240. package/src/work-markers/index.js.map +1 -0
  241. package/src/work-markers/work-markers.d.ts +39 -0
  242. package/src/work-markers/work-markers.js +359 -0
  243. package/src/work-markers/work-markers.js.map +1 -0
@@ -0,0 +1,454 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nx/devkit");
4
+ const node_child_process_1 = require("node:child_process");
5
+ const node_crypto_1 = require("node:crypto");
6
+ const node_fs_1 = require("node:fs");
7
+ const node_os_1 = require("node:os");
8
+ const node_path_1 = require("node:path");
9
+ const gateway_js_1 = require("../../local-dev/gateway.js");
10
+ const tls_js_1 = require("../../local-dev/tls.js");
11
+ const portless_js_1 = require("../../local-dev/portless.js");
12
+ const identity_js_1 = require("../../local-dev/identity.js");
13
+ function stopGateway(pidPath) {
14
+ if (!(0, node_fs_1.existsSync)(pidPath))
15
+ return;
16
+ const pid = Number((0, node_fs_1.readFileSync)(pidPath, 'utf8').trim());
17
+ if (Number.isInteger(pid) && pid > 1) {
18
+ try {
19
+ process.kill(pid, 'SIGTERM');
20
+ }
21
+ catch {
22
+ // A stale pid file is safe to remove.
23
+ }
24
+ }
25
+ (0, node_fs_1.rmSync)(pidPath, { force: true });
26
+ }
27
+ function gatewayIsRunning(pidPath) {
28
+ if (!(0, node_fs_1.existsSync)(pidPath))
29
+ return false;
30
+ const pid = Number((0, node_fs_1.readFileSync)(pidPath, 'utf8').trim());
31
+ if (!Number.isInteger(pid) || pid <= 1)
32
+ return false;
33
+ try {
34
+ process.kill(pid, 0);
35
+ return true;
36
+ }
37
+ catch {
38
+ (0, node_fs_1.rmSync)(pidPath, { force: true });
39
+ return false;
40
+ }
41
+ }
42
+ function certificateSha1(certificate) {
43
+ return new node_crypto_1.X509Certificate((0, node_fs_1.readFileSync)(certificate)).fingerprint.replace(/:/g, '');
44
+ }
45
+ function writeGatewayState(path, value) {
46
+ (0, node_fs_1.writeFileSync)(path, `${JSON.stringify({
47
+ ...value,
48
+ platform: process.platform,
49
+ schemaVersion: 1,
50
+ }, null, 2)}\n`, { mode: 0o600 });
51
+ }
52
+ function trustRoot(certificate) {
53
+ const fingerprint = certificateSha1(certificate);
54
+ if ((0, node_os_1.platform)() === 'darwin') {
55
+ try {
56
+ const output = (0, node_child_process_1.execFileSync)('security', [
57
+ 'find-certificate',
58
+ '-a',
59
+ '-Z',
60
+ '-c',
61
+ 'Empire Builder Kit Local Root',
62
+ (0, node_path_1.join)((0, node_os_1.homedir)(), 'Library', 'Keychains', 'login.keychain-db'),
63
+ ], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
64
+ if (output.toUpperCase().includes(fingerprint))
65
+ return;
66
+ }
67
+ catch {
68
+ // The exact EBK root is not installed yet.
69
+ }
70
+ (0, node_child_process_1.execFileSync)('security', [
71
+ 'add-trusted-cert',
72
+ '-d',
73
+ '-r',
74
+ 'trustRoot',
75
+ '-k',
76
+ (0, node_path_1.join)((0, node_os_1.homedir)(), 'Library', 'Keychains', 'login.keychain-db'),
77
+ certificate,
78
+ ], { stdio: 'inherit' });
79
+ return;
80
+ }
81
+ if ((0, node_os_1.platform)() === 'win32') {
82
+ try {
83
+ (0, node_child_process_1.execFileSync)('certutil', ['-user', '-store', 'Root', fingerprint], {
84
+ stdio: 'pipe',
85
+ });
86
+ return;
87
+ }
88
+ catch {
89
+ // The exact EBK root is not installed yet.
90
+ }
91
+ (0, node_child_process_1.execFileSync)('certutil', ['-user', '-addstore', 'Root', certificate], {
92
+ stdio: 'inherit',
93
+ });
94
+ return;
95
+ }
96
+ const nssDatabase = (0, node_path_1.join)((0, node_os_1.homedir)(), '.pki', 'nssdb');
97
+ if (!(0, node_fs_1.existsSync)(nssDatabase)) {
98
+ throw new Error(`Linux browser trust requires an existing NSS database at ${nssDatabase}. Install certutil and initialize the database, then rerun dev-setup --trust. System trust remains distribution-managed.`);
99
+ }
100
+ try {
101
+ const installed = (0, node_child_process_1.execFileSync)('certutil', [
102
+ '-d',
103
+ `sql:${nssDatabase}`,
104
+ '-L',
105
+ '-n',
106
+ 'Empire Builder Kit Local Root',
107
+ '-a',
108
+ ], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
109
+ if (new node_crypto_1.X509Certificate(installed).fingerprint.replace(/:/g, '') ===
110
+ fingerprint) {
111
+ return;
112
+ }
113
+ throw new Error('The NSS nickname Empire Builder Kit Local Root belongs to a different certificate; remove it deliberately before trusting this root.');
114
+ }
115
+ catch (error) {
116
+ if (error instanceof Error &&
117
+ error.message.includes('belongs to a different certificate')) {
118
+ throw error;
119
+ }
120
+ }
121
+ (0, node_child_process_1.execFileSync)('certutil', [
122
+ '-d',
123
+ `sql:${nssDatabase}`,
124
+ '-A',
125
+ '-t',
126
+ 'C,,',
127
+ '-n',
128
+ 'Empire Builder Kit Local Root',
129
+ '-i',
130
+ certificate,
131
+ ], { stdio: 'inherit' });
132
+ }
133
+ function untrustRoot(certificate) {
134
+ const fingerprint = certificateSha1(certificate);
135
+ if ((0, node_os_1.platform)() === 'darwin') {
136
+ let installed = '';
137
+ try {
138
+ installed = (0, node_child_process_1.execFileSync)('security', [
139
+ 'find-certificate',
140
+ '-a',
141
+ '-Z',
142
+ '-c',
143
+ 'Empire Builder Kit Local Root',
144
+ (0, node_path_1.join)((0, node_os_1.homedir)(), 'Library', 'Keychains', 'login.keychain-db'),
145
+ ], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
146
+ }
147
+ catch {
148
+ return false;
149
+ }
150
+ if (!installed.toUpperCase().includes(fingerprint))
151
+ return false;
152
+ (0, node_child_process_1.execFileSync)('security', [
153
+ 'delete-certificate',
154
+ '-Z',
155
+ fingerprint,
156
+ (0, node_path_1.join)((0, node_os_1.homedir)(), 'Library', 'Keychains', 'login.keychain-db'),
157
+ ], { stdio: 'inherit' });
158
+ return true;
159
+ }
160
+ if ((0, node_os_1.platform)() === 'win32') {
161
+ try {
162
+ (0, node_child_process_1.execFileSync)('certutil', ['-user', '-store', 'Root', fingerprint], {
163
+ stdio: 'pipe',
164
+ });
165
+ }
166
+ catch {
167
+ return false;
168
+ }
169
+ (0, node_child_process_1.execFileSync)('certutil', ['-user', '-delstore', 'Root', fingerprint], {
170
+ stdio: 'inherit',
171
+ });
172
+ return true;
173
+ }
174
+ const nssDatabase = (0, node_path_1.join)((0, node_os_1.homedir)(), '.pki', 'nssdb');
175
+ let installed;
176
+ try {
177
+ installed = (0, node_child_process_1.execFileSync)('certutil', [
178
+ '-d',
179
+ `sql:${nssDatabase}`,
180
+ '-L',
181
+ '-n',
182
+ 'Empire Builder Kit Local Root',
183
+ '-a',
184
+ ], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
185
+ }
186
+ catch {
187
+ return false;
188
+ }
189
+ if (new node_crypto_1.X509Certificate(installed).fingerprint.replace(/:/g, '') !== fingerprint) {
190
+ return false;
191
+ }
192
+ (0, node_child_process_1.execFileSync)('certutil', ['-d', `sql:${nssDatabase}`, '-D', '-n', 'Empire Builder Kit Local Root'], { stdio: 'inherit' });
193
+ return true;
194
+ }
195
+ async function waitForGatewayStart(pidPath, socketPath, capability, timeoutMs = 3_000) {
196
+ const deadline = Date.now() + timeoutMs;
197
+ let lastError;
198
+ while (Date.now() < deadline) {
199
+ if (gatewayIsRunning(pidPath)) {
200
+ try {
201
+ await (0, gateway_js_1.sendGatewayCommand)(socketPath, { action: 'status', capability });
202
+ return;
203
+ }
204
+ catch (error) {
205
+ lastError = error;
206
+ }
207
+ }
208
+ await new Promise((resolve) => setTimeout(resolve, 100));
209
+ }
210
+ throw new Error(`EBK gateway did not become ready within ${timeoutMs}ms${lastError instanceof Error ? `: ${lastError.message}` : ''}.`);
211
+ }
212
+ async function startGateway(appData, internalPort) {
213
+ const paths = (0, tls_js_1.localTlsPaths)(appData);
214
+ const capability = (0, node_fs_1.readFileSync)(paths.capability, 'utf8').trim();
215
+ const daemon = require.resolve('../../local-dev/gateway-daemon.js');
216
+ const child = (0, node_child_process_1.spawn)(process.execPath, [daemon, paths.appData, String(internalPort)], {
217
+ detached: true,
218
+ stdio: 'ignore',
219
+ windowsHide: true,
220
+ });
221
+ const spawnFailure = new Promise((_resolve, reject) => {
222
+ child.once('error', reject);
223
+ child.once('exit', (code, signal) => {
224
+ reject(new Error(`EBK gateway daemon exited before readiness (code ${code ?? 'none'}, signal ${signal ?? 'none'}).`));
225
+ });
226
+ });
227
+ child.unref();
228
+ await Promise.race([
229
+ waitForGatewayStart(paths.gatewayPid, paths.gatewaySocket, capability),
230
+ spawnFailure,
231
+ ]);
232
+ }
233
+ function installPortlessForward(plan) {
234
+ try {
235
+ (0, portless_js_1.applyPrivilegedCommands)(plan.install);
236
+ }
237
+ catch (error) {
238
+ try {
239
+ (0, portless_js_1.applyPrivilegedCommands)(plan.remove);
240
+ }
241
+ catch (rollbackError) {
242
+ throw new Error(`${error instanceof Error ? error.message : String(error)} Cleanup of a partially installed loopback forward also failed: ${rollbackError instanceof Error
243
+ ? rollbackError.message
244
+ : String(rollbackError)}`);
245
+ }
246
+ throw error;
247
+ }
248
+ }
249
+ const executor = async (options) => {
250
+ const paths = (0, tls_js_1.localTlsPaths)(options.appData);
251
+ const forward = (0, portless_js_1.createPortlessForwardPlan)();
252
+ let previousState;
253
+ let upgradeBackup;
254
+ let upgradeStaging;
255
+ let upgradeStoppedPrevious = false;
256
+ let previousGatewayWasRunning = false;
257
+ let upgradeSwapped = false;
258
+ let previousTrustRemoved = false;
259
+ let replacementTrustInstalled = false;
260
+ let replacementForwardInstalled = false;
261
+ try {
262
+ if (options.upgrade && !options.trust) {
263
+ throw new Error('dev-setup --upgrade requires --trust so the explicitly approved replacement root is installed with the new gateway.');
264
+ }
265
+ if (options.remove) {
266
+ const removableRoot = (0, node_fs_1.existsSync)(paths.rootCertificate)
267
+ ? paths.rootCertificate
268
+ : undefined;
269
+ if ((0, node_fs_1.existsSync)(paths.gatewayState)) {
270
+ const state = JSON.parse((0, node_fs_1.readFileSync)(paths.gatewayState, 'utf8'));
271
+ if (state.portless) {
272
+ (0, portless_js_1.applyPrivilegedCommands)((0, portless_js_1.createPortlessForwardPlan)().remove);
273
+ }
274
+ }
275
+ stopGateway(paths.gatewayPid);
276
+ if (options.trust && removableRoot && !untrustRoot(removableRoot)) {
277
+ devkit_1.logger.warn('The exact EBK root was not present in the detected user trust store.');
278
+ }
279
+ (0, tls_js_1.removeLocalTlsState)(paths.appData);
280
+ devkit_1.logger.info('Removed EBK gateway state. Trust was removed only when --trust was supplied.');
281
+ return { success: true };
282
+ }
283
+ if (options.upgrade) {
284
+ previousGatewayWasRunning = gatewayIsRunning(paths.gatewayPid);
285
+ if (previousGatewayWasRunning) {
286
+ const status = await (0, gateway_js_1.sendGatewayCommand)(paths.gatewaySocket, {
287
+ action: 'status',
288
+ capability: (0, node_fs_1.readFileSync)(paths.capability, 'utf8').trim(),
289
+ });
290
+ if (status.activeSessions > 0) {
291
+ throw new Error(`Gateway upgrade refused while ${status.activeSessions} fleet session(s) are active. Stop them and retry.`);
292
+ }
293
+ }
294
+ previousState = (0, node_fs_1.existsSync)(paths.gatewayState)
295
+ ? JSON.parse((0, node_fs_1.readFileSync)(paths.gatewayState, 'utf8'))
296
+ : undefined;
297
+ upgradeStaging = `${paths.appData}.upgrade-${process.pid}`;
298
+ (0, node_fs_1.rmSync)(upgradeStaging, { force: true, recursive: true });
299
+ (0, tls_js_1.createLocalTlsState)({
300
+ appData: upgradeStaging,
301
+ capability: (0, gateway_js_1.createGatewayCapability)(),
302
+ hostSuffix: options.hostSuffix,
303
+ });
304
+ if (previousState?.portless) {
305
+ (0, portless_js_1.applyPrivilegedCommands)(forward.remove);
306
+ }
307
+ stopGateway(paths.gatewayPid);
308
+ await new Promise((resolve) => setTimeout(resolve, 500));
309
+ upgradeStoppedPrevious = true;
310
+ if ((0, node_fs_1.existsSync)(paths.rootCertificate)) {
311
+ previousTrustRemoved = untrustRoot(paths.rootCertificate);
312
+ }
313
+ upgradeBackup = `${paths.appData}.backup-${process.pid}`;
314
+ (0, node_fs_1.rmSync)(upgradeBackup, { force: true, recursive: true });
315
+ if ((0, node_fs_1.existsSync)(paths.appData)) {
316
+ (0, node_fs_1.renameSync)(paths.appData, upgradeBackup);
317
+ }
318
+ (0, node_fs_1.renameSync)(upgradeStaging, paths.appData);
319
+ upgradeStaging = undefined;
320
+ upgradeSwapped = true;
321
+ }
322
+ if (!(0, node_fs_1.existsSync)(paths.rootCertificate)) {
323
+ (0, tls_js_1.createLocalTlsState)({
324
+ appData: paths.appData,
325
+ capability: (0, gateway_js_1.createGatewayCapability)(),
326
+ hostSuffix: options.hostSuffix,
327
+ });
328
+ }
329
+ const hostSuffix = (0, identity_js_1.normalizeFleetHostSuffix)(options.hostSuffix);
330
+ const leaf = new node_crypto_1.X509Certificate((0, node_fs_1.readFileSync)(paths.leafCertificate));
331
+ if (!leaf.checkHost(`gateway.${hostSuffix}`)) {
332
+ throw new Error(`Existing gateway certificate does not cover *.${hostSuffix}. Use dev-setup --upgrade --trust with the desired hostSuffix.`);
333
+ }
334
+ if (options.trust) {
335
+ trustRoot(paths.rootCertificate);
336
+ replacementTrustInstalled = options.upgrade === true;
337
+ }
338
+ if (gatewayIsRunning(paths.gatewayPid)) {
339
+ const state = (0, node_fs_1.existsSync)(paths.gatewayState)
340
+ ? JSON.parse((0, node_fs_1.readFileSync)(paths.gatewayState, 'utf8'))
341
+ : {};
342
+ if (state.hostSuffix !== hostSuffix ||
343
+ Boolean(state.portless) !== Boolean(options.portless)) {
344
+ const status = await (0, gateway_js_1.sendGatewayCommand)(paths.gatewaySocket, {
345
+ action: 'status',
346
+ capability: (0, node_fs_1.readFileSync)(paths.capability, 'utf8').trim(),
347
+ });
348
+ if (status.activeSessions > 0) {
349
+ throw new Error(`Gateway reconfiguration refused while ${status.activeSessions} fleet session(s) are active.`);
350
+ }
351
+ if (state.portless)
352
+ (0, portless_js_1.applyPrivilegedCommands)(forward.remove);
353
+ if (options.portless)
354
+ installPortlessForward(forward);
355
+ writeGatewayState(paths.gatewayState, {
356
+ hostSuffix,
357
+ internalPort: forward.internalPort,
358
+ portless: options.portless === true,
359
+ });
360
+ devkit_1.logger.info('Reconfigured the idle EBK gateway installation model.');
361
+ return { success: true };
362
+ }
363
+ devkit_1.logger.info('The compatible EBK machine gateway is already running.');
364
+ return { success: true };
365
+ }
366
+ if (options.portless) {
367
+ installPortlessForward(forward);
368
+ replacementForwardInstalled = options.upgrade === true;
369
+ }
370
+ writeGatewayState(paths.gatewayState, {
371
+ hostSuffix,
372
+ internalPort: forward.internalPort,
373
+ portless: options.portless === true,
374
+ });
375
+ try {
376
+ await startGateway(paths.appData, forward.internalPort);
377
+ }
378
+ catch (error) {
379
+ stopGateway(paths.gatewayPid);
380
+ (0, node_fs_1.rmSync)(paths.gatewayState, { force: true });
381
+ if (options.portless && !options.upgrade) {
382
+ try {
383
+ (0, portless_js_1.applyPrivilegedCommands)(forward.remove);
384
+ }
385
+ catch (rollbackError) {
386
+ devkit_1.logger.error(`Gateway startup failed and the loopback forwarding rule could not be rolled back: ${rollbackError instanceof Error
387
+ ? rollbackError.message
388
+ : String(rollbackError)}`);
389
+ }
390
+ }
391
+ throw error;
392
+ }
393
+ if (upgradeBackup) {
394
+ (0, node_fs_1.rmSync)(upgradeBackup, { force: true, recursive: true });
395
+ upgradeBackup = undefined;
396
+ }
397
+ devkit_1.logger.info(options.portless
398
+ ? 'EBK gateway started with a loopback-only port-443 forward.'
399
+ : `EBK gateway runtime started on internal loopback port ${forward.internalPort}; fleet sessions will use the supported explicit-port HTTPS origin. Optional portless setup requires dev-setup --upgrade --trust --portless.`);
400
+ if (!options.trust) {
401
+ devkit_1.logger.warn('The root certificate was created but not trusted. Review it and rerun dev-setup --trust to explicitly approve user trust installation.');
402
+ }
403
+ return { success: true };
404
+ }
405
+ catch (error) {
406
+ if (upgradeStaging) {
407
+ (0, node_fs_1.rmSync)(upgradeStaging, { force: true, recursive: true });
408
+ }
409
+ if (options.upgrade && upgradeStoppedPrevious) {
410
+ try {
411
+ stopGateway(paths.gatewayPid);
412
+ if (replacementForwardInstalled || options.portless) {
413
+ try {
414
+ (0, portless_js_1.applyPrivilegedCommands)(forward.remove);
415
+ }
416
+ catch (forwardRollbackError) {
417
+ devkit_1.logger.warn(`Loopback-forward rollback needs manual verification: ${forwardRollbackError instanceof Error
418
+ ? forwardRollbackError.message
419
+ : String(forwardRollbackError)}`);
420
+ }
421
+ }
422
+ if (replacementTrustInstalled && (0, node_fs_1.existsSync)(paths.rootCertificate)) {
423
+ untrustRoot(paths.rootCertificate);
424
+ }
425
+ if (upgradeBackup && (0, node_fs_1.existsSync)(upgradeBackup)) {
426
+ if (upgradeSwapped) {
427
+ (0, node_fs_1.rmSync)(paths.appData, { force: true, recursive: true });
428
+ }
429
+ (0, node_fs_1.renameSync)(upgradeBackup, paths.appData);
430
+ upgradeBackup = undefined;
431
+ }
432
+ if (previousTrustRemoved && (0, node_fs_1.existsSync)(paths.rootCertificate)) {
433
+ trustRoot(paths.rootCertificate);
434
+ }
435
+ if (previousState?.portless) {
436
+ installPortlessForward(forward);
437
+ }
438
+ if (previousState && previousGatewayWasRunning) {
439
+ await startGateway(paths.appData, previousState.internalPort ?? forward.internalPort);
440
+ }
441
+ devkit_1.logger.warn('The gateway upgrade failed and the previous gateway state was restored.');
442
+ }
443
+ catch (rollbackError) {
444
+ devkit_1.logger.error(`The gateway upgrade failed and rollback also needs manual recovery: ${rollbackError instanceof Error
445
+ ? rollbackError.message
446
+ : String(rollbackError)}`);
447
+ }
448
+ }
449
+ devkit_1.logger.error(error instanceof Error ? error.message : String(error));
450
+ return { success: false };
451
+ }
452
+ };
453
+ exports.default = executor;
454
+ //# sourceMappingURL=dev-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-setup.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/dev-setup/dev-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "version": 2,
4
+ "title": "Empire Builder Kit local development setup",
5
+ "description": "Explicitly create, upgrade, trust, or remove per-user EBK HTTPS gateway state.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "appData": { "type": "string" },
10
+ "hostSuffix": { "type": "string", "default": "ebk.localhost" },
11
+ "portless": { "type": "boolean", "default": false },
12
+ "remove": { "type": "boolean", "default": false },
13
+ "trust": { "type": "boolean", "default": false },
14
+ "upgrade": { "type": "boolean", "default": false }
15
+ }
16
+ }
@@ -0,0 +1,62 @@
1
+ import { type ExecutorContext, type PromiseExecutor } from '@nx/devkit';
2
+ import { type LocalDevAdapter } from '../../local-dev/contracts.js';
3
+ import { sendGatewayCommand, type GatewayRegistrationRequest } from '../../local-dev/gateway.js';
4
+ export interface FleetOptions {
5
+ appData?: string;
6
+ developmentRouterUrl?: string;
7
+ hostSuffix?: string;
8
+ maxRestartAttempts?: number;
9
+ profile?: string;
10
+ region?: string;
11
+ safeMethodFallback?: boolean;
12
+ slices: string;
13
+ sstMode?: 'mono' | 'multiplexer';
14
+ stage: string;
15
+ }
16
+ export interface FleetPlan {
17
+ adapters: ReadonlyMap<string, LocalDevAdapter>;
18
+ hostname: string;
19
+ id: string;
20
+ selected: string[];
21
+ stage: string;
22
+ }
23
+ export declare function formatFleetAwsError(error: unknown, options: Pick<FleetOptions, 'profile' | 'region'>): string;
24
+ export declare function createFleetChildEnvironment(options: Pick<FleetOptions, 'profile' | 'region' | 'sstMode'>, ambient?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
25
+ export declare function buildFleetPlan(options: FleetOptions, context: Pick<ExecutorContext, 'projectName' | 'projectsConfigurations' | 'root'>): FleetPlan;
26
+ export declare function probeGatewayTls(options: {
27
+ ca: string | Buffer;
28
+ hostname: string;
29
+ port?: number;
30
+ timeoutMs?: number;
31
+ }): Promise<void>;
32
+ export interface FleetGatewayPreferenceOptions {
33
+ capability: string;
34
+ gatewaySocket: string;
35
+ gatewayState?: {
36
+ hostSuffix?: string;
37
+ portless?: boolean;
38
+ schemaVersion?: number;
39
+ };
40
+ hostSuffix: string;
41
+ registration: GatewayRegistrationRequest & {
42
+ action: 'register';
43
+ };
44
+ rootCertificate: string | Buffer;
45
+ }
46
+ export declare function evaluatePortlessGateway(options: FleetGatewayPreferenceOptions, dependencies?: {
47
+ probe?: typeof probeGatewayTls;
48
+ send?: typeof sendGatewayCommand;
49
+ }): Promise<{
50
+ portless: boolean;
51
+ warning?: string;
52
+ }>;
53
+ export declare function fleetRestartDelay(attempt: number): number;
54
+ export declare function planFleetRestart(completedRestartAttempts: number, maxRestartAttempts: number): {
55
+ restart: false;
56
+ } | {
57
+ delayMs: number;
58
+ nextAttempt: number;
59
+ restart: true;
60
+ };
61
+ declare const executor: PromiseExecutor<FleetOptions>;
62
+ export default executor;