Parent Epic: #19 - Refactor Ansible Templates to Variables Pattern
Depends On: #105 - Create Variables Template Infrastructure
Overview
Convert the configure-firewall.yml.tera template to a static configure-firewall.yml playbook that loads variables from the centralized variables.yml file. This is a complete vertical slice that includes implementation, cleanup of old code, documentation updates, and full validation.
Goals
🏗️ Architecture Requirements
DDD Layer: Infrastructure (template system) + Adapters (AnsibleClient)
Pattern: Static template copying + Ansible vars_files
Time Estimate
4.5 days - Complete vertical slice (11 phases):
- Phases 1-8: Template conversion and API updates (2.75 days)
- Phase 9: Clean up old architecture (2-3 hours)
- Phase 10: Update documentation (1-2 hours)
- Phase 11: Final integration validation (0.5-1 hour)
Documentation
Full implementation details: docs/issues/19.2-convert-firewall-template-to-static.md
Acceptance Criteria
Template Conversion
API Updates
Cleanup (~500 lines removed)
Documentation
Testing & Validation
Related
Parent Epic: #19 - Refactor Ansible Templates to Variables Pattern
Depends On: #105 - Create Variables Template Infrastructure
Overview
Convert the
configure-firewall.yml.teratemplate to a staticconfigure-firewall.ymlplaybook that loads variables from the centralizedvariables.ymlfile. This is a complete vertical slice that includes implementation, cleanup of old code, documentation updates, and full validation.Goals
.teratemplate to static.ymlplaybookvars_files: [variables.yml]to load centralized variablescopy_static_templates()method🏗️ Architecture Requirements
DDD Layer: Infrastructure (template system) + Adapters (AnsibleClient)
Pattern: Static template copying + Ansible vars_files
Time Estimate
4.5 days - Complete vertical slice (11 phases):
Documentation
Full implementation details:
docs/issues/19.2-convert-firewall-template-to-static.mdAcceptance Criteria
Template Conversion
configure-firewall.ymlis static (no.teraextension)vars_files: [variables.yml].teratemplate deletedAPI Updates
AnsibleClient::run_playbook()acceptsextra_argsparameter&["-e", "@variables.yml"]Cleanup (~500 lines removed)
firewall_playbook.rsrenderer deleted (~350 lines)wrappers/firewall_playbook/directory deleted (~150 lines)Documentation
Testing & Validation
cargo testcargo run --bin e2e-config-testscargo run --bin linter allRelated