NornFlow is a lightweight workflow orchestration framework built on top of Nornir, bringing structure and predictability to network automation projects.
NornFlow bridges the gap between development and operations teams by providing:
- A structured workflow system for organizing Nornir tasks into reusable automation flows
- A declarative YAML interface for defining complex automation sequences
- A command-line interface for running individual Nornir tasks or complete workflows
- A variable system with multi-level precedence for flexible customization
NornFlow promotes collaboration between developers and network engineers:
⚡️ Unlimited Power for Developers: Write automation logic as pure Python functions with Nornir's task interface. No boilerplate, just clean Python code.
🚀 Productivity for Operators: Define and run workflows with familiar YAML syntax, enabling network engineers to be productive regardless of their Python programming background.
🔧 Advanced Automation Capabilities: Extends Nornir with powerful features beyond vanilla capabilities, including:
- Multi-level variable system with precedence (environment, global, domain, workflow, CLI, runtime)
- Rich Jinja2 filters for advanced templating and data manipulation
- Hooks system for extending task behavior without modifying task code
- Flexible failure strategies (skip-failed, fail-fast, run-all) for robust error handling
🧩 Project-friendly: Brings predictable structure to Nornir projects with:
- Standardized directory organization
- Consistent workflow definition patterns
- Clear separation between tasks, workflows, and inventory
- Quick Start Guide - Get up and running fast
- Core Concepts - Learn how NornFlow works
- Variables Basics - Understand NornFlow's variable system
- NornFlow Settings - Configure your NornFlow environment
- Jinja2 Filters - Advanced template manipulation
- Hooks Guide - Extend task behavior with custom hooks
- API Reference - For developers extending NornFlow
- Testing Guide - Test tiers, CI defaults, and maintainer cEOS lab integration tests
