Skip to content

specFromImage

specFromImage(image, overrides?): ContainerSpec

Defined in: packages/runtime/src/container/spec.ts:49

Build a default ContainerSpec from a UnixImage.

Derives sensible defaults from the image’s boot context (services, env), then layers overrides on top via mergeSpecs.

UnixImage

Image to derive defaults from.

Partial<ContainerSpec>

Partial spec whose fields win over the derived defaults.

ContainerSpec

A complete, immutable ContainerSpec.

  • PID-1 defaults to init when the image registers any services, else sh.
  • Env merge order (Decision #34): DEFAULT_ENV < ctx.env < overrides.process.env.
  • namespace.image is set to a live ImageRef — the image stays in memory for the life of the spec.
  • allow defaults: { mount: false, srv: true, spawn: true, signal: true }.
  • devices defaults: { dev, proc, srv: true, user: 'root', tty: 'none' }.
import { specFromImage } from '@fishnet/runtime/container/spec'
const spec = specFromImage(image, {
name: 'web',
process: { bin: 'node', argv: ['server.js'] },
})