A comprehensive automation platform with control plane, agents, and YAML-based workflow execution powered by the probe framework.
demo/
├── probe/ # Probe task execution framework
│ ├── Core executor and task interface
│ ├── Built-in tasks: HTTP, DB, SSH, Command
│ ├── Custom tasks: PowerShell, DownloadExec
│ └── Comprehensive documentation
│
├── automation-agent/ # Cross-platform automation agent
│ ├── Probe integration for workflow execution
│ ├── Control plane integration
│ ├── Centrifugo real-time messaging
│ ├── Example YAML workflows
│ └── Windows/Linux deployment scripts
│
├── automation-control-plane/ # Centralized job orchestration
│ ├── Job management API
│ ├── Agent registration and tracking
│ ├── MySQL for persistence
│ ├── Centrifugo for real-time communication
│ └── Kubernetes deployment configs
│
└── IMPLEMENTATION-SUMMARY.md # Detailed implementation notes
The platform now uses YAML-based workflows powered by the probe task execution framework, replacing the previous JSON system.
Key Benefits:
- More readable workflow definitions
- 6 task types (was 3): HTTP, Database, SSH, Command, PowerShell, DownloadExec
- Better error handling and timeout support
- Extensible architecture for custom tasks
- Comprehensive documentation and examples
If you have existing JSON workflows, see automation-agent/MIGRATION-GUIDE.md for conversion instructions.
cd probe
go mod download
go test ./...See probe/QUICKSTART.md for a 5-minute introduction.
cd automation-control-plane
# Start with Docker Compose
docker-compose up -d
# Or deploy to Kubernetes
kubectl apply -f deploy/helm/cd automation-agent
# Build
go build -o automation-agent ./cmd/agent
# Configure (environment variables)
export CONTROL_PLANE_URL="http://localhost:8080"
export CENTRIFUGO_URL="ws://localhost:8000/connection/websocket"
export TENANT_ID="your-tenant-id"
export PROJECT_ID="your-project-id"
export JWT_TOKEN="your-jwt-token"
# Run
./automation-agent
# Or install as service
# Windows:
.\deploy\windows\install.ps1
# Linux:
sudo ./deploy/linux/install.sh- Probe Quick Start - 5-minute introduction to probe
- Agent Setup - Windows - Windows agent installation
- Control Plane Setup - Control plane deployment
- Probe Documentation - Full probe framework reference
- Agent Documentation - Agent features and configuration
- Migration Guide - JSON to YAML workflow migration
- Changelog - Version history and changes
- Example Workflows - 6 complete workflow examples
- Implementation Summary - Technical implementation details
name: health-check
tasks:
- name: check-api
type: http
config:
url: https://api.example.com/health
expected_status: [200]name: windows-deployment
tasks:
- name: download-installer
type: downloadexec
config:
url: https://releases.example.com/app.exe
sha256: abc123...
args: ["/silent"]
- name: verify-installation
type: powershell
config:
script: |
$app = Get-ItemProperty HKLM:\Software\...\MyApp
if ($app) { exit 0 } else { exit 1 }name: linux-deployment
tasks:
- name: upload-config
type: ssh
config:
host: server.example.com
user: deploy
key: ~/.ssh/id_rsa
upload:
local: config.yaml
remote: /etc/app/config.yaml
- name: restart-service
type: ssh
config:
host: server.example.com
user: deploy
key: ~/.ssh/id_rsa
command: sudo systemctl restart myapp| Task Type | Description | Platform |
|---|---|---|
http |
HTTP requests and health checks | All |
db |
Database queries (MySQL) | All |
ssh |
Remote commands and file transfers | All |
command |
Local shell commands | All |
powershell |
PowerShell script execution | Windows |
downloadexec |
Download, verify, and execute files | All |
┌─────────────────┐
│ Control Plane │ - Job management
│ │ - Agent registration
│ - REST API │ - Job scheduling
│ - MySQL │ - Audit logging
└────────┬────────┘
│
│ (REST API + Centrifugo)
│
┌────┴────┐
│ │
┌───▼────┐ ┌─▼──────┐
│ Agent │ │ Agent │ - Workflow execution (probe)
│ (Win) │ │ (Linux)│ - Task execution
│ │ │ │ - Result reporting
└────────┘ └────────┘
- ✅ RESTful API for job management
- ✅ Agent registration and heartbeat tracking
- ✅ Multi-tenancy support
- ✅ Job scheduling and queuing
- ✅ Real-time agent communication (Centrifugo)
- ✅ Audit logging
- ✅ Kubernetes deployment ready
- ✅ YAML workflow execution via probe framework
- ✅ 6 built-in task types
- ✅ Cross-platform (Windows/Linux)
- ✅ Service/daemon support
- ✅ Automatic updates
- ✅ Signature verification for downloads
- ✅ Comprehensive logging
- ✅ YAML workflow parser
- ✅ Extensible task system
- ✅ Timeout and cancellation support
- ✅ Error handling and result tracking
- ✅ HTTP, Database, SSH, Command tasks
- ✅ Custom PowerShell and DownloadExec tasks
- ✅ Full test coverage
- Authentication: JWT tokens for agents
- Signature Verification: Ed25519 signatures for downloaded artifacts
- SHA256 Verification: Required for all downloads
- SSH Security: Key-based authentication supported
- Audit Logging: All operations logged to control plane
- Go 1.21+
- MySQL 8.0+
- Docker & Docker Compose (for control plane)
- Centrifugo (included in docker-compose)
# Probe module
cd probe
go build
# Agent
cd automation-agent
go build -o automation-agent ./cmd/agent
# Control Plane
cd automation-control-plane
go build -o control-plane ./cmd/server# Probe
cd probe
go test ./... -v
# Agent
cd automation-agent
go test ./... -v
# Control Plane
cd automation-control-plane
go test ./... -v# Start control plane stack
cd automation-control-plane
docker-compose up -d
# Start agent
cd automation-agent
export CONTROL_PLANE_URL="http://localhost:8080"
export CENTRIFUGO_URL="ws://localhost:8000/connection/websocket"
export TENANT_ID="test"
export PROJECT_ID="test"
export JWT_TOKEN="your-token"
./automation-agentSee deployment guides:
When adding new task types to probe:
- Create task implementation in
probe/task_yourtype.go - Implement the
Taskinterface (Configure, Execute) - Add tests in
probe/task_yourtype_test.go - Register in
probe/probe.goNew() function - Update documentation
- Add example workflow
- Check
CONTROL_PLANE_URLandCENTRIFUGO_URL - Verify JWT token is valid
- Check firewall rules
- Validate YAML syntax
- Check task type names
- Verify all required config fields
- Check SSH key permissions (0600 on Linux)
- Verify SSH server is accessible
- Test connection manually
- PowerShell tasks only work on Windows
- Use
commandorsshtasks instead
- v2.0.0 (2026-01-10) - Probe integration, YAML workflows
- v1.x - Initial release with JSON workflows
See CHANGELOG.md for detailed changes.
Proprietary
- Technical Documentation: See README files in each component
- Migration Help: automation-agent/MIGRATION-GUIDE.md
- Quick Start: probe/QUICKSTART.md
- Examples: automation-agent/examples/workflows/
✅ Production Ready - All components implemented and tested
- Probe framework: Complete with 6 task types
- Agent integration: Complete with probe
- Control plane: Operational
- Documentation: Comprehensive
- Examples: 6 workflow examples provided
- Tests: Unit tests for custom tasks
- Install Go and run
go mod tidyon probe and agent - Build and test locally
- Convert existing workflows to YAML (if applicable)
- Deploy to dev environment
- Test with real workflows
- Deploy to production
For detailed implementation notes, see IMPLEMENTATION-SUMMARY.md.