Skip to content

createContainerKernel

createContainerKernel(ns, registerService?, auditHook?): Kernel

Defined in: packages/runtime/src/platform/boot.ts:868

Create a kernel from a fully-built InterpretedNamespace.

InterpretedNamespace

InterpretedNamespace from buildNamespace.

(def) => Promise<void>

Optional init callback. When provided, the kernel wires ProcContext.registerService so bins like pkg install can start services.

AuditHookFn

Optional audit hook — structured log of kernel operations for audit/replay.

Kernel

A live kernel. Does NOT spawn any processes.

Split from buildNamespace so init’s registerService callback can be injected at construction time — when buildNamespace runs, init doesn’t exist yet. Mounts procFS at /proc (unless already mounted) using a forward-ref to the kernel itself. The forward-ref is safe because procFS callbacks are only invoked by running processes, which cannot exist until kernel.spawn() is called later.

import { buildNamespace, createContainerKernel, createNodeCapabilities } from '@fishnet/runtime'
const ns = await buildNamespace(ctx, createNodeCapabilities())
const kernel = createContainerKernel(ns)
await kernel.spawn('init', ['init'], spawnOpts)