Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

208 Commits

conflow - Configuration Flow Orchestrator

License: MPL-2.0Palimpsest

Intelligently orchestrate CUE, Nickel, and configuration validation workflows.

RSR ComplianceRust Version

Why conflow?

Problem: You have configuration files and you’re not sure whether to use CUE, Nickel, or both.

Solution: conflow analyzes your configs, recommends the right tool, and orchestrates the entire pipeline.

# Instead of:
nickel export config.ncl > temp.json
cue vet schema.cue temp.json
cue export schema.cue --out yaml > deploy.yaml
rm temp.json
# Just:
conflow run

Features

  • Intelligent analysis - Recommends CUE vs Nickel based on complexity

  • Pipeline orchestration - Chain tools with dependency management

  • Smart caching - Only re-run what changed

  • Educational - Learn why certain tools fit certain problems

  • Type-safe - Catch errors before deployment

  • RSR Integration - Full Rhodium Standard Repository compliance checking

Quick Start

# Install
cargo install conflow
# Initialize
conflow init my-project
# Analyze existing configs
conflow analyze config.yaml
# Run pipeline
conflow run

Example Pipeline

# .conflow.yamlversion: "1"name: "k8s-deployment"stages:
- name: "generate"tool:
type: nickelcommand: exportfile: config.ncloutput: generated/config.json
- name: "validate"tool:
type: cuecommand: vetschemas: [schemas/k8s.cue]input:
from_stage: generatedepends_on: [generate]
- name: "export"tool:
type: cuecommand: exportout_format: yamlinput:
from_stage: generatedepends_on: [validate]output: deploy/k8s.yaml
$ conflow run
✓ generate (0.08s)
✓ validate (0.05s)
✓ export (0.03s)
Pipeline completed in 0.16s

When to Use What?

Use CUE when:

  • ✅ Validating configuration

  • ✅ Expressing constraints

  • ✅ Merging configurations

  • ✅ Simple transformations

Use Nickel when:

  • ✅ Generating configurations

  • ✅ Complex logic needed

  • ✅ Functions and abstraction

  • ✅ DRY configuration

Use Both when:

  • ✅ Nickel generates → CUE validates

  • ✅ Complex generation + strict validation

Commands

CommandDescription

conflow init [--template <name>]

Initialize project

conflow analyze <files>

Analyze config files

conflow run [--stage <name>]

Execute pipeline

conflow watch

Watch mode

conflow validate

Validate pipeline

conflow graph [--format <fmt>]

Show pipeline graph

conflow cache stats

Cache statistics

conflow cache clear

Clear cache

conflow rsr check

Check RSR compliance

conflow rsr requirements

List RSR requirements

Templates

conflow init --template cue-validation # Simple CUE validation
conflow init --template nickel-generation # Nickel config generation
conflow init --template full-pipeline # Generate → validate → export
conflow init --template kubernetes # Kubernetes manifests
conflow init --template multi-env # Multi-environment configs

RSR Compliance

conflow includes full RSR (Rhodium Standard Repository) integration:

  • Compliance checking - Validate against RSR requirements

  • Auto-remediation - Automatically fix common issues

  • Badge generation - Generate compliance badges for CI

  • Diff reports - Track compliance changes over time

# Check compliance
conflow rsr check
# Auto-fix issues
conflow rsr check --fix
# Generate badge
conflow rsr check --badge badge.svg

Development

# Using Nix (recommended)
nix develop
# Using just
just build # Build
just test# Run tests
just check # Run all checks
just install # Install locally

Documentation

RSR Standards

This project follows Rhodium Standard Repository guidelines:

  • ✅ Memory-safe language (Rust)

  • ✅ Offline-first design

  • ✅ Reproducible builds (Nix)

  • ✅ Comprehensive documentation

  • ✅ SPDX license headers

  • ✅ Security policy

  • ✅ TPCF contribution framework

License

This project is dual-licensed under:

  • MPL-2.0-1.0 License

  • Apache License, Version 2.0

See LICENSE.txt for details.

Contributing

Contributions are welcome! Please read our Contributing Guide first.

Architecture

See TOPOLOGY.md for a visual architecture map and completion dashboard.

About

Configuration Flow Orchestrator - intelligently orchestrate CUE, Nickel, and validation workflows

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages