├── .github └── workflows │ ├── cd.yml │ └── ci.yml ├── .gitignore ├── CHANGELOG ├── Cargo.toml ├── LICENSE-2.0.txt ├── Makefile ├── README.md ├── Vagrantfile ├── samples ├── complex-diamond-dag.factfile ├── concurrent-streaming-output.factfile ├── concurrent-with-failures.factfile ├── echo-with-dynamic-name-from-tag.factfile ├── echo-with-dynamic-name.factfile ├── echo-with-variables.factfile ├── echo.factfile ├── multi-failure-cascade.factfile ├── noop.factfile ├── sigterm-resistant.factfile ├── sleep.factfile ├── test-heartbeat.factfile └── variables.factfile ├── src ├── factotum │ ├── executor │ │ ├── execution_strategy │ │ │ ├── mod.rs │ │ │ └── tests.rs │ │ ├── heartbeat.rs │ │ ├── mod.rs │ │ ├── task_list │ │ │ ├── mod.rs │ │ │ └── tests.rs │ │ └── tests.rs │ ├── factfile │ │ ├── dot │ │ │ ├── mod.rs │ │ │ └── tests.rs │ │ ├── mod.rs │ │ └── tests.rs │ ├── mod.rs │ ├── parser │ │ ├── mod.rs │ │ ├── schemavalidator │ │ │ ├── jsonschemas │ │ │ │ └── factotum.json │ │ │ ├── mod.rs │ │ │ └── tests.rs │ │ ├── templater │ │ │ ├── mod.rs │ │ │ └── tests.rs │ │ └── tests.rs │ ├── sequencer │ │ ├── mod.rs │ │ └── tests.rs │ ├── shutdown.rs │ ├── tests.rs │ └── webhook │ │ ├── jobcontext │ │ ├── mod.rs │ │ └── tests.rs │ │ ├── jobupdate │ │ ├── mod.rs │ │ └── tests.rs │ │ ├── mod.rs │ │ └── tests.rs └── main.rs ├── tests └── resources │ ├── dot │ ├── example_apples.dot │ ├── example_apples_poly.dot │ └── example_reduced.dot │ ├── example_invalid_no_continue.factfile │ ├── example_invalid_no_name.factfile │ ├── example_invalid_terminate_continue_same.factfile │ ├── example_ok.factfile │ ├── example_wrong_type.factfile │ ├── invalid_json.factfile │ └── job_update │ ├── job_transition_self_desc.json │ └── task_transition_self_desc.json └── vagrant ├── up.bash └── up.guidance /.github/workflows/cd.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/.github/workflows/cd.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/CHANGELOG -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-2.0.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/LICENSE-2.0.txt -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/README.md -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/Vagrantfile -------------------------------------------------------------------------------- /samples/complex-diamond-dag.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/complex-diamond-dag.factfile -------------------------------------------------------------------------------- /samples/concurrent-streaming-output.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/concurrent-streaming-output.factfile -------------------------------------------------------------------------------- /samples/concurrent-with-failures.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/concurrent-with-failures.factfile -------------------------------------------------------------------------------- /samples/echo-with-dynamic-name-from-tag.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/echo-with-dynamic-name-from-tag.factfile -------------------------------------------------------------------------------- /samples/echo-with-dynamic-name.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/echo-with-dynamic-name.factfile -------------------------------------------------------------------------------- /samples/echo-with-variables.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/echo-with-variables.factfile -------------------------------------------------------------------------------- /samples/echo.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/echo.factfile -------------------------------------------------------------------------------- /samples/multi-failure-cascade.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/multi-failure-cascade.factfile -------------------------------------------------------------------------------- /samples/noop.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/noop.factfile -------------------------------------------------------------------------------- /samples/sigterm-resistant.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/sigterm-resistant.factfile -------------------------------------------------------------------------------- /samples/sleep.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/sleep.factfile -------------------------------------------------------------------------------- /samples/test-heartbeat.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/test-heartbeat.factfile -------------------------------------------------------------------------------- /samples/variables.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/samples/variables.factfile -------------------------------------------------------------------------------- /src/factotum/executor/execution_strategy/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/executor/execution_strategy/mod.rs -------------------------------------------------------------------------------- /src/factotum/executor/execution_strategy/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/executor/execution_strategy/tests.rs -------------------------------------------------------------------------------- /src/factotum/executor/heartbeat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/executor/heartbeat.rs -------------------------------------------------------------------------------- /src/factotum/executor/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/executor/mod.rs -------------------------------------------------------------------------------- /src/factotum/executor/task_list/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/executor/task_list/mod.rs -------------------------------------------------------------------------------- /src/factotum/executor/task_list/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/executor/task_list/tests.rs -------------------------------------------------------------------------------- /src/factotum/executor/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/executor/tests.rs -------------------------------------------------------------------------------- /src/factotum/factfile/dot/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/factfile/dot/mod.rs -------------------------------------------------------------------------------- /src/factotum/factfile/dot/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/factfile/dot/tests.rs -------------------------------------------------------------------------------- /src/factotum/factfile/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/factfile/mod.rs -------------------------------------------------------------------------------- /src/factotum/factfile/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/factfile/tests.rs -------------------------------------------------------------------------------- /src/factotum/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/mod.rs -------------------------------------------------------------------------------- /src/factotum/parser/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/parser/mod.rs -------------------------------------------------------------------------------- /src/factotum/parser/schemavalidator/jsonschemas/factotum.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/parser/schemavalidator/jsonschemas/factotum.json -------------------------------------------------------------------------------- /src/factotum/parser/schemavalidator/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/parser/schemavalidator/mod.rs -------------------------------------------------------------------------------- /src/factotum/parser/schemavalidator/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/parser/schemavalidator/tests.rs -------------------------------------------------------------------------------- /src/factotum/parser/templater/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/parser/templater/mod.rs -------------------------------------------------------------------------------- /src/factotum/parser/templater/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/parser/templater/tests.rs -------------------------------------------------------------------------------- /src/factotum/parser/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/parser/tests.rs -------------------------------------------------------------------------------- /src/factotum/sequencer/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/sequencer/mod.rs -------------------------------------------------------------------------------- /src/factotum/sequencer/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/sequencer/tests.rs -------------------------------------------------------------------------------- /src/factotum/shutdown.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/shutdown.rs -------------------------------------------------------------------------------- /src/factotum/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/tests.rs -------------------------------------------------------------------------------- /src/factotum/webhook/jobcontext/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/webhook/jobcontext/mod.rs -------------------------------------------------------------------------------- /src/factotum/webhook/jobcontext/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/webhook/jobcontext/tests.rs -------------------------------------------------------------------------------- /src/factotum/webhook/jobupdate/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/webhook/jobupdate/mod.rs -------------------------------------------------------------------------------- /src/factotum/webhook/jobupdate/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/webhook/jobupdate/tests.rs -------------------------------------------------------------------------------- /src/factotum/webhook/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/webhook/mod.rs -------------------------------------------------------------------------------- /src/factotum/webhook/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/factotum/webhook/tests.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/src/main.rs -------------------------------------------------------------------------------- /tests/resources/dot/example_apples.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/dot/example_apples.dot -------------------------------------------------------------------------------- /tests/resources/dot/example_apples_poly.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/dot/example_apples_poly.dot -------------------------------------------------------------------------------- /tests/resources/dot/example_reduced.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/dot/example_reduced.dot -------------------------------------------------------------------------------- /tests/resources/example_invalid_no_continue.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/example_invalid_no_continue.factfile -------------------------------------------------------------------------------- /tests/resources/example_invalid_no_name.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/example_invalid_no_name.factfile -------------------------------------------------------------------------------- /tests/resources/example_invalid_terminate_continue_same.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/example_invalid_terminate_continue_same.factfile -------------------------------------------------------------------------------- /tests/resources/example_ok.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/example_ok.factfile -------------------------------------------------------------------------------- /tests/resources/example_wrong_type.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/example_wrong_type.factfile -------------------------------------------------------------------------------- /tests/resources/invalid_json.factfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/invalid_json.factfile -------------------------------------------------------------------------------- /tests/resources/job_update/job_transition_self_desc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/job_update/job_transition_self_desc.json -------------------------------------------------------------------------------- /tests/resources/job_update/task_transition_self_desc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/tests/resources/job_update/task_transition_self_desc.json -------------------------------------------------------------------------------- /vagrant/up.bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/vagrant/up.bash -------------------------------------------------------------------------------- /vagrant/up.guidance: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snowplow/factotum/HEAD/vagrant/up.guidance --------------------------------------------------------------------------------