Iapetus – A fast, pluggable open-source workflow engine for CI/CD and DevOps

4 months ago 10

Go Reference Go Report Card codecov  MIT

🚀 Open-source workflow engine for DevOps, CI/CD, and automation
⚡️ Automate, test, and orchestrate anything—shell, container, or cloud
🛡️ No YAML hell. No vendor lock-in. 100% open source


  • ⚡️ Lightning-fast: Parallel, dependency-aware execution
  • 🔌 Pluggable: Bash, Docker, and custom backends
  • 🧪 Assertions: Output, exit code, JSON, regex, and more
  • 📝 YAML or Go: Use as config or code
  • 🛡️ Battle-tested: For CI/CD, DevOps, and E2E testing

demo


git clone https://github.com/yindia/iapetus.git cd iapetus/example/yaml go run main.go

name: hello-world steps: - name: say-hello command: echo args: ["Hello, iapetus!"] raw_asserts: - output_contains: iapetus

task := iapetus.NewTask("say-hello", 2*time.Second, nil). AddCommand("echo"). AddArgs("Hello, iapetus!"). AssertOutputContains("iapetus") workflow := iapetus.NewWorkflow("hello-world", zap.NewNop()).AddTask(*task) workflow.Run()

  • 🔄 Parallel, dependency-aware execution
  • Built-in & custom assertions
  • ⏱️ Retries, timeouts, env vars, container images
  • 🔌 Plugin backends: Bash, Docker, and more
  • 🪝 Hooks for logging, metrics, and custom logic
  • 📊 Beautiful logs and error reporting

We welcome PRs, issues, and feedback! See Contributing Guide.


MIT


🌟 Star iapetus if you love it!

Read Entire Article