# ansible-role-template > A reusable Ansible role template for deploying and managing > applications/services with security best practices. [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Ansible Version](https://img.shields.io/badge/Ansible-2.12+-blue)](https://www.ansible.com/) [![Platforms](https://img.shields.io/badge/Platforms-Debian-blue)](https://www.debian.org/) ## 📌 Key Features ✅ **Idempotent** - Safe to run multiple times ✅ **Security Hardened** - Follows Ansible security best practices ✅ **Modular** - Clear separation of concerns ✅ **Documented** - Comprehensive README and variable documentation ✅ **Tested** - Includes example playbook for validation ## 📂 Directory Structure ```text ansible-role-template/ ├── README.md # This file ├── defaults/ # Default role variables │ └── main.yml ├── handlers/ # Role handlers │ └── main.yml ├── files/ # Static files to deploy ├── meta/ # Role metadata │ └── main.yml ├── tasks/ # Main role tasks │ ├── backup.yml # Backup-related tasks │ ├── main.yml # Core tasks │ └── monitoring.yml # Monitoring setup ├── templates/ # Jinja2 templates └── vars/ # Non-overridable variables └── main.yml ``` ## 🛠️ Development ### Prerequisites - Ansible 2.12+ - Python 3.8+ ## 🔧 Configuration ## Default Variables (`defaults/main.yml`) ```yaml # Default values for role variables role_template_service_name: "default_service" role_template_service_port: 80 role_template_backup_enabled: false role_template_service_backup_dir: "/var/backups/{{ role_template_service_name }}" role_template_monitoring_enabled: false ``` ## Example usage ### Example Playbook (`example-playbook.yml`) ```yaml --- - hosts: all roles: - role: yourorg.ansible-role-template vars: role_template_service_name: "myapp" role_template_service_port: 8080 ``` ### 3. Run the Playbook ```bash ansible-playbook -i inventory.ini example-playbook.yml ``` ## 📄 License This project is licensed under the MIT License See the [LICENSE](LICENSE) file for details. ## TODO ☐ refactor ☐ debug ☐ docs