MCPcopy Index your code
hub / github.com/cvhariharan/flowctl

github.com/cvhariharan/flowctl @v0.13.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.13.0 ↗ · + Follow
3,101 symbols 6,599 edges 148 files 1,317 documented · 42% updated 3d agov0.13.0 · 2026-06-26★ 3215 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

    <img src="https://github.com/cvhariharan/flowctl/raw/v0.13.0/docs/site/static/images/full-logo-light.svg" width="250">

An open-source self-service workflow execution platform

<a href="https://flowctl.net"><img src="https://github.com/cvhariharan/flowctl/raw/v0.13.0/docs/site/static/images/flows.png" width="650"></a>

Flowctl is a self-service platform that gives users secure access to complex workflows, all in a single binary. These workflows could be anything, granting SSH access to an instance, provisioning infra, or custom business process automation. The executor paradigm in flowctl makes it domain-agnostic.

Check out the demo to see it in action.

Features

  • Workflows - Define complex workflows using simple YAML/HUML configuration with inputs, actions, and approvals
  • SSO - Secure authentication using OIDC
  • Approvals - Add approvals to sensitive operations
  • Teams - Organize workflows by teams or projects with isolated namespaces and built-in RBAC
  • Remote Execution - Execute workflows on remote nodes via SSH
  • Secure Secrets - Store SSH keys, passwords, and secrets securely with encrypted storage
  • Real-time Logs - Track workflow executions with streaming logs
  • Scheduling - Automate workflows with cron-based scheduling

Quick Start

Prerequisites

  • PostgreSQL database
  • Docker

Installation

Docker

Use the provided docker-compose.yml file.


Binary

  1. Download the latest binary from releases

  2. Generate configuration:

bash ./flowctl --new-config

  1. Database migrations:

bash ./flowctl install

  1. Start the server and visit http://localhost:7000:

bash ./flowctl start

Example Workflow

metadata:
  id: hello_world
  name: Hello World
  description: A simple greeting flow

inputs:
  - name: email
    type: string
    label: Email
    validation: email matches "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
    required: true

actions:
  - id: greet
    name: Greet User
    executor: docker
    variables:
      - username: "{{ inputs.email }}"
    with:
      image: docker.io/alpine
      script: |
        echo "Hello, $username!"

Documentation

Full documentation is available at flowctl.net

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

flowctl is licensed under the Apache 2.0 license.

Third-Party Data

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 1,805
Struct 619
Function 479
Interface 117
TypeAlias 71
FuncType 8
Class 2

Languages

Go95%
TypeScript5%

Modules by API surface

pkg/client/client.gen.go1,226 symbols
internal/repo/querier.go155 symbols
internal/handlers/types.go127 symbols
sdk/plugin/proto/executor.pb.go115 symbols
site/src/lib/types.ts86 symbols
internal/repo/models.go57 symbols
internal/repo/execution.sql.go47 symbols
internal/scheduler/types.go46 symbols
sdk/plugin/proto/executor_grpc.pb.go43 symbols
internal/core/flows.go43 symbols
internal/repo/flows.sql.go37 symbols
internal/core/models/flow.go33 symbols

Datastores touched

flowctlDatabase · 1 repos

For agents

$ claude mcp add flowctl \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page