LUTX: The Lean Configuration Generator
LUTX is a lightweight, powerful configuration generation tool that combines HDF (Human Data Form) with a robust template engine. It is designed for infrastructure-as-code, configuration management, and any task requiring data-driven text generation.
Key Features
- Human-Oriented Data: Uses HDF, a Lisp-inspired format designed for readability.
- Powerful Queries: Native Path Query Language (HDFPGL) for data extraction and filtering.
- Recursive Expansion: Advanced variable substitution with nesting and default values.
- No-Lua Workflow: Generate configs using simple
${VAR} placeholders and command-line selectors. - Side-Effects: Generate multiple output files from a single template using
save().
Directory Structure
bin/: Executable CLI tools.lib/: Core Lua modules (HDF, Query Engine, Template Engine).docs/: Full specifications and guides.examples/: Ready-to-run templates and datasets.tests/: Automated regression test suite.
Quick Start (No-Lua Workflow)
- Prepare your data (
data.hdf):
(servers
(server (id "web1") (host "10.0.0.1"))
)
- Create a template (
config.tpl):
Listen ${host}:80
- Generate your config:
./bin/lutx --dataset data.hdf --simple-query 'servers.(id=web1)' config.tpl
Documentation
Downloads
Requirements
License
MIT