The plan is a representation of what Kurtosis will do inside an enclave. It is central to the multi-phase run design of Kurtosis. Plans are built via Starlark by calling functions on the
Plan object like
You never construct a
Plan object in Starlark. Instead, the
run function of your
main.star should have a variable called
plan, and Kurtosis will inject the
Plan object into it. You can then pass the object down to any functions that need it.
# ------ main.star ---------
some_library = import_module("github.com/some-org/some-library/lib.star")
Any value returned by a
Plan function (e.g.
Plan.upload_files) is a future-reference to the actual value that will only exist at execution time. This means that you cannot run conditionals or manipulations on it in Starlark, at interpretation time!