clusterflux-public/docs/environments.md
Clusterflux release 0cf66aaa65 Public release release-e570b80c3a0f
Source commit: e570b80c3a0f4b152a9aa0e7bb8635b3eebcec27

Public tree identity: sha256:cff3388143eb2e9476804cfa1c1246e3a46d485d8aef90f2cdd4df45f2b69abf
2026-07-17 04:58:56 +02:00

935 B

Environments

Declare environments in the bundle under:

envs/<name>/Containerfile
envs/<name>/Dockerfile

Reference one by logical name:

use clusterflux::env;

let linux = env!("linux");

Bundle inspection reports every discovered environment and its digest:

clusterflux bundle inspect --project .

The bundle definition is authoritative for every spawn. The coordinator passes the declared environment identity and digest in the TaskSpec, and the node resolves that exact definition. A same-named local recipe with different bytes is rejected rather than substituted.

On Linux, container-backed environments use rootless Podman. Clusterflux does not enable privileged containers by default.

A task may use a bind-mounted local checkout for speed. That source path is non-hermetic. Choose a source snapshot when you need a reproducible input identity independent of the current working tree.