Skip to content

nixkube

nixkube runtime. Provides runtime by mounting a Nix store into pods through a CSI driver.

This is an external provider: it registers as impl.<contract>.<name> and has no apps instance.

providers.runtime = impl.runtime.nixkube;

Provides

runtime4 options
  • fragmentattribute set

    Bound pod rewrite from the runtime provider.

    Default
    { }
  • imagenull or string

    OCI image reference. Mutually exclusive with package.

    Default
    null
  • packagenull or package

    Nix package to run. Mutually exclusive with image.

    Default
    null
  • providernull or (podule provider reference (apps.<type>.<instance> or impl.<contract>.<name>))

    Overrides providers.runtime for this need.

    Default
    null

Needs

None.

  • imagestring

    Image that seeds the node store. The tag is nixkube 0.5.0 with Nix 2.34.8.

    Default
    "ghcr.io/lillecarl/nix-csi/nix:0.5.0-2.34.8"
  • kubeletRootstring

    Kubelet root. The driver registers its socket under plugins/ here.

    Default
    "/var/lib/kubelet"
  • livenessImagestring

    Sidecar that answers the node process health checks.

    Default
    "registry.k8s.io/sig-storage/livenessprobe:v2.18.0"
  • registrarImagestring

    Sidecar that registers the nixkube socket with kubelet.

    Default
    "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.16.0"
  • scratchImagestring

    Image the node process runs from, once the store is mounted at /nix.

    Default
    "ghcr.io/lillecarl/nix-csi/scratch:1.0.1"
  • storeRootstring

    Host directory of this node's Nix store. The store itself is storeRoot/nix.

    Default
    "/var/lib/nix-csi"