Documentation
Everything you need to use StackForge
📖Introduction
StackForge is a visual DevOps pipeline builder. Instead of reading dozens of docs and writing custom scripts, you drag tools onto a canvas, connect them, configure each node, and generate production-ready install scripts in seconds.
It supports 71 tools across 16 categories — from Kubernetes distributions and ingress controllers to CI/CD pipelines, secret managers, and cloud providers.
🚀Quick Start
Build your first production-ready K3s stack in under 5 minutes:
/builder.install.sh, install.py, and playbook.yml — all ready to run.⬡Core Concepts
🔧Builder Overview
The builder has four regions:
- Left panel — Tool palette with search, category filter, and smart suggestions
- Center canvas — ReactFlow drag-and-drop surface with dot/line grid background
- Right panel — Config panel for the selected node (click any node)
- Top toolbar — Home, Auto Layout, Preview, Save, Load, Undo/Redo, Generate
Dropping tools
Drag any tool from the left palette and drop it onto the canvas. A new node appears at the drop position. A Smart Suggestion popup will appear offering related tools to add and auto-connect.
Connecting nodes
Hover over a node to reveal the handles (small colored dots). Drag from the bottom (source) handle to the top (target) handle of another node to create an edge.
Mobile layout
On phones, the panels are hidden by default. Use the bottom tab bar (Tools / Layout / Preview / Generate / Config) to open panel overlays.
⊞Auto LayoutNew
Auto Layout uses Kahn's topological sort (BFS-based) to assign each node to a layer based on its longest path from any root. Nodes at the same dependency depth are placed side-by-side, producing a clean top-to-bottom DAG.
How to use
- Click Auto Layout in the toolbar (enabled when 2+ nodes exist)
- Or tap Layout in the mobile bottom bar
- The action is undoable — press Ctrl+Z to revert
▶Flow Preview — Professor Mode✦ New
Flow Preview gives you a step-by-step installation walkthrough of your entire pipeline. Each step shows the exact terminal commands, estimated duration, and what the tool does — like a professor teaching you the stack.
Features
- Topological sort determines the correct installation order automatically
- Live terminal animation — commands appear line-by-line as if being typed
- Play / Pause with configurable speed (½×, 1×, 2×)
- Previous / Next step navigation
- Each step shows duration estimate and "Up next" hint
- 25+ tools have curated install commands (k3s, docker, ArgoCD, Prometheus, Vault, and more)
Keyboard controls (inside Preview)
← / ↑Previous step→ / ↓Next stepSpacePlay / Pause auto-walkEscClose preview⌨️Keyboard Shortcuts
Delete / BackspaceRemove selected node or edgeCtrl + ZUndo last actionCtrl + YRedo last actionCtrl + ScrollZoom in / out on canvasSpace + DragPan the canvas← → (in Preview)Step through installation flowSpace (in Preview)Play / Pause auto-walkEscClose any modal or overlay⬡Node Types
StackForge includes 71 tools across 13 categories. Each node has color-coded borders, a category badge, and a green dot when configured.
↔Edge Types
✦Smart Connections
When you drop a tool onto the canvas, StackForge shows a Smart Suggestion popup with curated companion tools. Click any suggestion to auto-add and auto-connect the tool with the correct edge type.
- K3s suggests: Traefik, Cert-Manager, Prometheus, Longhorn, ArgoCD, Helm
- Docker suggests: Traefik, Portainer, Prometheus, Harbor
- ArgoCD suggests: Prometheus, Vault, Argo Rollouts, Argo Workflows
- Vault suggests: External Secrets Operator, Cert-Manager
If a suggested tool is already on the canvas, it shows ⚡ connect (wire only) instead of + add & connect.
⬇Script Generation
Click Generate Scripts in the toolbar. StackForge calls POST /api/generate, which:
- Topologically sorts nodes by dependency edges
- Generates tool-specific install commands per node
- Outputs 3 formats: Bash, Python, Ansible
Shell Scripts (install.sh)
A production-grade Bash script with color logging, root checks, and error handling. Example snippet for K3s:
#!/usr/bin/env bash
set -euo pipefail
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m'
log() { echo -e "$GREEN[StackForge]$NC $1"; }
info() { echo -e "$BLUE[INFO]$NC $1"; }
[ "$EUID" -ne 0 ] && { echo "Please run as root"; exit 1; }
install_k3s() {
log "Installing K3s..."
curl -sfL https://get.k3s.io | sh -
kubectl wait --for=condition=Ready node --all --timeout=120s
log "K3s installed successfully"
}
install_k3sAnsible Playbooks (playbook.yml)
A complete Ansible project with variables, task blocks, and handlers:
---
- name: StackForge - Deploy K3s Stack
hosts: all
become: true
vars:
k3s_version: "{{ k3s_version | default('latest') }}"
k3s_servers: 1
k3s_agents: 2
tasks:
- name: Install K3s server
shell: curl -sfL https://get.k3s.io | sh -
args:
creates: /usr/local/bin/k3s
- name: Wait for K3s to be ready
command: kubectl wait --for=condition=Ready node --all --timeout=120s
retries: 5
delay: 10{ }POST /api/generate
Generates scripts from a pipeline definition.
Request
{
"nodes": [
{
"id": "n1",
"toolId": "k3s",
"position": { "x": 200, "y": 200 },
"config": { "version": "v1.29", "servers": 1, "agents": 2 }
},
{
"id": "n2",
"toolId": "traefik",
"position": { "x": 400, "y": 380 },
"config": {}
}
],
"edges": [
{ "id": "e1", "source": "n1", "target": "n2", "type": "dependency" }
]
}Response
{
"scripts": [
{ "filename": "install.sh", "language": "shell", "content": "#!/usr/bin/env bash..." },
{ "filename": "install.py", "language": "python", "content": "#!/usr/bin/env python3..." },
{ "filename": "playbook.yml", "language": "ansible", "content": "---\n- name: ..." }
],
"nodeCount": 2
}POST /api/validate
Validates a pipeline configuration — checks for dependency cycles, missing required config fields, and incompatible tool combinations.
// Request — same shape as /api/generate
{ "nodes": [...], "edges": [...] }
// Response
{
"valid": true,
"warnings": ["Traefik added but no cert-manager found — TLS will not auto-provision"],
"errors": []
}☁️DigitalOcean Setup
Drag DigitalOcean from Cloud Providers onto the canvas. In the config panel:
- Region — nyc3, sfo3, ams3, sgp1, fra1, and more
- Instance type — s-1vcpu-2gb ($12/mo) to s-8vcpu-16gb ($96/mo)
- Node count — 1 to 10 droplets
- SSH Key — key name or fingerprint from your DO account
- API credentials — stored locally in your browser, never sent to any server
AWS Setup
Drag AWS from Cloud Providers. Configure region (us-east-1, us-west-2, etc.), instance type (t3.small → m5.xlarge), node count, and your API credentials. Generated scripts use Terraform to provision EC2 instances and VPCs.
Hetzner Setup
Drag Hetzner from Cloud Providers. Hetzner offers exceptional price/performance — cx22 (2 vCPU, 4GB) for just €3.79/mo. Configure region (nbg1, hel1, fsn1, ash), server type, and your Hetzner Cloud API token.