Skip to content

Commit 62e5d7a

Browse files
committed
docs: update codebase-architecture.md to reflect ansible and tofu module refactoring
- Update Ansible integration section with new template/renderer/ hierarchy - Update Tofu integration section with new template/renderer/ hierarchy - Add new 'Recent Architecture Improvements' section documenting the refactoring - Update module statistics from 79 to 85 files after reorganization - Explain benefits of hierarchical organization and elimination of redundant naming - All markdown linting passing
1 parent e639375 commit 62e5d7a

File tree

1 file changed

+47
-4
lines changed

1 file changed

+47
-4
lines changed

docs/codebase-architecture.md

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,9 @@ Command wrappers provide clean abstractions for integrating with external deploy
129129
Provides integration with `Ansible` for configuration management and software installation on remote systems.
130130

131131
- ✅ `src/ansible/mod.rs` - Ansible playbook integration and coordination
132-
- ✅ `src/ansible/template_renderer.rs` - Ansible-specific template rendering
132+
- ✅ `src/ansible/template/mod.rs` - Ansible template functionality module
133+
- ✅ `src/ansible/template/renderer/mod.rs` - Ansible template rendering coordination
134+
- ✅ `src/ansible/template/renderer/inventory.rs` - Ansible inventory template rendering
133135

134136
**Command Wrappers:**
135137

@@ -286,7 +288,9 @@ Template wrappers provide specialized rendering logic for different tool configu
286288
Specialized integration for `OpenTofu` template processing, handling infrastructure-as-code template rendering with proper variable substitution.
287289

288290
- ✅ `src/tofu/mod.rs` - OpenTofu integration module
289-
- ✅ `src/tofu/template_renderer.rs` - OpenTofu template rendering
291+
- ✅ `src/tofu/template/mod.rs` - OpenTofu template functionality module
292+
- ✅ `src/tofu/template/renderer/mod.rs` - OpenTofu template rendering coordination
293+
- ✅ `src/tofu/template/renderer/cloud_init.rs` - Cloud-init template rendering for OpenTofu
290294

291295
## � Architecture Flow
292296

@@ -328,9 +332,47 @@ The typical deployment flow follows this pattern:
328332
- **Progress reporting**: User-friendly feedback during long-running operations
329333
- **Configuration system**: Support for different environments and settings
330334

331-
## 📊 Module Statistics
335+
## Recent Architecture Improvements
332336

333-
- **Total Modules**: 79 Rust files
337+
### Hierarchical Module Organization (September 2024)
338+
339+
Recent refactoring efforts have improved the module organization for both `Ansible` and `OpenTofu` integrations:
340+
341+
**Before:**
342+
```
343+
src/ansible/template_renderer.rs
344+
src/tofu/template_renderer.rs
345+
src/tofu/cloud_init_template_renderer.rs
346+
```
347+
348+
**After:**
349+
```
350+
src/ansible/template/
351+
├── mod.rs
352+
└── renderer/
353+
├── mod.rs (AnsibleTemplateRenderer)
354+
└── inventory.rs (InventoryTemplateRenderer)
355+
356+
src/tofu/template/
357+
├── mod.rs
358+
└── renderer/
359+
├── mod.rs (TofuTemplateRenderer)
360+
└── cloud_init.rs (CloudInitTemplateRenderer)
361+
```
362+
363+
**Benefits of the New Structure:**
364+
365+
- **Eliminated Redundant Naming**: Removed `_template_renderer` suffixes from file names
366+
- **Logical Hierarchy**: Clear `template/renderer/` organization pattern
367+
- **Better Separation**: Specialized renderers properly grouped by functionality
368+
- **Consistent Pattern**: Same organizational approach across both modules
369+
- **Improved Maintainability**: Easier to locate and modify specific template renderers
370+
371+
This refactoring maintains full backward compatibility while providing a cleaner, more maintainable codebase structure.
372+
373+
## �📊 Module Statistics
374+
375+
- **Total Modules**: 85 Rust files
334376
- **Architecture Levels**: 3 (CommandsStepsRemote Actions)
335377
- **External Tool Integrations**: 4 (`OpenTofu`, `Ansible`, `LXD`, `SSH`)
336378
- **Step Categories**: 7 (Infrastructure, System, Software, Validation, Connectivity, Application, Rendering)
@@ -344,3 +386,4 @@ The typical deployment flow follows this pattern:
344386
- **Template-Driven Configuration**: Flexible configuration management through templates
345387

346388

389+
````

0 commit comments

Comments
 (0)