Boilerplates CLI v0.1.0
Added
- Variable file support with
--var-fileflag (#1331) - Load variables from YAML file for non-interactive deployments - Variable override support for
showcommand with--varand--var-fileflags (#1421) - Preview variable overrides before generating - Terraform template support (#1422) - Manage Terraform configurations with schema 1.0
- Kubernetes template support (#1423) - Manage Kubernetes configurations with schema 1.0
- Helm template support (#1424) - Manage Helm charts with schema 1.0
- Ansible template support (#1426) - Manage Ansible playbooks with schema 1.0
- Packer template support (#1427) - Manage Packer templates with schema 1.0
- Alphabetically sorted commands in help output with grouped panels for better organization
- Separate help panels for "Template Commands" and "Configuration Commands"
- Compose Schema 1.2: Port variables (http, https, ssh, dns, dhcp, smtp) - Templates only prompt for ports they use
- Compose Schema 1.2: Dedicated
volumesection for storage configuration (replaces swarm_volume_* variables) - Compose Schema 1.2:
resourcessection for CPU and memory limits - Compose Schema 1.2:
traefik_domainvariable for base domain configuration (#1362) - Set once, use across all services - Compose Schema 1.2:
database_hostnow requiresdatabase_external=true - Compose Schema 1.2:
email_encryptionreplacesemail_tlsandemail_sslwith options: none, ssl, tls - Markdown formatting support for template descriptions and next steps (#1471)
- Output directory flag
--output/-oforgeneratecommand (#1534) - Replaces positional directory argument - Variable property
autogenerated_lengthto specify custom length for auto-generated values (default: 32 characters) - Nerd Font icon support with shortcode replacement in template descriptions - Rich visual feedback using standardized icon system
Changed
- Schema is now managed in JSON for better standardization and clarity (#1555)
- Compose Schema 1.2: Removed
traefik_entrypointandtraefik_tls_entrypointvariables - Removed Jinja2
| default()filter extraction and merging (#1410) - All defaults must now be defined in template/module specs - Refactored code quality (#1364) for all core modules from single files to package structure with specific submodules
- Improved debug logging to capture module discovery and registration during initialization
- Enhanced debug logging for better troubleshooting
- Simplified dry-run output to show only essential information (files, sizes, status)
- Traefik template now uses module spec variable
authentik_traefik_middlewareinstead of template-specifictraefik_authentik_middleware_name validatecommand now accepts template ID as positional argument (e.g.,compose validate netbox) - Consistent with archetypes command pattern- Sections can't be required anymore, only variables can be required - Simplifies logic and improves usability
- Variables are now optional by default - only explicitly marked
required: truevariables are required, display shows(*)indicator instead of(required)
Deprecated
- Positional directory argument for
generatecommand (#1534) - Use--output/-oflag instead (will be removed in v0.2.0)
Fixed
- CLI --var flag now properly converts boolean and numeric strings to appropriate Python types (#1522)
- Empty template files are no longer created during generation (#1518)
- Enhanced user confirmation flow for template generation (#1428)
Installation
Install using the installation script:
curl -fsSL https://raw.githubusercontent.com/christianlempa/boilerplates/main/scripts/install.sh | bashOr install a specific version:
curl -fsSL https://raw.githubusercontent.com/christianlempa/boilerplates/main/scripts/install.sh |
bash -s -- --version v0.1.0