@toa.io/operations 1.0.0-alpha.289 → 1.0.0-alpha.290

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/CHANGELOG.md CHANGED
@@ -3,6 +3,21 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [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)
7
+
8
+ * fix(operations)!: an image starts as root again ([9eb0db7](https://github.com/toa-io/toa/commit/9eb0db75e3d02098fe75710280e8e15e63b73d57))
9
+ * The runtime's environment is not a component's (#1070), closes [#1070](https://github.com/toa-io/toa/issues/1070)
10
+
11
+ ### BREAKING CHANGES
12
+
13
+ * a component that read `process.env.TOA_*` reads `context` instead;
14
+ `echo(input)` no longer substitutes from the environment; a bash operation sees no
15
+ `TOA_*`; images no longer set `USER node` — see migrations/289.md.
16
+ * an image built by alpha.289 runs its composition as `node` and
17
+ leaves the deployed environment readable under /proc; rebuild on 290. Nothing in
18
+ a context or a manifest changes.
19
+
20
+
6
21
  # [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)
7
22
 
8
23
  * 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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toa.io/operations",
3
- "version": "1.0.0-alpha.289",
3
+ "version": "1.0.0-alpha.290",
4
4
  "type": "module",
5
5
  "description": "Toa Deployment",
6
6
  "homepage": "https://toa.io",
@@ -32,5 +32,5 @@
32
32
  "@toa.io/norm": "1.0.0-alpha.289",
33
33
  "js-yaml": "5.4.1"
34
34
  },
35
- "gitHead": "4fcb482beac5896305d8084cdbc1d5fcf372d108"
35
+ "gitHead": "c20cb1beb8d6e2bd3194385fbd57c71617a02bfb"
36
36
  }
@@ -6,5 +6,6 @@ FROM {{build.image}}
6
6
  # and the runtime reads its sources, it does not write them
7
7
  COPY --link . /composition
8
8
 
9
- USER node
9
+ # no USER: the runtime drops to `node` itself, and only a process that started as root can
10
+ # close its environment under /proc — see runtime/runtime/bin/toa
10
11
  CMD toa compose *
@@ -155,10 +155,11 @@ describe('prepare', () => {
155
155
  .split('\n')
156
156
  .filter((line) => line !== '' && !line.startsWith('#'))
157
157
 
158
+ // no USER: the runtime starts as root and drops to `node` itself, and nothing else
159
+ // touches the filesystem, which is what lets the layer be laid over a base never pulled
158
160
  assert.deepStrictEqual(lines, [
159
161
  `FROM ${image.dependencies.reference}`,
160
162
  'COPY --link . /composition',
161
- 'USER node',
162
163
  'CMD toa compose *'
163
164
  ])
164
165
 
@@ -180,6 +181,7 @@ describe('prepare', () => {
180
181
  const dockerfile = await readFile(join(context, 'Dockerfile'), 'utf8')
181
182
 
182
183
  assert.ok(dockerfile.includes('CMD toa mono *'))
184
+ assert.doesNotMatch(dockerfile, /^USER /m)
183
185
  })
184
186
  })
185
187
 
@@ -6,5 +6,6 @@ FROM {{build.image}}
6
6
  # and the runtime reads its sources, it does not write them
7
7
  COPY --link . /composition
8
8
 
9
- USER node
9
+ # no USER: the runtime drops to `node` itself, and only a process that started as root can
10
+ # close its environment under /proc — see runtime/runtime/bin/toa
10
11
  CMD toa mono *