Skip to content

mergeSpecs

mergeSpecs(base, override): ContainerSpec

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

Merge two ContainerSpecs — override-wins per field, with deep merge for namespace.

ContainerSpec

Base spec (typically from specFromImage).

Partial<ContainerSpec>

Partial spec whose fields win.

ContainerSpec

A new, immutable merged ContainerSpec.

Merge rules:

  • namespace — deep merge via internal mergeNamespace (mounts / binds / devices / allow merge field-wise; binds are concatenated, not replaced).
  • process — shallow merge, env is object-merged with override winning per key.
  • labels / limits — shallow object merge.
  • name — override wins if defined.
import { mergeSpecs, specFromImage } from '@fishnet/runtime/container/spec'
const base = specFromImage(image)
const spec = mergeSpecs(base, { name: 'api', process: { env: { PORT: '8080' } } })

specFromImage