How j3ssie/osmedeus works
Osmedeus is a security workflow orchestration engine, exposed through a CLI and REST API. Users select or trigger YAML workflows; workflows are parsed, then executed through host, Docker, or SSH runners and can use utility functions, LLM agents, or distributed workers. Results and operational data are retained for queries and surfaced through the API and embedded dashboard. The README documents the major capabilities; source excerpts show several key call paths, while some subsystem connections below are documented only at a high level.
Main entry points: cli CLI commands · executor Workflow executor · server.go REST API · database.go Application database
Components 20
User entry points
- CLI commands
pkg/cli - REST API
pkg/server/server.go - Web dashboard
platform/osmedeus-dashboard
Workflow execution
- Workflow parser
internal/parser/parser.go - Workflow executor
internal/executor - Execution runners
internal/runner - Utility functions
internal/functions - LLM steps
internal/executor/llm_executor.go - ACP agents
internal/executor/acp_client.go - Workflow linter
internal/linter/rules.go
Scheduling and scale
- Event scheduler
internal/scheduler/scheduler.go - Worker execution
internal/distributed/worker.go - Redis queue
internal/distributed/client.go
State and results
- Application database
internal/database/database.go - Run snapshots
internal/snapshot/snapshot.go - Object storage
internal/storage/storage.go
Integrations
- Tool installer
internal/installer/binary.go - Webhook notifications
internal/notify/webhook.go - Cloud provisioning
internal/cloud
Other components
- Operator
Connections 23
- Operator → CLI commands: runs commands
README.md - CLI commands → Workflow parser: selects workflows
- CLI commands → REST API: starts server
pkg/cli/server.go - Operator → Web dashboard: uses dashboard
- Web dashboard → REST API: calls API
- REST API → Workflow parser: loads workflows
- Workflow parser → Workflow executor: provides workflow
- Workflow executor → Execution runners: dispatches steps
- Workflow executor → Utility functions: invokes utilities
- Workflow executor → LLM steps: runs LLM steps
- Workflow executor → ACP agents: runs ACP agents
- CLI commands → Workflow linter: lints workflows
- Event scheduler → Workflow executor: triggers workflows
- Worker execution → Redis queue: queues tasks
- Worker execution → Workflow executor: executes tasks
internal/distributed/worker.go - Worker execution → Application database: records runs
internal/distributed/worker.go - REST API → Application database: serves data
- CLI commands → Application database: queries records
pkg/cli/query.go - Run snapshots → Application database: uses run data
- Run snapshots → Object storage: stores snapshots
- Utility functions → Webhook notifications: sends events
internal/functions/webhook_functions.go - CLI commands → Tool installer: installs tools
- CLI commands → Cloud provisioning: manages infrastructure