Basic Structure
Module
Flow
Field Reference
Top-Level Fields
| Field | Required | Description |
|---|---|---|
kind | Yes | module or flow |
name | Yes | Unique workflow identifier |
description | No | Human-readable description |
tags | No | Array of category tags |
params | No | Input parameter definitions |
runner | No | Default runner type (host, docker, ssh) |
runner_config | No | Runner configuration object |
trigger | No | Scheduling trigger definitions |
steps | Module | List of execution steps |
modules | Flow | List of module references |
Parameters
{{target}}.
Tags
Workflow Kinds
Module Workflows
For single, focused tasks:Flow Workflows
For multi-stage pipelines:Module References (Flows)
Workflow Location
Store workflows in the workflow folder (default:~/osmedeus-base/workflows/):
Running Workflows
Validation Rules
The parser validates:- Required fields:
kind,name,steps(module) ormodules(flow) - Valid kind: Must be
moduleorflow - Step names: Each step must have a unique name
- Step types: Must be valid (bash, function, foreach, etc.)
- Module paths: Referenced modules must exist (flows)
- Circular dependencies: No cycles in dependency graph (flows)
Best Practices
- One task per module - Keep modules focused
- Use flows for pipelines - Orchestrate with dependencies
- Descriptive names -
subdomain-enumnotstep1 - Document parameters - Add descriptions
- Use tags - Enable filtering
Next Steps
- Step Types - All step types
- Flows - Module orchestration
- Variables - Parameters and exports
- Control Flow - Conditions and routing