Hydra ETL
Build your first job
Get startedHydra CLILesson 8
Lesson 8 of 11 · List the project

Ask the project what it contains

Scan the course folder, identify the detected job and optional manifests, and separate inventory from validation or execution.

hdrctl listabout 7 minutesparameterized job run

1. Objective

Goal

Run hdrctl list . from cli-course. Confirm that Hydra detects first-job, recognizes its required manifests, and labels its optional transformations without opening a connector.

Course project

Keep working from the cli-course folder. The job is named first-job, and the workflow lessons add workflow.yaml beside it; every command and terminal excerpt in this lesson was run against that same cumulative project.

Reading a result. Durations and process identifiers vary between machines — ignore them. What proves a run is the stable evidence: named files, resolved identifiers, row counters, step states, HTTP status. If one of those differs from the lesson, fix the previous step before continuing.

Prerequisites

  • Lesson 7 completed and checked.
  • The validated first-job CSV project.
  • A terminal opened in the cli-course folder.

2. Steps

01Read the command contract

Objective

Confirm that list accepts only a search path and language option.

Actions

  1. Open the subcommand help.
  2. Verify there is no connection, strictness, or execution option.
hdrctl list --help
What you should see

The interface is intentionally small: an optional path plus global language and help.

Usage: hdrctl list [OPTIONS] [PATH]

Examples:
  hydra list
  hydra list jobs/

02Inventory the course folder

Objective

Detect the cumulative job from its manifest structure.

Actions

  1. Stay in cli-course.
  2. Run hdrctl list against the current folder.
hdrctl list .
What you should see

Hydra detects exactly the observed job and marks its required file set OK.

Jobs detected in C:\Users\DELL\Desktop\Hydra\conversation_files\cli-course

──────────────────────────────────────────────────────────────────────
first-job                      ✅ OK                        [transforms]
──────────────────────────────────────────────────────────────────────

1 job(s)  1 OK OK

03Interpret the optional marker

Objective

Read [transforms] as inventory metadata, not an execution result.

Actions

  1. Locate the bracketed marker beside first-job.
  2. Match it to first-job/transformations.yaml.
  3. Do not infer row counts or connector access from this line.
Get-ChildItem first-job -Filter *.yaml
What you should see

The job folder contains its core manifests plus transformations and parameters.

destinations.yaml
parameters.yaml
pipeline.yaml
sources.yaml
transformations.yaml

04Choose the next safe command

Objective

Move from inventory to the correct deeper check when needed.

Actions

  1. Use validate after manifest edits.
  2. Use test after connection changes.
  3. Use run only after both gates pass.
hdrctl validate first-job
hdrctl test first-job
What you should see

Inventory identifies the target; validation and testing provide the content and connector evidence.

✅ DSL valid — no errors detected.
✅ All tests pass — ready to execute.

3. Checklist

VerificationExpected result
Detected namefirst-job
Structural statusOK
Optional marker[transforms]
Summary1 job(s) and one OK result

4. Troubleshooting

SymptomCauseFix
No jobs are foundThe search path does not contain job directoriesRun from cli-course or pass its path
A folder is not OKOne or more required manifests are absentRestore sources, destinations, and pipeline manifests before listing again
You expected row countslist is structural onlyUse hdrctl run for execution evidence

5. Next lesson

The project inventory is clear and the job remains runnable. The next lesson adds a two-step workflow.yaml that runs this same job and records completion, then validates the dependency graph before execution.

Close by

0 / 0 on this page