Fluxion::Step
Base class for every kind of work a profile can declare.
Subclasses hold only validated data — no IO, no process handles, no
terminal. Turning a step into commands is the executor's job, which is what
lets plan, dry-run, explain, and apply share one description of the
work and disagree only about whether to run it.
Constructors
Instance methods
Manifest-level when guard. Nil for the stable jobs/steps schema, which
has no per-step conditions.
Settable because a manifest plan entry carries its when and
execution.continueOnError alongside the spec the step is built from,
and threading both through every kind's constructor would add two
parameters to twenty-seven signatures for no gain.
Manifest-level when guard. Nil for the stable jobs/steps schema, which
has no per-step conditions.
Settable because a manifest plan entry carries its when and
execution.continueOnError alongside the spec the step is built from,
and threading both through every kind's constructor would add two
parameters to twenty-seven signatures for no gain.
Whether the step keeps going after one of its items fails. The default differs per kind and is set by each subclass, because "keep installing the other packages" and "keep running the rest of this script" are very different risks.
True when the step mutates the host. Purely informational steps still appear in plans but never need sudo or a dry-run guard.
Shell snippet that reports whether this step's work is already done.
Runs under /bin/bash -lc; exit 0 means done.