Releases: jjuliano/runner
Releases · jjuliano/runner
Release 0.1.1 (Persistent pre/post flight and skip conditions)
This release adds persistent execution of preflight, postflight and skip conditions.
Persistent conditions will be retried until they are satisfied.
Persistent flag '@' can be prepended in all check prefixes except "ENV:".
For example, supposed you need the following URL to be available before executing the step, prepend it with "@".
check:
- "@URL:https://example.com:3000/api/v2"
Persistent flags can also be combined with negation, i.e.
skip:
- "@FILE:/tmp/tempfile.txt"
check:
- "@URL:https://example.com:3000/api/v2"
expect:
- "!@FILE:/tmp/file.sock"
runner v0.1.1
runner is a graph-based orchestrator designed to calculate and execute workflows in the correct order, based on their dependencies. With runner, you can simplify complex shell scripts and streamline your workflow automation.
Features
- 🛠 Simplified Automation: Avoid piles of overly complex unmaintainable shell scripts. Use a structured and maintainable YAML configurations, making complex workflows team friendly, easy to collaborate, manage and understand.
- 🚀 Optimized for Developer Experience (DX): Simplify the use of automation workflows for your team, whether it's compiling code & running services in Kubernetes, or managing deployments, making day-to-day tasks more time-saving, efficient and accessible.
- 🔄 GitOps-Ready: Store your scripts and workflows in version control as a single source of truth, enabling seamless tracking, collaboration, and deployment.
- ⚙️ CI/CD Integration: Deploy runner within Docker images or as part of your CI/CD pipelines.
- 🔧 Language Agnostic: Use 99% YAML configurations, and shell scripts for execution. No Python or JavaScript required.
- 🌍 Cross-Platform & Multiarchitecture: Supporting over 40 architectures, runner seamlessly adapts whether you’re deploying on cloud infrastructure, Kubernetes clusters, bare-metal machines, or lightweight IoT devices like Raspberry Pi and Arduino.
- 🌐 HTTPs Resource Support: Include YAML resources from local files or external URLs in your workflows, which makes it easier to share and reuse other workflows.
Quick Start
- Define Your Workflow: Create a
runner.yml
file with workflow resources. - Create Your Resources: Define steps in YAML files for each task.
- Execute the Workflow: Run the workflow using the
runner run <resource>
command. - Dependency Management: Use
runner rdepends
to list dependencies.
CLI Commands
- run: Execute workflows.
- rdepends: List reverse dependencies.
- tree: Display dependency trees.
- More commands like
search
,category
, andshow
to explore resources.
Installation
- Go Install: Install via
go install github.com/jjuliano/runner@latest
. - Build from Source: Clone the repository and build using
make build
.
Full Changelog: dev...0.1.0