Skip to content

flowsynx/flowctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlowCtl

dotnet License: MIT Build Status FOSSA Status

flowctl is a powerful command-line interface (CLI) tool written in C# for controlling and managing a FlowSynx workflow automation system. Designed for developers and operations teams, flowctl enables seamless integration, orchestration, and lifecycle management of workflows whether you're working in the cloud, on-premises, or in hybrid environments.


✨ Features

  • 🔧 Workflow Lifecycle Management: Create, update, validate, delete, and execute workflows.
  • 📦 Plugin Support: Manage plugins and integrations for workflow tasks.
  • 📊 Monitoring & Status: Query real-time execution status and audit logs.
  • 🔐 Authentication: Supports Basic and JWT tokens-based authentication.
  • Cross-Platform: Runs on Windows, Linux, and macOS (.NET 9+ required).

📦 Installation

🛠️ Building FlowCtl from Source

To build FlowCtl from source, ensure you have the .NET 9 SDK installed and configured in your environment. Then follow the steps below:

git clone https://github.com/flowsynx/flowctl.git
cd flowctl
dotnet build -c Release

The compiled binaries will be located in the bin/Release/net9.0 directory.

➕ (Optional) Add FlowCtl to Your System PATH

To make flowctl available globally from any terminal session:

  • Linux/macOS:
sudo cp bin/Release/net8.0/flowctl /usr/local/bin/
chmod +x /usr/local/bin/flowctl
  • Windows:
    1. Copy flowctl.exe from bin\Release\net9.0 to a directory like C:\flowctl
    2. Add that directory to your System or User PATH via System Environment Variables

After setting the PATH, you can verify the installation with:

flowctl --version

✅ Building from source is recommended for contributors or developers customizing FlowCtl for internal use.

🚀 Installing FlowCtl

You can install FlowCtl, the CLI for FlowSynx workflow automation system, using a platform-specific script or by downloading binaries manually from the Releases page.

🪟 Windows

Use the following PowerShell script to install FlowCtl to $Env:SystemDrive\flowctl and automatically add this directory to your User PATH:

powershell -Command "iwr -useb https://raw.githubusercontent.com/flowsynx/flowctl/master/install/install.ps1 | iex"

After installation, restart your terminal or run refreshenv (if using tools like Chocolatey) to ensure FlowCtl is available in your PATH.

🐧 Linux

Install FlowCtl to /usr/local/bin, making it accessible system-wide:

wget -q https://raw.githubusercontent.com/flowsynx/flowctl/master/install/install.sh -O - | /bin/bash

This script automatically detects your architecture and places the flowctl binary in /usr/local/bin.

🍎 macOS

Install FlowCtl to /usr/local/bin using curl:

curl -fsSL https://raw.githubusercontent.com/flowsynx/flowctl/master/install/install.sh | /bin/bash

Ensure /usr/local/bin is in your shell's PATH. You can check this by running:

echo $PATH

📦 Manual Installation from Binary Releases

If you prefer not to use the install scripts, you can manually download and set up FlowCtl:

  1. Visit the Releases page.
  2. Download the appropriate archive for your OS and architecture (e.g., flowsynx-linux-amd64.tar.gz, flowsynx-windows-amd64.zip, etc.).
  3. Unpack the archive.
  4. Move the flowctl binary to a directory in your PATH:
    • Linux/macOS: Move to /usr/local/bin
    sudo mv flowctl /usr/local/bin/
    chmod +x /usr/local/bin/flowctl
    
    • Windows

      • Create a directory like C:\flowctl
      • Move flowctl.exe into it
      • Add C:\flowctl to the System or User PATH via Environment Variables settings
    • Confirm installation by running:

    flowctl --version
    

🧰 Initialize FlowSynx in Standalone Mode

In standalone mode, FlowSynx can operate locally with minimal dependencies. You can initialize FlowSynx using FlowCtl with a simple command:

flowctl init

This command bootstraps a local workflow environment, creating necessary configuration files and directory structures.

Install a specific engine version

You can install or upgrade to a specific version of the FlowSynx engine by using the --flowsynx-version flag with the flowctl init command. Available versions can be found on the FlowSynx Releases page.

Example command to initialize a specific FlowSynx version:

flowctl init --flowsynx-version 1.2.3

Replace 1.2.3 with the desired version number. This command ensures that the specified version of the FlowSynx engine is downloaded, installed, and properly configured for use.

Check the versions of flowctl and flowsynx engine

To verify the installed versions of both FlowCtl and the FlowSynx engine, run the following command:

flowctl version

This will output version information in JSON format, similar to the example below:

{
  "FlowCtl": "1.0.0",
  "FlowSynx": "1.0.0.0"
}

This command is useful for confirming compatibility and ensuring you're using the intended versions.

🔄 Uninstalling FlowSynx (Standalone Mode)

To uninstall FlowSynx in standalone mode, run the following command:

flowctl uninstall

This will remove the FlowSynx engine binary, and the default installation directory that was created during flowctl init.

⚠️ This operation is irreversible and will delete all local FlowSynx files associated with the standalone setup.

About

Command-line tools for control FlowSynx

Topics

Resources

License

Security policy

Stars

Watchers

Forks