Parent Epic: #19 - Refactor Ansible Templates to Variables Pattern
Overview
Create the centralized variables.yml.tera template and supporting Rust infrastructure (context, wrapper, renderer) to consolidate Ansible playbook variables into a single file. This establishes the foundation for the variables pattern that will simplify future playbook additions.
Goals
🏗️ Architecture Requirements
DDD Layer: Infrastructure
Module Path: src/infrastructure/external_tools/ansible/template/
Pattern: Template Wrapper + Context + Renderer (existing pattern)
Time Estimate
2.5 days - Complete vertical slice including implementation, testing, and documentation
Documentation
Full implementation details: docs/issues/19.1-create-variables-template.md
Acceptance Criteria
Template File
Implementation
Testing
Documentation
Related
Parent Epic: #19 - Refactor Ansible Templates to Variables Pattern
Overview
Create the centralized
variables.yml.teratemplate and supporting Rust infrastructure (context, wrapper, renderer) to consolidate Ansible playbook variables into a single file. This establishes the foundation for the variables pattern that will simplify future playbook additions.Goals
templates/ansible/variables.yml.terawith system configuration variablesAnsibleVariablesContextwith validationAnsibleVariablesTemplatefor renderingVariablesTemplateRendererfor orchestrationAnsibleTemplateRenderer::render()workflow🏗️ Architecture Requirements
DDD Layer: Infrastructure
Module Path:
src/infrastructure/external_tools/ansible/template/Pattern: Template Wrapper + Context + Renderer (existing pattern)
Time Estimate
2.5 days - Complete vertical slice including implementation, testing, and documentation
Documentation
Full implementation details:
docs/issues/19.1-create-variables-template.mdAcceptance Criteria
Template File
templates/ansible/variables.yml.teraexists with SSH port variable{{ ssh_port }}Implementation
AnsibleVariablesContextwith SSH port validationAnsibleVariablesTemplatewrapper implementationVariablesTemplateRendererorchestratorAnsibleTemplateRendererTesting
cargo testcargo run --bin e2e-config-testscargo run --bin linter allvariables.ymlgenerated in build directoryDocumentation
Related