Skip to content

Architecture

flowctl is a Go-based workflow execution platform using a modular architecture with separate SDKs for executors and remote clients. All modules are compiled into the binary.

  • cmd/: CLI entry points (start, migrate)
  • internal/core: Business logic (flows, credentials, approvals, RBAC)
  • internal/handlers: REST API endpoints
  • internal/scheduler: Task queue and worker pool
  • internal/repo: PostgreSQL data access layer
  • internal/streamlogger: Real-time log streaming
  • sdk/executor: Executor interface and NodeDriver abstraction
  • sdk/remoteclient: Remote connection protocol interface
  • executors/docker: Docker container executor
  • executors/script: Shell script executor
  • remoteclients/ssh: Standard SSH connections
  • remoteclients/qssh: QUIC-based SSH alternative
  • site/: SvelteKit UI (TypeScript/Tailwind)

cmd/start

internal/core

internal/handlers

internal/scheduler

Executor Registry

RemoteClient Registry

internal/repo

internal/streamlogger

PostgreSQL

executors/docker

executors/script

sdk/executor

NodeDriver

sdk/remoteclient

remoteclients/ssh

remoteclients/qssh