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

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 +457 -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,457 @@
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.341](https://github.com/toa-io/toa/compare/v1.0.0-alpha.340...v1.0.0-alpha.341) (2026-10-28)
7
+
8
+ **Note:** Version bump only for package @toa.io/operations
9
+
10
+
11
+
12
+
13
+
14
+ # [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)
15
+
16
+ **Note:** Version bump only for package @toa.io/operations
17
+
18
+
19
+
20
+
21
+
22
+ # [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)
23
+
24
+ **Note:** Version bump only for package @toa.io/operations
25
+
26
+
27
+
28
+
29
+
30
+ # [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)
31
+
32
+ **Note:** Version bump only for package @toa.io/operations
33
+
34
+
35
+
36
+
37
+
38
+ # [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)
39
+
40
+ **Note:** Version bump only for package @toa.io/operations
41
+
42
+
43
+
44
+
45
+
46
+ # [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)
47
+
48
+ ### Bug Fixes
49
+
50
+ * **cli:** mono runs the services the context alone turns on ([8eba6e3](https://github.com/toa-io/toa/commit/8eba6e31befe467408a3f1d18f29dadb666c3f7a))
51
+
52
+
53
+ # [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)
54
+
55
+ **Note:** Version bump only for package @toa.io/operations
56
+
57
+
58
+
59
+
60
+
61
+ # [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)
62
+
63
+ **Note:** Version bump only for package @toa.io/operations
64
+
65
+
66
+
67
+
68
+
69
+ # [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)
70
+
71
+ **Note:** Version bump only for package @toa.io/operations
72
+
73
+
74
+
75
+
76
+
77
+ # [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)
78
+
79
+ **Note:** Version bump only for package @toa.io/operations
80
+
81
+
82
+
83
+
84
+
85
+ # [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)
86
+
87
+ ### Bug Fixes
88
+
89
+ * **operations:** a deploy waited for is rolled back where it fails ([41ce1c5](https://github.com/toa-io/toa/commit/41ce1c5f462c5dcd78e138dba7c7cc4300e8e9fb))
90
+
91
+
92
+ # [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)
93
+
94
+ **Note:** Version bump only for package @toa.io/operations
95
+
96
+
97
+
98
+
99
+
100
+ # [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)
101
+
102
+ **Note:** Version bump only for package @toa.io/operations
103
+
104
+
105
+
106
+
107
+
108
+ # [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)
109
+
110
+ **Note:** Version bump only for package @toa.io/operations
111
+
112
+
113
+
114
+
115
+
116
+ # [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)
117
+
118
+ **Note:** Version bump only for package @toa.io/operations
119
+
120
+
121
+
122
+
123
+
124
+ # [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)
125
+
126
+ **Note:** Version bump only for package @toa.io/operations
127
+
128
+
129
+
130
+
131
+
132
+ # [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)
133
+
134
+ **Note:** Version bump only for package @toa.io/operations
135
+
136
+
137
+
138
+
139
+
140
+ # [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)
141
+
142
+ **Note:** Version bump only for package @toa.io/operations
143
+
144
+
145
+
146
+
147
+
148
+ # [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)
149
+
150
+ **Note:** Version bump only for package @toa.io/operations
151
+
152
+
153
+
154
+
155
+
156
+ # [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)
157
+
158
+ **Note:** Version bump only for package @toa.io/operations
159
+
160
+
161
+
162
+
163
+
164
+ # [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)
165
+
166
+ **Note:** Version bump only for package @toa.io/operations
167
+
168
+
169
+
170
+
171
+
172
+ # [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)
173
+
174
+ **Note:** Version bump only for package @toa.io/operations
175
+
176
+
177
+
178
+
179
+
180
+ # [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)
181
+
182
+ ### Features
183
+
184
+ * **operations:** refuse a deploy where the cluster does not hold a secret ([beb7ccf](https://github.com/toa-io/toa/commit/beb7ccf35619494ab9ad6659963969bb4f9603c8))
185
+
186
+
187
+ # [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)
188
+
189
+ ### Features
190
+
191
+ * **deployment:** copy a component's linked sources as files ([1a1a8c1](https://github.com/toa-io/toa/commit/1a1a8c10684348dba02b475ab809a4083f86a601))
192
+
193
+
194
+ # [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)
195
+
196
+ **Note:** Version bump only for package @toa.io/operations
197
+
198
+
199
+
200
+
201
+
202
+ # [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)
203
+
204
+ **Note:** Version bump only for package @toa.io/operations
205
+
206
+
207
+
208
+
209
+
210
+ # [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)
211
+
212
+ * feat(map)!: leave out of a contract what the runtime gives every component ([b81837a](https://github.com/toa-io/toa/commit/b81837a3bc4771d7ee1c10fe613c9a1d7501bf1a))
213
+
214
+ ### BREAKING CHANGES
215
+
216
+ * the deployed component map is `/etc/toa/.map.json.gz`.
217
+
218
+
219
+ # [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)
220
+
221
+ ### Features
222
+
223
+ * **core:** a reference may name a declaration its package claims ([8040f60](https://github.com/toa-io/toa/commit/8040f60976549ab90497675bb54e664261f5b6bb))
224
+
225
+
226
+ # [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)
227
+
228
+ **Note:** Version bump only for package @toa.io/operations
229
+
230
+
231
+
232
+
233
+
234
+ # [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)
235
+
236
+ ### Features
237
+
238
+ * **operations:** point a component's service at the port a streamed call is served on ([dbad630](https://github.com/toa-io/toa/commit/dbad630f765d5c1d50b3eda65768352905149c0c))
239
+ * **operations:** refuse to render a chart for a context with no version ([d6cd083](https://github.com/toa-io/toa/commit/d6cd083bfe8d7da9f3d451c2c25d821eb41ce958))
240
+
241
+
242
+ # [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)
243
+
244
+ **Note:** Version bump only for package @toa.io/operations
245
+
246
+
247
+
248
+
249
+
250
+ # [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)
251
+
252
+ **Note:** Version bump only for package @toa.io/operations
253
+
254
+
255
+
256
+
257
+
258
+ # [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)
259
+
260
+ **Note:** Version bump only for package @toa.io/operations
261
+
262
+
263
+
264
+
265
+
266
+ # [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)
267
+
268
+ **Note:** Version bump only for package @toa.io/operations
269
+
270
+
271
+
272
+
273
+
274
+ # [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)
275
+
276
+ **Note:** Version bump only for package @toa.io/operations
277
+
278
+
279
+
280
+
281
+
282
+ # [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)
283
+
284
+ **Note:** Version bump only for package @toa.io/operations
285
+
286
+
287
+
288
+
289
+
290
+ # [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)
291
+
292
+ **Note:** Version bump only for package @toa.io/operations
293
+
294
+
295
+
296
+
297
+
298
+ # [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)
299
+
300
+ **Note:** Version bump only for package @toa.io/operations
301
+
302
+
303
+
304
+
305
+
306
+ # [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)
307
+
308
+ ### Features
309
+
310
+ * **operations:** a composition states how many replicas it runs ([4466f5a](https://github.com/toa-io/toa/commit/4466f5abcc22c6dceb2994a0143b6bf9d5201d9d))
311
+
312
+
313
+ # [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)
314
+
315
+ **Note:** Version bump only for package @toa.io/operations
316
+
317
+
318
+
319
+
320
+
321
+ # [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)
322
+
323
+ ### Bug Fixes
324
+
325
+ * **operations:** a composition of evicted components asks for no resources ([a6a3ec7](https://github.com/toa-io/toa/commit/a6a3ec76781812f5a9bdd46c6de0fe7769174d57))
326
+
327
+ ### Features
328
+
329
+ * **operations:** an evicted component is given its environment and configuration ([6cf7890](https://github.com/toa-io/toa/commit/6cf7890a632a2185d2b7d9790890a04187e5a897))
330
+
331
+
332
+ # [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)
333
+
334
+ * feat(core)!: an operation may ask to run once ([dca616c](https://github.com/toa-io/toa/commit/dca616cb380a7a389e277875d3bd5ca55a6e4d45))
335
+
336
+ ### Features
337
+
338
+ * **cli:** generate env for listed components and services ([b830613](https://github.com/toa-io/toa/commit/b830613ae2a0443bf8e72a353ffb6f2efaa72fb5))
339
+ * **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))
340
+ * **norm:** a context says what it does not deploy ([135e6fd](https://github.com/toa-io/toa/commit/135e6fdfbc4270762028e9e5a0516766960ce59c))
341
+ * **operations:** a rollout spreads the pods of its revision across nodes ([63be649](https://github.com/toa-io/toa/commit/63be649a73978a415f0c1e7ffb3837ffa7802da7))
342
+
343
+ ### BREAKING CHANGES
344
+
345
+ * `Storage.store`, `.upsert` and `.ensure` take one more
346
+ argument, and `Storage` has two more members. A connector that ignores them
347
+ works exactly as it did; a component that asks it for `once` is refused at
348
+ boot. See migrations/299.md.
349
+
350
+
351
+ # [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)
352
+
353
+ **Note:** Version bump only for package @toa.io/operations
354
+
355
+
356
+
357
+
358
+
359
+ # [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)
360
+
361
+ ### Features
362
+
363
+ * **operations:** tag a deploy with the environment so registries can prune ([7247c35](https://github.com/toa-io/toa/commit/7247c35f33fb34dcfb3ffa04b196c14bfb3d5620))
364
+
365
+
366
+ # [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)
367
+
368
+ **Note:** Version bump only for package @toa.io/operations
369
+
370
+
371
+
372
+
373
+
374
+ # [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)
375
+
376
+ ### Bug Fixes
377
+
378
+ * **exposition:** the gateway's image carries every storage provider ([ab19d25](https://github.com/toa-io/toa/commit/ab19d2567764d5a3148b067f186819d7e646908f))
379
+
380
+
381
+ # [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)
382
+
383
+ **Note:** Version bump only for package @toa.io/operations
384
+
385
+
386
+
387
+
388
+
389
+ # [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)
390
+
391
+ **Note:** Version bump only for package @toa.io/operations
392
+
393
+
394
+
395
+
396
+
397
+ # [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)
398
+
399
+ **Note:** Version bump only for package @toa.io/operations
400
+
401
+
402
+
403
+
404
+
405
+ # [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)
406
+
407
+ ### Features
408
+
409
+ * **cli:** the deployment library is a peer, and the binary is the CLI's ([a923f81](https://github.com/toa-io/toa/commit/a923f8173a55ed1c091213a7c7db1863ca1d0ba6))
410
+ * **norm:** a package's definition is read by one resolver ([bffd41c](https://github.com/toa-io/toa/commit/bffd41c8d18c42786b0bf321623088b9dabc4724))
411
+
412
+
413
+ # [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)
414
+
415
+ **Note:** Version bump only for package @toa.io/operations
416
+
417
+
418
+
419
+
420
+
421
+ # [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)
422
+
423
+ * fix(operations)!: an image starts as root again ([9eb0db7](https://github.com/toa-io/toa/commit/9eb0db75e3d02098fe75710280e8e15e63b73d57))
424
+ * The runtime's environment is not a component's (#1070), closes [#1070](https://github.com/toa-io/toa/issues/1070)
425
+
426
+ ### BREAKING CHANGES
427
+
428
+ * a component that read `process.env.TOA_*` reads `context` instead;
429
+ `echo(input)` no longer substitutes from the environment; a bash operation sees no
430
+ `TOA_*`; images no longer set `USER node` — see migrations/289.md.
431
+ * an image built by alpha.289 runs its composition as `node` and
432
+ leaves the deployed environment readable under /proc; rebuild on 290. Nothing in
433
+ a context or a manifest changes.
434
+
435
+
436
+ # [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)
437
+
438
+ * 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)
439
+
440
+ ### BREAKING CHANGES
441
+
442
+ * a component that read `process.env.TOA_*` reads `context` instead;
443
+ `echo(input)` no longer substitutes from the environment; a bash operation sees no
444
+ `TOA_*`; images no longer set `USER node` — see migrations/289.md.
445
+
446
+
447
+ # [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)
448
+
449
+ **Note:** Version bump only for package @toa.io/operations
450
+
451
+
452
+
453
+
454
+
455
+ # [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)
456
+
457
+ **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.341",
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.341",
34
+ "oxc-parser": "0.155.0",
35
+ "paseto": "4.0.1"
36
36
  },
37
- "gitHead": "caf71c04ebd589ff54a25f533b975484aaf9a254"
37
+ "gitHead": "ffad087737a8416703887d311058dd9f32ac3c69"
38
38
  }