torrust_tracker_deployer_lib/infrastructure/templating/mod.rs
1//! External Tools Integration - Application-Specific Configuration
2//!
3//! This module contains application-specific configuration and template rendering
4//! for external CLI tools used in the deployment infrastructure.
5//!
6//! ## Architecture Note
7//!
8//! **Generic CLI Adapters** (thin wrappers for external tools) have been moved to
9//! `crate::adapters`. This module now contains only **application-specific logic**
10//! such as template rendering and context management.
11//!
12//! - **`crate::adapters`**: Generic CLI tool wrappers (reusable across projects)
13//! - **This module**: Application-specific tool configuration and templates
14//!
15//! ## Components
16//!
17//! - `ansible` - Ansible configuration management integration
18//! - `template` - Template renderers for Ansible inventory and playbooks
19//! - `caddy` - Caddy TLS termination proxy configuration
20//! - `template` - Template renderers for Caddyfile configuration
21//! - `docker_compose` - Docker Compose file management
22//! - `file_manager` - File manager for Docker Compose configuration files
23//! - `tofu` - `OpenTofu` infrastructure provisioning integration
24//! - `template` - Template renderers for `OpenTofu` configuration files
25//! - `tracker` - Torrust Tracker configuration management
26//! - `template` - Template renderers for Tracker configuration files
27//! - `prometheus` - Prometheus metrics collection configuration
28//! - `template` - Template renderers for Prometheus configuration files
29//! - `grafana` - Grafana metrics visualization configuration
30//! - `template` - Template renderers for Grafana provisioning files
31//! - `backup` - Backup configuration management
32//! - `template` - Template renderers for backup configuration files
33//!
34//! ## Template Rendering
35//!
36//! Each tool module provides template renderers that:
37//! - Generate tool-specific configuration files from `.tera` templates
38//! - Manage template contexts with runtime values
39//! - Handle template validation and error reporting
40
41pub mod ansible;
42pub mod backup;
43pub mod caddy;
44pub mod docker_compose;
45pub mod grafana;
46pub mod metadata;
47pub mod prometheus;
48pub mod tofu;
49pub mod tracker;
50
51pub use metadata::TemplateMetadata;