@celilo/e2e 0.9.0 → 0.9.2-alpha.0

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.
@@ -253,7 +253,7 @@ async function bakeViaPublished(): Promise<void> {
253
253
  process.stdout.write(' bun add -g (real npm) .. ');
254
254
  const t2 = Date.now();
255
255
  const add = await dexec(
256
- 'bun add -g @celilo/cli@alpha @celilo/event-bus@alpha @celilo/e2e@alpha 2>&1',
256
+ 'bun add -g @celilo/cli@latest @celilo/event-bus@latest @celilo/e2e@latest 2>&1',
257
257
  );
258
258
  if (add.exitCode !== 0) {
259
259
  console.log(`✗ exit ${add.exitCode}`);
@@ -275,7 +275,14 @@ async function bakeViaPublished(): Promise<void> {
275
275
 
276
276
  process.stdout.write(' docker commit .......... ');
277
277
  const t3 = Date.now();
278
- run(`docker commit ${name} celilo-e2e/management:latest`);
278
+ // The vanilla container was started with `sleep infinity`; docker commit
279
+ // persists the running Cmd, so override it back to the management image's
280
+ // real entrypoint (Dockerfile.management: CMD ["/startup.sh"], no
281
+ // ENTRYPOINT). Without this the baked image never runs /startup.sh ->
282
+ // ssh-keys volume stays empty -> fw-main crashloops (ce-um6).
283
+ run(
284
+ `docker commit --change 'CMD ["/startup.sh"]' ${name} celilo-e2e/management:latest`,
285
+ );
279
286
  console.log(`✔ ${Math.round((Date.now() - t3) / 1000)}s`);
280
287
  } finally {
281
288
  process.stdout.write(' removing container ..... ');
@@ -19,6 +19,12 @@ COPY config/apt/99retries.conf /etc/apt/apt.conf.d/99retries.conf
19
19
 
20
20
  RUN apt-get update && apt-get install -y \
21
21
  openssh-client \
22
+ # openssh-server: the celilo-bootstrap deb Depends on it (remote-API server).
23
+ # Pre-caching it here keeps the bootstrap-apt foreground `apt install` fast
24
+ # (no download over the bumped Squid path) and mirrors reality — a real
25
+ # management box already runs sshd. The deb still owns the celilo-api account
26
+ # + forced-command authorized_keys; this only pre-stages the package.
27
+ openssh-server \
22
28
  ansible \
23
29
  iproute2 \
24
30
  iputils-ping \
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celilo/e2e",
3
- "version": "0.9.0",
3
+ "version": "0.9.2-alpha.0",
4
4
  "description": "E2E test infrastructure for Celilo-deployed applications. Provides a simulated internet with DNS hierarchy, ACME server, firewalls, and target machines in Docker.",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -37,8 +37,8 @@
37
37
  "README.md"
38
38
  ],
39
39
  "dependencies": {
40
- "@celilo/cli-display": "^0.1.9",
41
- "@celilo/event-bus": "^0.1.8",
40
+ "@celilo/cli-display": "0.1.9-alpha.1",
41
+ "@celilo/event-bus": "0.1.8-alpha.0",
42
42
  "yaml": "^2.8.0",
43
43
  "zod": "^3.24.1"
44
44
  },
@@ -57,5 +57,6 @@
57
57
  "type": "git",
58
58
  "url": "https://github.com/psbanka/infra",
59
59
  "directory": "packages/e2e"
60
- }
60
+ },
61
+ "gitHead": "8fe2dff30ef6a59a0aed48e5501403e43be8429e"
61
62
  }
@@ -32,6 +32,7 @@
32
32
  import { execSync } from 'node:child_process';
33
33
  import { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
34
34
  import { join } from 'node:path';
35
+ import { ensureRegistryServerBundle } from '../src/registry-bundle';
35
36
 
36
37
  const REPO_ROOT = join(import.meta.dir, '..', '..', '..');
37
38
 
@@ -187,6 +188,15 @@ function main(): void {
187
188
  rmSync(destination, { recursive: true, force: true });
188
189
  mkdirSync(destination, { recursive: true });
189
190
 
191
+ // @celilo/e2e's `files[]` ships `registry-server/`, but that directory is a
192
+ // .gitignored build artifact — absent in a fresh checkout, so `bun pm pack`
193
+ // would silently pack an e2e tarball WITHOUT it. A monorepo-free consumer's
194
+ // `cele2e build-infra` then dies in buildDockerImages (ensureRegistryServerBundle:
195
+ // "published without its registry-server bundle"). Regenerate it from the
196
+ // sibling packages/registry-server before packing, exactly as buildDockerImages
197
+ // does in-monorepo. (This is why npm-consumer-smoke was red — ce-3rs.)
198
+ ensureRegistryServerBundle(join(REPO_ROOT, 'packages', 'e2e'));
199
+
190
200
  console.log(`Packing @celilo/* packages → ${destination}`);
191
201
  console.log('');
192
202