Upstream Source
This page is part of Truthound Orchestration 3.x.
Source repository: seadonggyun4/truthound-orchestration
Upstream docs path: docs/kestra/input-output-files.md
Edit upstream page: Edit in orchestration
Kestra Input and Output Files¶
Kestra flows commonly move data through files and URIs. Truthound's Kestra integration fits that model: script helpers accept URIs and the shared runtime resolves them into supported sources before execution begins.
Who This Is For¶
- teams using Kestra script tasks against files and object storage
- operators debugging how inputs are resolved
- platform engineers defining standard file-based validation templates
When To Use It¶
Use this page when:
- a flow passes a file or URI between tasks
- a Python script task should validate the prior task's output
- you want to know how source resolution interacts with Kestra file semantics
Prerequisites¶
- a Kestra flow with script tasks
- access to the file or URI used as the validation source
- familiarity with shared source resolution
Minimal Quickstart¶
Use the output of a previous step as a validation input:
from truthound_kestra import check_quality_script
check_quality_script(
data_uri="{{ outputs.extract.uri }}",
rules=[{"column": "email", "check": "email_format"}],
)
For generated templates, keep the URI boundary explicit:
from truthound_kestra import generate_check_flow
yaml_content = generate_check_flow(
flow_id="users_quality",
namespace="production",
)
Production Pattern¶
Recommended file-oriented pattern:
- produce a file or URI in an upstream task
- pass that location into a Truthound script task
- let the shared runtime resolve the source
- emit results through outputs or metrics
Failure Modes and Troubleshooting¶
| Symptom | Likely Cause | What To Do |
|---|---|---|
| validation cannot read the file | the URI is not resolvable in the task runtime | verify the working directory and storage accessibility |
| a local path works in dev but not in production | Kestra task runners do not share the same filesystem layout | prefer explicit URIs or staged files |
| output handoff is inconsistent | each flow chooses a different file contract | standardize one input/output file pattern |