Commands
$ hof help flow
run CUE pipelines with the hof/flow DAG engine
Use hof/flow to transform data, call APIs, work with DBs,
read and write files, call any program, handle events,
and much more.
'hof flow' is very similar to 'cue cmd' and built on the same flow engine.
Tasks and dependencies are inferred.
Hof flow has a slightly different interface and more task types.
Docs: https://docs.hofstadter.io/data-flow
Example:
@flow()
call: {
@task(api.Call)
req: { ... }
resp: {
statusCode: 200
body: string
}
}
print: {
@task(os.Stdout)
test: call.resp
}
Arguments:
cue entrypoints are the same as the cue cli
@path/name is shorthand for -f / --flow should match the @flow(path/name)
+key=value is shorthand for -t / --tags and are the same as CUE injection tags
arguments can be in any order and mixed
@flow() indicates a flow entrypoint
you can have many in a file or nested values
you can run one or many with the -f flag
@task() represents a unit of work in the flow dag
intertask dependencies are autodetected and run appropriately
hof/flow provides many built in task types
you can reuse, combine, and share as CUE modules, packages, and values
Usage:
hof flow [cue files...] [@flow/name...] [+key=value] [flags]
Aliases:
flow, f
Flags:
-d, --docs print pipeline docs
-f, --flow strings flow labels to match and run
-h, --help help for flow
-l, --list list available pipelines
--progress print task progress as it happens
-s, --stats Print final task statistics
Global Flags:
--inject-env inject all ENV VARs as default tag vars
-p, --package string the Cue package context to use during execution
-q, --quiet turn off output and assume defaults at prompts
-t, --tags strings @tags() to be injected into CUE code
-v, --verbosity int set the verbosity of output