ops0ops0

Workflows

Automate multi-step operations by chaining IaC deployments, configuration runs, scripts, and approvals into a single pipeline.

ops0 Workflows list showing trigger types, status and execution history

Step Types

IaC Deploy
Run Terraform plan, apply, or destroy
Configuration
Run Ansible playbooks
Script
Execute bash, Python, or Node scripts
HTTP Request
Call external APIs or webhooks
Approval
Pause for human approval
Condition
Branch based on expressions

Trigger Types

Manual
User clicks Run
Scheduled
Cron expression
Webhook
HTTP POST trigger
Git Push
On repository change
Incident
On K8s incident
Workflow
Chain workflows

Workflow Status

StatusColorMeaning
ActiveGreenWorkflow is enabled and will run on triggers
PausedYellowTemporarily disabled, manual run only
DraftGrayNot yet activated

Workflow Actions

ActionDescription
RunExecute the workflow manually
EditOpen in visual DAG builder
DuplicateCreate a copy
View HistorySee past executions
Pause/ResumeToggle active state
DeleteRemove the workflow

Common Patterns

PatternSteps
Deploy PipelinePlan → Approval → Apply → Notify
Environment PromotionDev → Test → Approval → Prod
Scheduled BackupScript → Upload → Cleanup
Incident ResponseDetect → Scale → Notify
Multi-Region DeployPlan → Apply US ∥ Apply EU → Verify

Example: CI/CD Deployment Pipeline

Workflow Configuration

Name:        production-deploy
Trigger:     Git Push (main branch)
Steps:       5
Status:      Active

Visual Pipeline

┌─────────┐    ┌──────────┐    ┌──────────┐    ┌─────────┐    ┌────────┐
│  Plan   │───▶│ Approval │───▶│  Apply   │───▶│  Test   │───▶│ Notify │
└─────────┘    └──────────┘    └──────────┘    └─────────┘    └────────┘

Step Configuration

StepTypeConfiguration
PlanIaC DeployProject: api-infrastructure, Action: Plan
ApprovalApprovalApprovers: team:platform, Timeout: 1h
ApplyIaC DeployProject: api-infrastructure, Action: Apply
TestHTTP RequestURL: https://api.example.com/health
NotifySlackChannel: #deployments, Message: Deploy complete

Execution Result

Workflow: production-deploy
Run ID:   wfr_8x7y6z5w
Status:   Completed ✓

Step Results:
─────────────────────────────────────
1. Plan         ✓  Completed    12s
   → 3 to add, 1 to change, 0 to destroy

2. Approval     ✓  Approved     4m 32s
   → Approved by jane@example.com

3. Apply        ✓  Completed    45s
   → 3 added, 1 changed, 0 destroyed

4. Test         ✓  Completed    2s
   → HTTP 200 OK

5. Notify       ✓  Completed    1s
   → Message sent to #deployments

Total Duration: 5m 32s
Triggered By:   Git Push (main @ abc1234)

Slack Notification

🚀 Deployment Complete

Workflow: production-deploy
Environment: production
Status: Success ✓
Duration: 5m 32s

Changes Applied:
• 3 resources added
• 1 resource changed

Triggered by: jane@example.com
Commit: abc1234 "Add rate limiting to API"

Example: Multi-Region Parallel Deploy

Workflow with Parallel Steps

                    ┌─────────────┐
              ┌────▶│  Apply US   │────┐
┌─────────┐   │     └─────────────┘    │     ┌──────────┐
│  Plan   │───┤                        ├────▶│  Verify  │
└─────────┘   │     ┌─────────────┐    │     └──────────┘
              └────▶│  Apply EU   │────┘
                    └─────────────┘

Execution Timeline

00:00  Plan started
00:15  Plan completed (3 resources)
00:15  Apply US started ─┬─ (parallel)
00:15  Apply EU started ─┘
00:45  Apply EU completed
00:52  Apply US completed
00:52  Verify started
00:55  Verify completed

Total: 55 seconds