@toa.io/operations 1.0.0-alpha.34 → 1.0.0-alpha.340

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 (78) hide show
  1. package/CHANGELOG.md +449 -0
  2. package/image/runtime.Dockerfile +20 -0
  3. package/package.json +10 -10
  4. package/readme.md +224 -0
  5. package/src/deployment/.deployment/.describe/components.js +1 -5
  6. package/src/deployment/.deployment/.describe/compositions.js +26 -7
  7. package/src/deployment/.deployment/.describe/dependencies.js +1 -6
  8. package/src/deployment/.deployment/.describe/events.js +63 -0
  9. package/src/deployment/.deployment/.describe/fold.js +42 -0
  10. package/src/deployment/.deployment/.describe/fold.test.js +108 -0
  11. package/src/deployment/.deployment/.describe/index.js +4 -13
  12. package/src/deployment/.deployment/.describe/mounts.js +17 -0
  13. package/src/deployment/.deployment/.describe/resources.js +129 -0
  14. package/src/deployment/.deployment/.describe/resources.test.js +129 -0
  15. package/src/deployment/.deployment/.describe/services.js +32 -6
  16. package/src/deployment/.deployment/.describe/services.test.js +78 -0
  17. package/src/deployment/.deployment/.describe/variables.js +5 -9
  18. package/src/deployment/.deployment/declare.js +1 -5
  19. package/src/deployment/.deployment/describe.js +168 -10
  20. package/src/deployment/.deployment/index.js +3 -9
  21. package/src/deployment/.deployment/merge.js +66 -6
  22. package/src/deployment/.deployment/merge.test.js +133 -0
  23. package/src/deployment/chart/templates/components.configmap.yaml +13 -0
  24. package/src/deployment/chart/templates/components.yaml +4 -3
  25. package/src/deployment/chart/templates/compositions.yaml +109 -4
  26. package/src/deployment/chart/templates/mono.yaml +199 -0
  27. package/src/deployment/chart/templates/services.yaml +97 -7
  28. package/src/deployment/chart/values.yaml +23 -1
  29. package/src/deployment/composition.js +8 -6
  30. package/src/deployment/deployment.js +175 -35
  31. package/src/deployment/drain.js +70 -0
  32. package/src/deployment/drain.test.js +64 -0
  33. package/src/deployment/factory.js +178 -37
  34. package/src/deployment/images/bundle.js +93 -0
  35. package/src/deployment/images/composition.Dockerfile +9 -17
  36. package/src/deployment/images/composition.js +9 -56
  37. package/src/deployment/images/dependencies.Dockerfile +23 -0
  38. package/src/deployment/images/dependencies.js +171 -0
  39. package/src/deployment/images/dependencies.test.js +271 -0
  40. package/src/deployment/images/factory.js +31 -15
  41. package/src/deployment/images/format.js +66 -0
  42. package/src/deployment/images/format.test.js +150 -0
  43. package/src/deployment/images/image.fixtures.js +17 -19
  44. package/src/deployment/images/image.js +79 -38
  45. package/src/deployment/images/image.test.js +11 -5
  46. package/src/deployment/images/index.js +1 -5
  47. package/src/deployment/images/mono.Dockerfile +11 -0
  48. package/src/deployment/images/mono.js +15 -0
  49. package/src/deployment/images/publish.js +91 -0
  50. package/src/deployment/images/runtime-base.test.js +97 -0
  51. package/src/deployment/images/service.Dockerfile +17 -5
  52. package/src/deployment/images/service.js +63 -14
  53. package/src/deployment/index.js +1 -5
  54. package/src/deployment/operator.js +25 -16
  55. package/src/deployment/operator.test.js +98 -7
  56. package/src/deployment/registry.js +210 -46
  57. package/src/deployment/registry.test.js +539 -0
  58. package/src/deployment/secrets.js +92 -0
  59. package/src/deployment/secrets.test.js +180 -0
  60. package/src/deployment/service.js +4 -6
  61. package/src/deployment/workspace.js +13 -8
  62. package/src/index.js +3 -2
  63. package/src/process.js +51 -13
  64. package/src/process.test.js +33 -0
  65. package/types/_deployment/composition.d.ts +2 -3
  66. package/types/_deployment/dependency.d.ts +15 -7
  67. package/types/_deployment/deployment.d.ts +10 -8
  68. package/types/_deployment/factory.d.ts +2 -4
  69. package/types/_deployment/images/factory.d.ts +6 -8
  70. package/types/_deployment/images/image.d.ts +16 -1
  71. package/types/_deployment/images/registry.d.ts +8 -11
  72. package/types/_deployment/operator.d.ts +10 -9
  73. package/types/_deployment/registry.d.ts +7 -4
  74. package/types/_deployment/service.d.ts +4 -3
  75. package/types/dependency.ts +79 -0
  76. package/types/index.ts +1 -0
  77. package/types/dependency.d.ts +0 -39
  78. package/types/index.d.ts +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,449 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ # [1.0.0-alpha.340](https://github.com/toa-io/toa/compare/v1.0.0-alpha.339...v1.0.0-alpha.340) (2026-10-28)
7
+
8
+ **Note:** Version bump only for package @toa.io/operations
9
+
10
+
11
+
12
+
13
+
14
+ # [1.0.0-alpha.339](https://github.com/toa-io/toa/compare/v1.0.0-alpha.338...v1.0.0-alpha.339) (2026-10-28)
15
+
16
+ **Note:** Version bump only for package @toa.io/operations
17
+
18
+
19
+
20
+
21
+
22
+ # [1.0.0-alpha.338](https://github.com/toa-io/toa/compare/v1.0.0-alpha.337...v1.0.0-alpha.338) (2026-10-28)
23
+
24
+ **Note:** Version bump only for package @toa.io/operations
25
+
26
+
27
+
28
+
29
+
30
+ # [1.0.0-alpha.337](https://github.com/toa-io/toa/compare/v1.0.0-alpha.336...v1.0.0-alpha.337) (2026-10-28)
31
+
32
+ **Note:** Version bump only for package @toa.io/operations
33
+
34
+
35
+
36
+
37
+
38
+ # [1.0.0-alpha.336](https://github.com/toa-io/toa/compare/v1.0.0-alpha.335...v1.0.0-alpha.336) (2026-10-26)
39
+
40
+ ### Bug Fixes
41
+
42
+ * **cli:** mono runs the services the context alone turns on ([8eba6e3](https://github.com/toa-io/toa/commit/8eba6e31befe467408a3f1d18f29dadb666c3f7a))
43
+
44
+
45
+ # [1.0.0-alpha.335](https://github.com/toa-io/toa/compare/v1.0.0-alpha.334...v1.0.0-alpha.335) (2026-10-26)
46
+
47
+ **Note:** Version bump only for package @toa.io/operations
48
+
49
+
50
+
51
+
52
+
53
+ # [1.0.0-alpha.334](https://github.com/toa-io/toa/compare/v1.0.0-alpha.333...v1.0.0-alpha.334) (2026-10-26)
54
+
55
+ **Note:** Version bump only for package @toa.io/operations
56
+
57
+
58
+
59
+
60
+
61
+ # [1.0.0-alpha.333](https://github.com/toa-io/toa/compare/v1.0.0-alpha.332...v1.0.0-alpha.333) (2026-10-26)
62
+
63
+ **Note:** Version bump only for package @toa.io/operations
64
+
65
+
66
+
67
+
68
+
69
+ # [1.0.0-alpha.332](https://github.com/toa-io/toa/compare/v1.0.0-alpha.331...v1.0.0-alpha.332) (2026-10-23)
70
+
71
+ **Note:** Version bump only for package @toa.io/operations
72
+
73
+
74
+
75
+
76
+
77
+ # [1.0.0-alpha.331](https://github.com/toa-io/toa/compare/v1.0.0-alpha.330...v1.0.0-alpha.331) (2026-10-16)
78
+
79
+ ### Bug Fixes
80
+
81
+ * **operations:** a deploy waited for is rolled back where it fails ([41ce1c5](https://github.com/toa-io/toa/commit/41ce1c5f462c5dcd78e138dba7c7cc4300e8e9fb))
82
+
83
+
84
+ # [1.0.0-alpha.330](https://github.com/toa-io/toa/compare/v1.0.0-alpha.329...v1.0.0-alpha.330) (2026-10-15)
85
+
86
+ **Note:** Version bump only for package @toa.io/operations
87
+
88
+
89
+
90
+
91
+
92
+ # [1.0.0-alpha.329](https://github.com/toa-io/toa/compare/v1.0.0-alpha.328...v1.0.0-alpha.329) (2026-10-11)
93
+
94
+ **Note:** Version bump only for package @toa.io/operations
95
+
96
+
97
+
98
+
99
+
100
+ # [1.0.0-alpha.328](https://github.com/toa-io/toa/compare/v1.0.0-alpha.327...v1.0.0-alpha.328) (2026-10-10)
101
+
102
+ **Note:** Version bump only for package @toa.io/operations
103
+
104
+
105
+
106
+
107
+
108
+ # [1.0.0-alpha.327](https://github.com/toa-io/toa/compare/v1.0.0-alpha.326...v1.0.0-alpha.327) (2026-10-10)
109
+
110
+ **Note:** Version bump only for package @toa.io/operations
111
+
112
+
113
+
114
+
115
+
116
+ # [1.0.0-alpha.326](https://github.com/toa-io/toa/compare/v1.0.0-alpha.325...v1.0.0-alpha.326) (2026-10-06)
117
+
118
+ **Note:** Version bump only for package @toa.io/operations
119
+
120
+
121
+
122
+
123
+
124
+ # [1.0.0-alpha.325](https://github.com/toa-io/toa/compare/v1.0.0-alpha.324...v1.0.0-alpha.325) (2026-10-02)
125
+
126
+ **Note:** Version bump only for package @toa.io/operations
127
+
128
+
129
+
130
+
131
+
132
+ # [1.0.0-alpha.324](https://github.com/toa-io/toa/compare/v1.0.0-alpha.323...v1.0.0-alpha.324) (2026-10-02)
133
+
134
+ **Note:** Version bump only for package @toa.io/operations
135
+
136
+
137
+
138
+
139
+
140
+ # [1.0.0-alpha.323](https://github.com/toa-io/toa/compare/v1.0.0-alpha.322...v1.0.0-alpha.323) (2026-10-01)
141
+
142
+ **Note:** Version bump only for package @toa.io/operations
143
+
144
+
145
+
146
+
147
+
148
+ # [1.0.0-alpha.322](https://github.com/toa-io/toa/compare/v1.0.0-alpha.321...v1.0.0-alpha.322) (2026-09-29)
149
+
150
+ **Note:** Version bump only for package @toa.io/operations
151
+
152
+
153
+
154
+
155
+
156
+ # [1.0.0-alpha.321](https://github.com/toa-io/toa/compare/v1.0.0-alpha.320...v1.0.0-alpha.321) (2026-09-28)
157
+
158
+ **Note:** Version bump only for package @toa.io/operations
159
+
160
+
161
+
162
+
163
+
164
+ # [1.0.0-alpha.320](https://github.com/toa-io/toa/compare/v1.0.0-alpha.319...v1.0.0-alpha.320) (2026-09-28)
165
+
166
+ **Note:** Version bump only for package @toa.io/operations
167
+
168
+
169
+
170
+
171
+
172
+ # [1.0.0-alpha.319](https://github.com/toa-io/toa/compare/v1.0.0-alpha.318...v1.0.0-alpha.319) (2026-09-27)
173
+
174
+ ### Features
175
+
176
+ * **operations:** refuse a deploy where the cluster does not hold a secret ([beb7ccf](https://github.com/toa-io/toa/commit/beb7ccf35619494ab9ad6659963969bb4f9603c8))
177
+
178
+
179
+ # [1.0.0-alpha.318](https://github.com/toa-io/toa/compare/v1.0.0-alpha.317...v1.0.0-alpha.318) (2026-09-23)
180
+
181
+ ### Features
182
+
183
+ * **deployment:** copy a component's linked sources as files ([1a1a8c1](https://github.com/toa-io/toa/commit/1a1a8c10684348dba02b475ab809a4083f86a601))
184
+
185
+
186
+ # [1.0.0-alpha.317](https://github.com/toa-io/toa/compare/v1.0.0-alpha.316...v1.0.0-alpha.317) (2026-09-23)
187
+
188
+ **Note:** Version bump only for package @toa.io/operations
189
+
190
+
191
+
192
+
193
+
194
+ # [1.0.0-alpha.316](https://github.com/toa-io/toa/compare/v1.0.0-alpha.315...v1.0.0-alpha.316) (2026-09-23)
195
+
196
+ **Note:** Version bump only for package @toa.io/operations
197
+
198
+
199
+
200
+
201
+
202
+ # [1.0.0-alpha.315](https://github.com/toa-io/toa/compare/v1.0.0-alpha.314...v1.0.0-alpha.315) (2026-09-23)
203
+
204
+ * feat(map)!: leave out of a contract what the runtime gives every component ([b81837a](https://github.com/toa-io/toa/commit/b81837a3bc4771d7ee1c10fe613c9a1d7501bf1a))
205
+
206
+ ### BREAKING CHANGES
207
+
208
+ * the deployed component map is `/etc/toa/.map.json.gz`.
209
+
210
+
211
+ # [1.0.0-alpha.314](https://github.com/toa-io/toa/compare/v1.0.0-alpha.313...v1.0.0-alpha.314) (2026-09-19)
212
+
213
+ ### Features
214
+
215
+ * **core:** a reference may name a declaration its package claims ([8040f60](https://github.com/toa-io/toa/commit/8040f60976549ab90497675bb54e664261f5b6bb))
216
+
217
+
218
+ # [1.0.0-alpha.313](https://github.com/toa-io/toa/compare/v1.0.0-alpha.312...v1.0.0-alpha.313) (2026-09-18)
219
+
220
+ **Note:** Version bump only for package @toa.io/operations
221
+
222
+
223
+
224
+
225
+
226
+ # [1.0.0-alpha.312](https://github.com/toa-io/toa/compare/v1.0.0-alpha.311...v1.0.0-alpha.312) (2026-09-18)
227
+
228
+ ### Features
229
+
230
+ * **operations:** point a component's service at the port a streamed call is served on ([dbad630](https://github.com/toa-io/toa/commit/dbad630f765d5c1d50b3eda65768352905149c0c))
231
+ * **operations:** refuse to render a chart for a context with no version ([d6cd083](https://github.com/toa-io/toa/commit/d6cd083bfe8d7da9f3d451c2c25d821eb41ce958))
232
+
233
+
234
+ # [1.0.0-alpha.311](https://github.com/toa-io/toa/compare/v1.0.0-alpha.310...v1.0.0-alpha.311) (2026-09-17)
235
+
236
+ **Note:** Version bump only for package @toa.io/operations
237
+
238
+
239
+
240
+
241
+
242
+ # [1.0.0-alpha.310](https://github.com/toa-io/toa/compare/v1.0.0-alpha.309...v1.0.0-alpha.310) (2026-09-16)
243
+
244
+ **Note:** Version bump only for package @toa.io/operations
245
+
246
+
247
+
248
+
249
+
250
+ # [1.0.0-alpha.309](https://github.com/toa-io/toa/compare/v1.0.0-alpha.308...v1.0.0-alpha.309) (2026-09-16)
251
+
252
+ **Note:** Version bump only for package @toa.io/operations
253
+
254
+
255
+
256
+
257
+
258
+ # [1.0.0-alpha.308](https://github.com/toa-io/toa/compare/v1.0.0-alpha.307...v1.0.0-alpha.308) (2026-09-15)
259
+
260
+ **Note:** Version bump only for package @toa.io/operations
261
+
262
+
263
+
264
+
265
+
266
+ # [1.0.0-alpha.307](https://github.com/toa-io/toa/compare/v1.0.0-alpha.306...v1.0.0-alpha.307) (2026-09-15)
267
+
268
+ **Note:** Version bump only for package @toa.io/operations
269
+
270
+
271
+
272
+
273
+
274
+ # [1.0.0-alpha.306](https://github.com/toa-io/toa/compare/v1.0.0-alpha.305...v1.0.0-alpha.306) (2026-09-14)
275
+
276
+ **Note:** Version bump only for package @toa.io/operations
277
+
278
+
279
+
280
+
281
+
282
+ # [1.0.0-alpha.305](https://github.com/toa-io/toa/compare/v1.0.0-alpha.304...v1.0.0-alpha.305) (2026-09-13)
283
+
284
+ **Note:** Version bump only for package @toa.io/operations
285
+
286
+
287
+
288
+
289
+
290
+ # [1.0.0-alpha.304](https://github.com/toa-io/toa/compare/v1.0.0-alpha.303...v1.0.0-alpha.304) (2026-09-13)
291
+
292
+ **Note:** Version bump only for package @toa.io/operations
293
+
294
+
295
+
296
+
297
+
298
+ # [1.0.0-alpha.303](https://github.com/toa-io/toa/compare/v1.0.0-alpha.302...v1.0.0-alpha.303) (2026-09-12)
299
+
300
+ ### Features
301
+
302
+ * **operations:** a composition states how many replicas it runs ([4466f5a](https://github.com/toa-io/toa/commit/4466f5abcc22c6dceb2994a0143b6bf9d5201d9d))
303
+
304
+
305
+ # [1.0.0-alpha.302](https://github.com/toa-io/toa/compare/v1.0.0-alpha.301...v1.0.0-alpha.302) (2026-09-11)
306
+
307
+ **Note:** Version bump only for package @toa.io/operations
308
+
309
+
310
+
311
+
312
+
313
+ # [1.0.0-alpha.301](https://github.com/toa-io/toa/compare/v1.0.0-alpha.300...v1.0.0-alpha.301) (2026-09-11)
314
+
315
+ ### Bug Fixes
316
+
317
+ * **operations:** a composition of evicted components asks for no resources ([a6a3ec7](https://github.com/toa-io/toa/commit/a6a3ec76781812f5a9bdd46c6de0fe7769174d57))
318
+
319
+ ### Features
320
+
321
+ * **operations:** an evicted component is given its environment and configuration ([6cf7890](https://github.com/toa-io/toa/commit/6cf7890a632a2185d2b7d9790890a04187e5a897))
322
+
323
+
324
+ # [1.0.0-alpha.300](https://github.com/toa-io/toa/compare/v1.0.0-alpha.299...v1.0.0-alpha.300) (2026-09-11)
325
+
326
+ * feat(core)!: an operation may ask to run once ([dca616c](https://github.com/toa-io/toa/commit/dca616cb380a7a389e277875d3bd5ca55a6e4d45))
327
+
328
+ ### Features
329
+
330
+ * **cli:** generate env for listed components and services ([b830613](https://github.com/toa-io/toa/commit/b830613ae2a0443bf8e72a353ffb6f2efaa72fb5))
331
+ * **core:** a call may name the process it goes to, and wait for a set time ([7d8adb2](https://github.com/toa-io/toa/commit/7d8adb2772a95ff45ae5374efdedfb5a857fbbe9))
332
+ * **norm:** a context says what it does not deploy ([135e6fd](https://github.com/toa-io/toa/commit/135e6fdfbc4270762028e9e5a0516766960ce59c))
333
+ * **operations:** a rollout spreads the pods of its revision across nodes ([63be649](https://github.com/toa-io/toa/commit/63be649a73978a415f0c1e7ffb3837ffa7802da7))
334
+
335
+ ### BREAKING CHANGES
336
+
337
+ * `Storage.store`, `.upsert` and `.ensure` take one more
338
+ argument, and `Storage` has two more members. A connector that ignores them
339
+ works exactly as it did; a component that asks it for `once` is refused at
340
+ boot. See migrations/299.md.
341
+
342
+
343
+ # [1.0.0-alpha.299](https://github.com/toa-io/toa/compare/v1.0.0-alpha.298...v1.0.0-alpha.299) (2026-09-10)
344
+
345
+ **Note:** Version bump only for package @toa.io/operations
346
+
347
+
348
+
349
+
350
+
351
+ # [1.0.0-alpha.298](https://github.com/toa-io/toa/compare/v1.0.0-alpha.297...v1.0.0-alpha.298) (2026-09-08)
352
+
353
+ ### Features
354
+
355
+ * **operations:** tag a deploy with the environment so registries can prune ([7247c35](https://github.com/toa-io/toa/commit/7247c35f33fb34dcfb3ffa04b196c14bfb3d5620))
356
+
357
+
358
+ # [1.0.0-alpha.297](https://github.com/toa-io/toa/compare/v1.0.0-alpha.296...v1.0.0-alpha.297) (2026-09-08)
359
+
360
+ **Note:** Version bump only for package @toa.io/operations
361
+
362
+
363
+
364
+
365
+
366
+ # [1.0.0-alpha.296](https://github.com/toa-io/toa/compare/v1.0.0-alpha.295...v1.0.0-alpha.296) (2026-09-08)
367
+
368
+ ### Bug Fixes
369
+
370
+ * **exposition:** the gateway's image carries every storage provider ([ab19d25](https://github.com/toa-io/toa/commit/ab19d2567764d5a3148b067f186819d7e646908f))
371
+
372
+
373
+ # [1.0.0-alpha.295](https://github.com/toa-io/toa/compare/v1.0.0-alpha.294...v1.0.0-alpha.295) (2026-09-07)
374
+
375
+ **Note:** Version bump only for package @toa.io/operations
376
+
377
+
378
+
379
+
380
+
381
+ # [1.0.0-alpha.294](https://github.com/toa-io/toa/compare/v1.0.0-alpha.293...v1.0.0-alpha.294) (2026-09-07)
382
+
383
+ **Note:** Version bump only for package @toa.io/operations
384
+
385
+
386
+
387
+
388
+
389
+ # [1.0.0-alpha.293](https://github.com/toa-io/toa/compare/v1.0.0-alpha.292...v1.0.0-alpha.293) (2026-09-07)
390
+
391
+ **Note:** Version bump only for package @toa.io/operations
392
+
393
+
394
+
395
+
396
+
397
+ # [1.0.0-alpha.292](https://github.com/toa-io/toa/compare/v1.0.0-alpha.291...v1.0.0-alpha.292) (2026-09-07)
398
+
399
+ ### Features
400
+
401
+ * **cli:** the deployment library is a peer, and the binary is the CLI's ([a923f81](https://github.com/toa-io/toa/commit/a923f8173a55ed1c091213a7c7db1863ca1d0ba6))
402
+ * **norm:** a package's definition is read by one resolver ([bffd41c](https://github.com/toa-io/toa/commit/bffd41c8d18c42786b0bf321623088b9dabc4724))
403
+
404
+
405
+ # [1.0.0-alpha.291](https://github.com/toa-io/toa/compare/v1.0.0-alpha.290...v1.0.0-alpha.291) (2026-09-07)
406
+
407
+ **Note:** Version bump only for package @toa.io/operations
408
+
409
+
410
+
411
+
412
+
413
+ # [1.0.0-alpha.290](https://github.com/toa-io/toa/compare/v1.0.0-alpha.289...v1.0.0-alpha.290) (2026-09-07)
414
+
415
+ * fix(operations)!: an image starts as root again ([9eb0db7](https://github.com/toa-io/toa/commit/9eb0db75e3d02098fe75710280e8e15e63b73d57))
416
+ * The runtime's environment is not a component's (#1070), closes [#1070](https://github.com/toa-io/toa/issues/1070)
417
+
418
+ ### BREAKING CHANGES
419
+
420
+ * a component that read `process.env.TOA_*` reads `context` instead;
421
+ `echo(input)` no longer substitutes from the environment; a bash operation sees no
422
+ `TOA_*`; images no longer set `USER node` — see migrations/289.md.
423
+ * an image built by alpha.289 runs its composition as `node` and
424
+ leaves the deployed environment readable under /proc; rebuild on 290. Nothing in
425
+ a context or a manifest changes.
426
+
427
+
428
+ # [1.0.0-alpha.289](https://github.com/toa-io/toa/compare/v1.0.0-alpha.288...v1.0.0-alpha.289) (2026-09-07)
429
+
430
+ * A deploy moves only what changed, and a component sees none of the runtime's environment (#1073) ([f38e3db](https://github.com/toa-io/toa/commit/f38e3db533f24db866c57bfa1ef294eff1eaf499)), closes [#1073](https://github.com/toa-io/toa/issues/1073) [#1064](https://github.com/toa-io/toa/issues/1064) [#1066](https://github.com/toa-io/toa/issues/1066) [#1067](https://github.com/toa-io/toa/issues/1067) [#1068](https://github.com/toa-io/toa/issues/1068) [#1069](https://github.com/toa-io/toa/issues/1069) [#1071](https://github.com/toa-io/toa/issues/1071) [#1070](https://github.com/toa-io/toa/issues/1070) [#1072](https://github.com/toa-io/toa/issues/1072)
431
+
432
+ ### BREAKING CHANGES
433
+
434
+ * a component that read `process.env.TOA_*` reads `context` instead;
435
+ `echo(input)` no longer substitutes from the environment; a bash operation sees no
436
+ `TOA_*`; images no longer set `USER node` — see migrations/289.md.
437
+
438
+
439
+ # [1.0.0-alpha.288](https://github.com/toa-io/toa/compare/v1.0.0-alpha.287...v1.0.0-alpha.288) (2026-09-06)
440
+
441
+ **Note:** Version bump only for package @toa.io/operations
442
+
443
+
444
+
445
+
446
+
447
+ # [1.0.0-alpha.287](https://github.com/toa-io/toa/compare/v1.0.0-alpha.286...v1.0.0-alpha.287) (2026-09-06)
448
+
449
+ **Note:** Version bump only for package @toa.io/operations
@@ -0,0 +1,20 @@
1
+ FROM node:24.22.1-alpine3.24
2
+
3
+ ARG VERSION
4
+
5
+ # installed locally rather than globally: the binary is @toa.io/cli's, which the runtime depends
6
+ # on, and npm links a dependency's binaries only into a local `node_modules/.bin`
7
+ WORKDIR /toa
8
+
9
+ # what the install scripts of Toa's own dependencies may do, stated where npm reads it — the
10
+ # project Toa is installed into, which every later `npm i --prefix /toa` of an image built on
11
+ # this one installs into too. npm runs no script nobody allowed and warns about each, and the
12
+ # one there is, msgpackr-extract's, only looks for the binary its optional dependency provides
13
+ RUN echo '{ "private": true, "allowScripts": { "msgpackr-extract": false } }' > package.json
14
+
15
+ # mounted rather than written: npm's cache is a hundred megabytes, and a layer keeps whatever
16
+ # the command left behind
17
+ RUN --mount=type=cache,target=/root/.npm,sharing=locked \
18
+ npm i @toa.io/runtime@${VERSION} --omit=dev
19
+
20
+ ENV PATH=/toa/node_modules/.bin:$PATH
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@toa.io/operations",
3
- "version": "1.0.0-alpha.34",
3
+ "version": "1.0.0-alpha.340",
4
+ "type": "module",
4
5
  "description": "Toa Deployment",
5
6
  "homepage": "https://toa.io",
6
7
  "author": {
@@ -16,23 +17,22 @@
16
17
  "url": "https://github.com/toa-io/toa/issues"
17
18
  },
18
19
  "engines": {
19
- "node": ">= 18.0.0"
20
+ "node": ">= 24.0.0"
20
21
  },
21
22
  "publishConfig": {
22
23
  "access": "public"
23
24
  },
24
25
  "main": "src/index.js",
25
- "types": "types/index.d.ts",
26
+ "types": "types/index.ts",
26
27
  "scripts": {
27
28
  "test": "echo \"Error: run tests from root\" && exit 1"
28
29
  },
29
30
  "dependencies": {
30
- "@toa.io/filesystem": "1.0.0-alpha.34",
31
- "@toa.io/generic": "1.0.0-alpha.34",
32
- "@toa.io/norm": "1.0.0-alpha.34",
33
- "@toa.io/yaml": "1.0.0-alpha.34",
34
- "execa": "5.1.1",
35
- "fs-extra": "11.1.1"
31
+ "@toa.io/generic": "1.0.0-alpha.332",
32
+ "@toa.io/kubernetes": "1.0.0-alpha.301",
33
+ "@toa.io/norm": "1.0.0-alpha.340",
34
+ "oxc-parser": "0.155.0",
35
+ "paseto": "4.0.1"
36
36
  },
37
- "gitHead": "caf71c04ebd589ff54a25f533b975484aaf9a254"
37
+ "gitHead": "1871346ef431050d23bd8e91f2b920cea1aeb749"
38
38
  }