@alexberardi/jarvis-admin 0.1.64 → 0.1.66

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 (46) hide show
  1. package/package.json +1 -1
  2. package/public/assets/index-CAv1RM9y.css +1 -0
  3. package/public/assets/index-DBEZIFbZ.js +18 -0
  4. package/public/index.html +2 -2
  5. package/server/dist/app.d.ts.map +1 -1
  6. package/server/dist/app.js +24 -0
  7. package/server/dist/app.js.map +1 -1
  8. package/server/dist/data/image-digests.json +58 -0
  9. package/server/dist/data/service-registry.json +16 -6
  10. package/server/dist/middleware/auth.d.ts +14 -0
  11. package/server/dist/middleware/auth.d.ts.map +1 -1
  12. package/server/dist/middleware/auth.js +19 -0
  13. package/server/dist/middleware/auth.js.map +1 -1
  14. package/server/dist/routes/install.d.ts.map +1 -1
  15. package/server/dist/routes/install.js +29 -8
  16. package/server/dist/routes/install.js.map +1 -1
  17. package/server/dist/routes/setup.d.ts.map +1 -1
  18. package/server/dist/routes/setup.js +2 -1
  19. package/server/dist/routes/setup.js.map +1 -1
  20. package/server/dist/services/generators/compose-generator.d.ts +11 -0
  21. package/server/dist/services/generators/compose-generator.d.ts.map +1 -1
  22. package/server/dist/services/generators/compose-generator.js +137 -29
  23. package/server/dist/services/generators/compose-generator.js.map +1 -1
  24. package/server/dist/services/generators/env-generator.d.ts.map +1 -1
  25. package/server/dist/services/generators/env-generator.js +17 -2
  26. package/server/dist/services/generators/env-generator.js.map +1 -1
  27. package/server/dist/services/generators/secret-generator.d.ts +1 -1
  28. package/server/dist/services/generators/secret-generator.d.ts.map +1 -1
  29. package/server/dist/services/generators/secret-generator.js +15 -0
  30. package/server/dist/services/generators/secret-generator.js.map +1 -1
  31. package/server/dist/services/upgrade/compose-upgrader.d.ts +36 -0
  32. package/server/dist/services/upgrade/compose-upgrader.d.ts.map +1 -1
  33. package/server/dist/services/upgrade/compose-upgrader.js +90 -33
  34. package/server/dist/services/upgrade/compose-upgrader.js.map +1 -1
  35. package/server/dist/services/upgrade/minisign.d.ts +53 -0
  36. package/server/dist/services/upgrade/minisign.d.ts.map +1 -0
  37. package/server/dist/services/upgrade/minisign.js +126 -0
  38. package/server/dist/services/upgrade/minisign.js.map +1 -0
  39. package/server/dist/services/upgrade/self-updater.d.ts.map +1 -1
  40. package/server/dist/services/upgrade/self-updater.js +61 -1
  41. package/server/dist/services/upgrade/self-updater.js.map +1 -1
  42. package/server/dist/types/wizard.d.ts +8 -0
  43. package/server/dist/types/wizard.d.ts.map +1 -1
  44. package/server/src/data/service-registry.json +16 -6
  45. package/public/assets/index-DeByHCh9.css +0 -1
  46. package/public/assets/index-DeCnqmbD.js +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"compose-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAGlB,MAAM,iCAAiC,CAAA;AASxC;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,eAAe,GACxB,iBAAiB,EAAE,CASrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,eAAe,GACxB,iBAAiB,EAAE,CAWrB;AAiBD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAE3E;AA0BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAwErF"}
1
+ {"version":3,"file":"compose-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAGlB,MAAM,iCAAiC,CAAA;AASxC,qFAAqF;AACrF,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAE5D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAA+C,GACvD,MAAM,CASR;AAGD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,eAAe,GACxB,iBAAiB,EAAE,CASrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,eAAe,GACxB,iBAAiB,EAAE,CAWrB;AA6CD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAE3E;AA0BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAwErF"}
@@ -1,4 +1,23 @@
1
1
  import { getCoreServices, getRecommendedServices, getOptionalServices, getRequiredInfrastructure, } from './service-registry.js';
2
+ import imageDigests from '../../data/image-digests.json' with { type: 'json' };
3
+ /**
4
+ * Pin a first-party image by `@sha256` digest when one is recorded for this
5
+ * `(repo, track+suffix)`, so a GHCR tag overwrite can't change what a generated
6
+ * compose pulls. Falls back to the floating `${JARVIS_IMAGE_TAG}` tag when no
7
+ * digest is recorded (offline installs, or before the digest map is refreshed) —
8
+ * a missing digest degrades gracefully, it never breaks generation.
9
+ */
10
+ export function pinnedOrTaggedImage(baseImage, track, suffix, digests = imageDigests) {
11
+ // The dev track ALWAYS floats (mirrors jarvis-installer#17): dev exists to
12
+ // run the freshest CI-built images, and a frozen digest silently pins
13
+ // dev-lane CI (install-e2e GPU sync stack) to whatever build existed at the
14
+ // last map refresh. Pinning is for release tracks.
15
+ const repo = baseImage.slice(baseImage.lastIndexOf('/') + 1);
16
+ const digest = track === 'dev' ? undefined : digests[repo]?.[`${track}${suffix}`];
17
+ if (digest)
18
+ return `${baseImage}@${digest}`;
19
+ return `${baseImage}:\${JARVIS_IMAGE_TAG:-latest}${suffix}`;
20
+ }
2
21
  import { serviceIdToPortVar } from './port-utils.js';
3
22
  /**
4
23
  * Returns all enabled services (core + selected recommended + selected optional).
@@ -41,6 +60,31 @@ export function getComposeServices(state, registry) {
41
60
  */
42
61
  const CPU_FALLBACK_GPU_VARIANTS = new Set(['nvidia', 'amd-rocm']);
43
62
  const FIRST_PARTY_PREFIX = 'ghcr.io/alexberardi/';
63
+ // Data-plane infra that holds persistent state/secrets and should NOT be
64
+ // reachable off-host by default. Their published ports bind to 127.0.0.1 (other
65
+ // containers still reach them over the internal `jarvis` network). Opt back out
66
+ // via JARVIS_INFRA_BIND_HOST=0.0.0.0. Infra that legitimately serves external
67
+ // clients — mosquitto (remote nodes), grafana/loki (dashboards) — is excluded;
68
+ // grafana is instead protected by a generated admin password (not a default).
69
+ const DATA_PLANE_INFRA = new Set(['postgres', 'redis', 'minio']);
70
+ function infraBindPrefix(infraId) {
71
+ return DATA_PLANE_INFRA.has(infraId) ? '${JARVIS_INFRA_BIND_HOST:-127.0.0.1}:' : '';
72
+ }
73
+ // Whisper's variant is chosen EXPLICITLY via state.whisperBackend (default "cpu"),
74
+ // independent of the auto-detected LLM gpuType. WHISPER_BACKEND_GPU maps the
75
+ // selection to the gpuType the device emitter understands.
76
+ const WHISPER_BACKEND_SUFFIX = {
77
+ cpu: '',
78
+ cuda: '-cuda',
79
+ vulkan: '-vulkan',
80
+ rocm: '-rocm',
81
+ };
82
+ const WHISPER_BACKEND_GPU = {
83
+ cpu: 'none',
84
+ cuda: 'nvidia',
85
+ vulkan: 'amd',
86
+ rocm: 'amd-rocm',
87
+ };
44
88
  /** Whether a service should use a GPU image variant + GPU runtime config for the host. */
45
89
  function shouldUseGpuVariant(service, gpuType) {
46
90
  if (!service.gpu || !gpuType)
@@ -146,7 +190,7 @@ function generateInfraBlock(infra, state) {
146
190
  lines.push(` container_name: jarvis-${infra.id}`);
147
191
  if (infra.port) {
148
192
  lines.push(' ports:');
149
- lines.push(` - "\${${portVar}:-${hostPort}}:${infra.port}"`);
193
+ lines.push(` - "${infraBindPrefix(infra.id)}\${${portVar}:-${hostPort}}:${infra.port}"`);
150
194
  if (infra.id === 'mosquitto') {
151
195
  // WebSocket listener for external nodes via Cloudflare Tunnel
152
196
  lines.push(' - "${MOSQUITTO_WS_PORT:-9883}:9001"');
@@ -169,11 +213,37 @@ function generateInfraBlock(infra, state) {
169
213
  if (infra.id === 'redis') {
170
214
  lines.push(' command: redis-server --requirepass ${REDIS_PASSWORD}');
171
215
  }
172
- // Mosquitto needs a config for anonymous access (no config file needed).
173
- // Two listeners: raw MQTT on 1884 (LAN nodes) and WebSockets on 9001
174
- // (external nodes via Cloudflare Tunnel; CF terminates TLS).
216
+ // Mosquitto: hash the shared MQTT credential into a password_file at startup
217
+ // (the generator can't produce mosquitto's $7$ PBKDF2 hash itself), then serve
218
+ // two listeners — raw MQTT on 1884 (LAN nodes) and WebSockets on 9001 (external
219
+ // nodes via Cloudflare Tunnel; CF terminates TLS). allow_anonymous is env-driven
220
+ // and defaults true so the broker still accepts un-migrated clients while
221
+ // credentials roll out; flip MQTT_ALLOW_ANON=false to lock it down. The `$$`
222
+ // escapes Compose interpolation so the CONTAINER shell expands the env vars
223
+ // (MQTT_USERNAME/MQTT_PASSWORD/MQTT_ALLOW_ANON from the environment block above).
175
224
  if (infra.id === 'mosquitto') {
176
- lines.push(' command: ["sh", "-c", "echo -e \'listener 1884\\nprotocol mqtt\\nlistener 9001\\nprotocol websockets\\nallow_anonymous true\\npersistence true\\npersistence_location /mosquitto/data/\' > /tmp/mosquitto.conf && exec mosquitto -c /tmp/mosquitto.conf"]');
225
+ lines.push(' command:');
226
+ lines.push(' - sh');
227
+ lines.push(' - -c');
228
+ lines.push(' - |');
229
+ // rm -f: mosquitto_passwd -c refuses an existing file on restart (2.1+).
230
+ // chown: mosquitto drops privileges to the mosquitto user BEFORE reading
231
+ // the password file (2.0.22+/2.1 image rebuilds), so a root-owned 0600
232
+ // pwfile crash-loops the broker (mirrors jarvis-installer#16).
233
+ lines.push(' rm -f /tmp/pwfile');
234
+ lines.push(' mosquitto_passwd -b -c /tmp/pwfile "$$MQTT_USERNAME" "$$MQTT_PASSWORD"');
235
+ lines.push(' chown mosquitto:mosquitto /tmp/pwfile');
236
+ lines.push(' {');
237
+ lines.push(' echo "listener 1884"');
238
+ lines.push(' echo "protocol mqtt"');
239
+ lines.push(' echo "listener 9001"');
240
+ lines.push(' echo "protocol websockets"');
241
+ lines.push(' echo "allow_anonymous $$MQTT_ALLOW_ANON"');
242
+ lines.push(' echo "password_file /tmp/pwfile"');
243
+ lines.push(' echo "persistence true"');
244
+ lines.push(' echo "persistence_location /mosquitto/data/"');
245
+ lines.push(' } > /tmp/mosquitto.conf');
246
+ lines.push(' exec mosquitto -c /tmp/mosquitto.conf');
177
247
  }
178
248
  // Postgres needs healthcheck and init-db mount
179
249
  if (infra.id === 'postgres') {
@@ -201,40 +271,29 @@ function generateInfraBlock(infra, state) {
201
271
  }
202
272
  function getServiceImage(service, state) {
203
273
  const raw = service.ghcrImage ?? service.image;
204
- const isFirstParty = raw.startsWith(FIRST_PARTY_PREFIX);
205
- const baseImage = raw.includes(':') ? raw.slice(0, raw.lastIndexOf(':')) : raw;
206
274
  // Third-party images (e.g. go2rtc) keep their original tag
207
- if (!isFirstParty)
275
+ if (!raw.startsWith(FIRST_PARTY_PREFIX))
208
276
  return raw;
209
- // Build tag with optional GPU suffix
210
- let gpuSuffix = '';
211
- if (shouldUseGpuVariant(service, state.hardware?.gpuType)) {
277
+ const baseImage = raw.includes(':') ? raw.slice(0, raw.lastIndexOf(':')) : raw;
278
+ // Variant suffix: whisper's explicit backend selection (cpu default), else the
279
+ // LLM gpu variant. Both are independent of each other.
280
+ let suffix = '';
281
+ if (service.id === 'jarvis-whisper-api') {
282
+ suffix = WHISPER_BACKEND_SUFFIX[state.whisperBackend ?? 'cpu'] ?? '';
283
+ }
284
+ else if (shouldUseGpuVariant(service, state.hardware?.gpuType)) {
212
285
  const variantSuffix = {
213
286
  nvidia: '-cuda',
214
287
  amd: '-vulkan',
215
288
  'amd-rocm': '-rocm',
216
289
  none: '-cpu',
217
290
  };
218
- gpuSuffix = variantSuffix[state.hardware.gpuType] ?? '';
291
+ suffix = variantSuffix[state.hardware.gpuType] ?? '';
219
292
  }
220
- return `${baseImage}:\${JARVIS_IMAGE_TAG:-latest}${gpuSuffix}`;
293
+ const track = state.releaseTrack === 'dev' ? 'dev' : 'latest';
294
+ return pinnedOrTaggedImage(baseImage, track, suffix);
221
295
  }
222
- function pushGpuConfig(lines, service, state) {
223
- if (!service.gpu)
224
- return;
225
- const detected = state.hardware?.gpuType;
226
- // cpuFallback services skip GPU runtime config when the host either has no
227
- // GPU or has a GPU type we don't ship a variant for — they degrade to the
228
- // CPU image gracefully.
229
- if (service.cpuFallback) {
230
- if (!detected || !CPU_FALLBACK_GPU_VARIANTS.has(detected))
231
- return;
232
- }
233
- // GPU-required services (no cpuFallback) MUST get GPU passthrough or the
234
- // container won't boot. If detection failed (state-reconstructor couldn't
235
- // probe the host), fall back to nvidia — the most common case and matches
236
- // legacy installs whose original wizard hardware selection wasn't persisted.
237
- const gpuType = detected ?? 'nvidia';
296
+ function pushGpuDevices(lines, gpuType) {
238
297
  if (gpuType === 'nvidia') {
239
298
  lines.push(' ipc: host');
240
299
  lines.push(' shm_size: "8gb"');
@@ -256,6 +315,34 @@ function pushGpuConfig(lines, service, state) {
256
315
  lines.push(' - video');
257
316
  lines.push(' - render');
258
317
  }
318
+ }
319
+ function pushGpuConfig(lines, service, state) {
320
+ if (!service.gpu)
321
+ return;
322
+ // Whisper: device passthrough follows the EXPLICIT whisperBackend selection
323
+ // (cpu default), independent of the auto-detected LLM gpuType. cpu -> nothing.
324
+ if (service.id === 'jarvis-whisper-api') {
325
+ const wb = state.whisperBackend ?? 'cpu';
326
+ if (wb !== 'cpu')
327
+ pushGpuDevices(lines, WHISPER_BACKEND_GPU[wb] ?? 'none');
328
+ return;
329
+ }
330
+ const detected = state.hardware?.gpuType;
331
+ // cpuFallback services skip GPU runtime config when the host either has no
332
+ // GPU or has a GPU type we don't ship a variant for — they degrade to the
333
+ // CPU image gracefully.
334
+ if (service.cpuFallback) {
335
+ if (!detected || !CPU_FALLBACK_GPU_VARIANTS.has(detected))
336
+ return;
337
+ }
338
+ // GPU-required services (no cpuFallback) MUST get GPU passthrough or the
339
+ // container won't boot. If detection failed (state-reconstructor couldn't
340
+ // probe the host), fall back to nvidia — the most common case and matches
341
+ // legacy installs whose original wizard hardware selection wasn't persisted.
342
+ const gpuType = detected ?? 'nvidia';
343
+ if (gpuType === 'nvidia' || gpuType === 'amd' || gpuType === 'amd-rocm') {
344
+ pushGpuDevices(lines, gpuType);
345
+ }
259
346
  else {
260
347
  lines.push(' ipc: host');
261
348
  }
@@ -282,6 +369,10 @@ function generateServiceBlock(service, state, registry) {
282
369
  lines.push(` - "\${${portVar}:-${hostPort}}:${containerPort}"`);
283
370
  // Environment
284
371
  lines.push(' environment:');
372
+ // Prod deployment: opt every service into strict boot-time secret enforcement
373
+ // (jarvis-auth's guard is warn-only unless JARVIS_ENV=production). Safe because
374
+ // the generator writes strong secrets for every SECRET_KEY.
375
+ lines.push(' JARVIS_ENV: "production"');
285
376
  // Discovery URL style: dockerized makes config-service rewrite localhost-
286
377
  // registered entries (e.g. the MQTT broker) → host.docker.internal, reachable
287
378
  // via the extra_hosts host-gateway + published port. Only localhost entries are
@@ -391,6 +482,15 @@ function generateServiceBlock(service, state, registry) {
391
482
  lines.push(' JARVIS_MODEL_CONTEXT_WINDOW: ${JARVIS_MODEL_CONTEXT_WINDOW:-32768}');
392
483
  lines.push(' HUGGINGFACE_HUB_TOKEN: ${HUGGINGFACE_HUB_TOKEN:-}');
393
484
  lines.push(' REDIS_URL: redis://:${REDIS_PASSWORD}@redis:6379/0');
485
+ // Internal auth to the model service (:7705). The model service 503s ALL
486
+ // inference when this is unset (while /health stays green), so it must be
487
+ // present on both the API and the worker.
488
+ lines.push(' MODEL_SERVICE_TOKEN: ${MODEL_SERVICE_TOKEN}');
489
+ // gfx1201 (RDNA4) HIP flash-attn kernel faults during inference; ship it OFF
490
+ // on AMD (matches the installer). Discrete-GPU selection is handled in-image.
491
+ if (state.hardware?.gpuType === 'amd' || state.hardware?.gpuType === 'amd-rocm') {
492
+ lines.push(' JARVIS_FLASH_ATTN: "false"');
493
+ }
394
494
  }
395
495
  // Settings server needs the auth secret for JWT validation
396
496
  if (service.id === 'jarvis-settings-server') {
@@ -503,6 +603,7 @@ function generateWorkerBlock(worker, parent, state, registry) {
503
603
  lines.push(` image: ${image}`);
504
604
  lines.push(` container_name: ${worker.id}`);
505
605
  lines.push(' environment:');
606
+ lines.push(' JARVIS_ENV: "production"');
506
607
  if (parent.database) {
507
608
  const driver = parent.dbDriverPrefix ?? 'postgresql://';
508
609
  const dbUrl = `${driver}\${DB_USER:-jarvis}:\${POSTGRES_PASSWORD}@postgres:5432/${parent.database}`;
@@ -550,11 +651,18 @@ function generateWorkerBlock(worker, parent, state, registry) {
550
651
  ['JARVIS_MODEL_CONTEXT_WINDOW', '${JARVIS_MODEL_CONTEXT_WINDOW:-32768}'],
551
652
  ['HUGGINGFACE_HUB_TOKEN', '${HUGGINGFACE_HUB_TOKEN:-}'],
552
653
  ['REDIS_URL', 'redis://:${REDIS_PASSWORD}@redis:6379/0'],
654
+ // The worker authenticates to the model service with the SAME token as the API.
655
+ ['MODEL_SERVICE_TOKEN', '${MODEL_SERVICE_TOKEN}'],
553
656
  ];
554
657
  for (const [key, val] of llmProxyEnv) {
555
658
  if (!overrideKeys.has(key))
556
659
  lines.push(` ${key}: ${val}`);
557
660
  }
661
+ // gfx1201 (RDNA4) HIP flash-attn kernel faults; ship it OFF on AMD (matches API + installer).
662
+ if ((state.hardware?.gpuType === 'amd' || state.hardware?.gpuType === 'amd-rocm') &&
663
+ !overrideKeys.has('JARVIS_FLASH_ATTN')) {
664
+ lines.push(' JARVIS_FLASH_ATTN: "false"');
665
+ }
558
666
  }
559
667
  for (const [key, val] of Object.entries(overrides)) {
560
668
  lines.push(` ${key}: ${val}`);
@@ -1 +1 @@
1
- {"version":3,"file":"compose-generator.js","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose-generator.js","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"env-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAUtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAsJjF"}
1
+ {"version":3,"file":"env-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAUtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAsKjF"}
@@ -1,6 +1,6 @@
1
1
  import { getCoreServices, getRecommendedServices, getOptionalServices, getRequiredInfrastructure, } from './service-registry.js';
2
2
  import { serviceIdToPortVar } from './port-utils.js';
3
- import { SECRET_KEYS } from './secret-generator.js';
3
+ import { SECRET_KEYS, generateHexSecret } from './secret-generator.js';
4
4
  export function generateEnv(state, registry) {
5
5
  const lines = [];
6
6
  lines.push('# Jarvis Configuration');
@@ -9,7 +9,11 @@ export function generateEnv(state, registry) {
9
9
  // Secrets
10
10
  lines.push('# --- Secrets ---');
11
11
  for (const key of SECRET_KEYS) {
12
- const value = state.secrets[key] ?? '';
12
+ // Never emit an empty secret: with JARVIS_ENV=production the boot-time secret
13
+ // guard would refuse to start. A reconstructed install carries its existing
14
+ // value through; a genuinely missing one gets a fresh strong secret (passwords
15
+ // 16 bytes, tokens/keys 32 — matching generateAllSecrets).
16
+ const value = state.secrets[key] || generateHexSecret(key.includes('PASSWORD') ? 16 : 32);
13
17
  lines.push(`${key}=${value}`);
14
18
  }
15
19
  lines.push('');
@@ -106,6 +110,17 @@ export function generateEnv(state, registry) {
106
110
  lines.push('# --- Release Track ---');
107
111
  lines.push(`JARVIS_IMAGE_TAG=${state.releaseTrack === 'dev' ? 'dev' : 'latest'}`);
108
112
  lines.push('');
113
+ // MQTT broker lock. Fresh installs lock the broker from the first boot
114
+ // (allow_anonymous=false): the command-center reads MQTT_PASSWORD from its
115
+ // env and every node fetches broker creds over authenticated HTTP *before* it
116
+ // ever opens an MQTT connection, so there's no anonymous client to strand.
117
+ // The transition window (true) is reserved for in-place UPGRADES of fleets
118
+ // whose nodes predate credential auto-fetch — handled in the compose-upgrader,
119
+ // not here. Compose still defaults `${MQTT_ALLOW_ANON:-true}` as a safety
120
+ // fallback if this line is ever missing.
121
+ lines.push('# --- MQTT Broker ---');
122
+ lines.push('MQTT_ALLOW_ANON=false');
123
+ lines.push('');
109
124
  // Native services (macOS only). Comma-separated list of service IDs the user
110
125
  // opted to run as LaunchAgents instead of in Docker. Read back by
111
126
  // state-reconstructor so reconcile flows keep them out of compose.
@@ -1 +1 @@
1
- {"version":3,"file":"env-generator.js","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,UAAU,WAAW,CAAC,KAAkB,EAAE,QAAyB;IACvE,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,UAAU;IACV,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;IAC/B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,WAAW;IACX,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAChC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,gBAAgB;IAChB,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,CAAA;IACD,MAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,CAAA;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,kBAAkB,EAAE,GAAG,eAAe,CAAC,CAAA;IAE/E,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACrC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1C,0EAA0E;QAC1E,uEAAuE;QACvE,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,uBAAuB;IACvB,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAE7D,uBAAuB;IACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;IACnE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,qCAAqC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;IACvE,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC5C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAA;QACzD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,0BAA0B;IAC1B,IAAI,KAAK,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAC5D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,eAAe;IACf,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACpC,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,QAAQ,IAAI,mCAAmC,EAAE,CAAC,CAAA;QACvF,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,KAAK,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC,CAAA;QACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,kDAAkD;IAClD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACrD,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAC5D,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,CAAA;QACxC,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,uEAAuE;QACvE,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,iBAAiB,CAAC,CAAA;QACvD,qEAAqE;QACrE,qEAAqE;QACrE,yEAAyE;QACzE,mEAAmE;QACnE,2DAA2D;QAC3D,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,aAAa,CAAC,CAAA;QAC7C,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,cAAc,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACrC,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,6EAA6E;IAC7E,kEAAkE;IAClE,mEAAmE;IACnE,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;QAC/C,KAAK,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACtE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,uEAAuE;IACvE,2EAA2E;IAC3E,yEAAyE;IACzE,8DAA8D;IAC9D,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACrC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,mEAAmE;IACnE,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;IACtE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QAC9E,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,GAAG,CAAC,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,GAAG,CAAC,CAAA;IACzC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"env-generator.js","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Generates a cryptographically secure hex string using Node.js crypto.
3
3
  */
4
4
  export declare function generateHexSecret(byteLength?: number): string;
5
- export declare const SECRET_KEYS: readonly ["AUTH_SECRET_KEY", "JARVIS_CONFIG_ADMIN_TOKEN", "JARVIS_AUTH_ADMIN_TOKEN", "POSTGRES_PASSWORD", "REDIS_PASSWORD", "ADMIN_API_KEY"];
5
+ export declare const SECRET_KEYS: readonly ["AUTH_SECRET_KEY", "JARVIS_CONFIG_ADMIN_TOKEN", "JARVIS_AUTH_ADMIN_TOKEN", "POSTGRES_PASSWORD", "REDIS_PASSWORD", "ADMIN_API_KEY", "MODEL_SERVICE_TOKEN", "MQTT_PASSWORD", "GRAFANA_ADMIN_PASSWORD"];
6
6
  export type SecretKey = (typeof SECRET_KEYS)[number];
7
7
  /**
8
8
  * Generates all required secrets.
@@ -1 +1 @@
1
- {"version":3,"file":"secret-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/secret-generator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,GAAE,MAAW,GAAG,MAAM,CAEjE;AAED,eAAO,MAAM,WAAW,8IAOd,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAO9D"}
1
+ {"version":3,"file":"secret-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/secret-generator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,GAAE,MAAW,GAAG,MAAM,CAEjE;AAED,eAAO,MAAM,WAAW,gNAsBd,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAO9D"}
@@ -12,6 +12,21 @@ export const SECRET_KEYS = [
12
12
  'POSTGRES_PASSWORD',
13
13
  'REDIS_PASSWORD',
14
14
  'ADMIN_API_KEY',
15
+ // Internal auth between the llm-proxy API/worker and its model service (:7705).
16
+ // The model service 503s ALL inference when this is unset (while /health stays
17
+ // green), so it must be generated + injected on every install. No 'PASSWORD' in
18
+ // the name -> 32 bytes / 64 hex, matching the installer.
19
+ 'MODEL_SERVICE_TOKEN',
20
+ // Shared MQTT broker credential (username is the literal 'jarvis'). The
21
+ // mosquitto container hashes this into a password_file at startup; every MQTT
22
+ // client (command-center, nodes) authenticates with it. 'PASSWORD' in the name
23
+ // -> 16 bytes / 32 hex. Preserved across regen so nodes keep authenticating.
24
+ 'MQTT_PASSWORD',
25
+ // Grafana admin password. Without this the registry default was the well-known
26
+ // literal 'jarvis' on a 0.0.0.0:3000 bind — any LAN client could log in and read
27
+ // all Loki logs (voice transcripts / PII) + SSRF-pivot via the datasource proxy.
28
+ // 'PASSWORD' in the name -> 16 bytes / 32 hex.
29
+ 'GRAFANA_ADMIN_PASSWORD',
15
30
  ];
16
31
  /**
17
32
  * Generates all required secrets.
@@ -1 +1 @@
1
- {"version":3,"file":"secret-generator.js","sourceRoot":"","sources":["../../../src/services/generators/secret-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAAqB,EAAE;IACvD,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iBAAiB;IACjB,2BAA2B;IAC3B,yBAAyB;IACzB,mBAAmB;IACnB,gBAAgB;IAChB,eAAe;CACP,CAAA;AAIV;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACrD,OAAO,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,OAAoC,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"secret-generator.js","sourceRoot":"","sources":["../../../src/services/generators/secret-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAAqB,EAAE;IACvD,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iBAAiB;IACjB,2BAA2B;IAC3B,yBAAyB;IACzB,mBAAmB;IACnB,gBAAgB;IAChB,eAAe;IACf,gFAAgF;IAChF,+EAA+E;IAC/E,gFAAgF;IAChF,yDAAyD;IACzD,qBAAqB;IACrB,wEAAwE;IACxE,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,eAAe;IACf,+EAA+E;IAC/E,iFAAiF;IACjF,iFAAiF;IACjF,+CAA+C;IAC/C,wBAAwB;CAChB,CAAA;AAIV;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACrD,OAAO,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,OAAoC,CAAA;AAC7C,CAAC"}
@@ -1,4 +1,32 @@
1
1
  import type { FastifyInstance } from 'fastify';
2
+ import type { ServiceRegistry } from '../../types/service-registry.js';
3
+ import type { WhisperBackend } from '../../types/wizard.js';
4
+ export declare function loadEnvFile(composePath: string): Record<string, string>;
5
+ export interface UpgradedComposeFiles {
6
+ compose: string;
7
+ env: string;
8
+ initDb: string;
9
+ }
10
+ /**
11
+ * PURE regeneration core: reconstruct the wizard state from an existing install's
12
+ * env and produce the upgraded compose / .env / init-db.sh as STRINGS. Writes
13
+ * nothing. Both the in-place upgrader and the download/CLI path build on this so
14
+ * they can never diverge.
15
+ *
16
+ * Secrets and user config are preserved because they're recovered from
17
+ * ``existingEnv`` (via reconstructWizardState + mergeEnv); named data volumes are
18
+ * matched by Docker on ``up`` since the generator emits stable names, and
19
+ * bind-mount host paths come from env too. A regenerated file is CANONICAL — any
20
+ * hand-edits to the original compose are intentionally not carried over.
21
+ */
22
+ export declare function buildUpgradedComposeFiles(existingEnv: Record<string, string>, registry: ServiceRegistry, overrides?: UpgradeOverrides, hostComposePath?: string): UpgradedComposeFiles;
23
+ /**
24
+ * Non-destructive regeneration for the "download / hand it to the user" flow:
25
+ * read the existing install's env from ``composePath`` and return the upgraded
26
+ * files as strings WITHOUT touching anything on disk. Used by the compose-mode
27
+ * migrator (installer CLI) and the admin download endpoint.
28
+ */
29
+ export declare function regenerateComposeFiles(composePath: string, overrides?: UpgradeOverrides, hostComposePath?: string): UpgradedComposeFiles;
2
30
  /**
3
31
  * Upgrade the compose + env files in place, preserving secrets and user config.
4
32
  *
@@ -15,7 +43,15 @@ export interface UpgradeOverrides {
15
43
  relayEnabled?: boolean;
16
44
  relayUrl?: string;
17
45
  whisperModelPath?: string;
46
+ whisperBackend?: WhisperBackend;
18
47
  releaseTrack?: 'stable' | 'dev';
48
+ /**
49
+ * Flip the MQTT broker's ``allow_anonymous`` (the transition→lockdown control).
50
+ * ``false`` locks the broker to authenticated clients only; ``true`` re-opens
51
+ * it. Undefined leaves the current state untouched. This is an operational
52
+ * flag, not user config, so an explicit value wins over env preservation.
53
+ */
54
+ mqttAllowAnon?: boolean;
19
55
  }
20
56
  export declare function upgradeCompose(_app: FastifyInstance, overrides?: UpgradeOverrides): Promise<void>;
21
57
  //# sourceMappingURL=compose-upgrader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose-upgrader.d.ts","sourceRoot":"","sources":["../../../src/services/upgrade/compose-upgrader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA2B9C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CAChC;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,EACrB,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA8Df"}
1
+ {"version":3,"file":"compose-upgrader.d.ts","sourceRoot":"","sources":["../../../src/services/upgrade/compose-upgrader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAyB3D,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYvE;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,QAAQ,EAAE,eAAe,EACzB,SAAS,CAAC,EAAE,gBAAgB,EAC5B,eAAe,CAAC,EAAE,MAAM,GACvB,oBAAoB,CAkDtB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,gBAAgB,EAC5B,eAAe,CAAC,EAAE,MAAM,GACvB,oBAAoB,CAItB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;IAC/B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,EACrB,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAqCf"}