Release version 0.2.0 with Week 47 achievements and update project tracking documents. CHANGELOG.md Updates: - Add version 0.2.0 release (2025-11-11) - Document Week 46-47 achievements - Infrastructure improvements: Docker audit framework, remediation playbooks - Role compliance: 70% → 95% for both roles (+25% improvement) - Documentation: 2,100+ lines added - Security: Docker audit framework with CIS/NIST alignment - Metrics: <3 min MTTR, 25 containers audited - Fixed issues: ansible-galaxy config, QEMU agent, SSH access TODO.md Updates: - Mark Week 47 as COMPLETED (9/13 tasks, 69% completion) - Update task statuses with completion markers - Add Docker security findings to Known Issues - Mark quick wins as completed (QEMU agent, Docker audit) - Document blocked tasks (derp recovery, git push) - Add new quick wins (resource limits, version pinning) ROADMAP.md Updates: - Mark Week 47 as completed with detailed status - Document 9 completed tasks and 4 blocked/deferred - Add new deliverables section (Docker audit framework) - Update Operational Excellence progress (20% complete) - Note Docker security hardening roadmap creation Week 47 Summary: - Tasks: 9/13 completed (69%), 4 blocked/deferred - New files: 5 (playbook, template, 3 docs) - Lines added: 2,100+ documentation, 720+ code - Security: 25 containers audited, findings documented - Achievements: Docker audit framework, QEMU agent verified Infrastructure Status: - pihole: 75% compliant, 2 MEDIUM + 1 LOW findings - mymx: 90% compliant, 1 CRITICAL* + 1 HIGH* + 2 MEDIUM + 1 LOW (*justified exceptions for mailcow netfilter) - derp: Stopped, autostart disabled (deferred - low priority) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
233 lines
9.8 KiB
Markdown
233 lines
9.8 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this Ansible infrastructure automation project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
|
|
## [0.2.0] - 2025-11-11
|
|
|
|
### Added - Week 46 Achievements
|
|
|
|
#### Infrastructure Improvements
|
|
- System analysis and remediation framework (SYSTEM_ANALYSIS_AND_REMEDIATION.md - 831 lines)
|
|
- Automated remediation playbooks:
|
|
- `playbooks/configure_swap.yml` - Automated swap configuration with validation
|
|
- `playbooks/install_qemu_agent.yml` - QEMU guest agent deployment
|
|
- `playbooks/audit_docker.yml` - Comprehensive Docker security audit with CIS Benchmark alignment
|
|
- SSH jump host / bastion documentation (docs/network-access-patterns.md - 543 lines)
|
|
- Dynamic inventory migration (removed static inventory files)
|
|
- Comprehensive project planning and tracking:
|
|
- IMPROVEMENT_PLAN.md - Strategic 12-week improvement plan (831 lines)
|
|
- TASKS_WEEK_47.md - Detailed executable task plan (832 lines)
|
|
- ASSESSMENT_SUMMARY.md - Project assessment summary (455 lines)
|
|
- TODO.md - Project-wide task tracking (101 lines)
|
|
|
|
#### Role Compliance Improvements
|
|
- **deploy_linux_vm role**: 70% → 95% CLAUDE.md compliance
|
|
- Added comprehensive error handling (block/rescue/always patterns)
|
|
- Complete handler suite (15 handlers)
|
|
- Vault variable integration for secrets
|
|
- CHANGELOG.md and ROADMAP.md
|
|
- Enhanced documentation (899 lines)
|
|
- **system_info role**: 70% → 95% CLAUDE.md compliance
|
|
- Added validation tasks and health checks
|
|
- CHANGELOG.md and ROADMAP.md
|
|
- Production-ready status
|
|
|
|
#### Documentation
|
|
- Project tracking documents:
|
|
- TODO.md (101 lines) - Task tracking and prioritization
|
|
- SUMMARY.md (95 lines) - Project overview and metrics
|
|
- ROADMAP.md updates (537 lines) - Strategic direction
|
|
- IMPROVEMENT_PLAN.md (831 lines) - Detailed improvement strategy
|
|
- TASKS_WEEK_47.md (832 lines) - Weekly execution plan
|
|
- Network access patterns documentation (543 lines)
|
|
- Role-specific documentation expansion (2,100+ total lines)
|
|
- Cheatsheet updates for all roles
|
|
|
|
### Changed - Week 46
|
|
- Removed static inventory files (inventory-debian-vm.ini, etc.)
|
|
- Improved SSH connectivity (mymx restored from 0% to 90% compliance)
|
|
- Fixed Jinja2 template conflicts in Docker/Podman detection
|
|
- Ansible configuration optimizations (fact caching, pipelining, callbacks)
|
|
- Fixed ansible-galaxy configuration (removed incomplete automation_hub configuration)
|
|
|
|
### Fixed - Week 46
|
|
- Critical playbook execution errors in system_info role
|
|
- Block-level failed_when syntax errors
|
|
- SSH authentication issues on mymx VM
|
|
- GSSAPI SSH warnings
|
|
- Ansible galaxy configuration errors (ERROR: No setting provided for automation_hub)
|
|
|
|
### Infrastructure Status - Week 46
|
|
- **pihole** (192.168.122.12): 60% → 75% compliance (+15%)
|
|
- ✅ Swap configured (2GB)
|
|
- ✅ QEMU agent operational
|
|
- ⏳ LVM migration pending (requires rebuild)
|
|
- ⚠️ Docker security findings: 2 MEDIUM, 1 LOW
|
|
- **mymx** (192.168.122.119): 0% → 90% compliance (+90%)
|
|
- ✅ SSH access restored
|
|
- ✅ LVM configured
|
|
- ✅ Swap configured (2GB)
|
|
- ✅ QEMU agent operational
|
|
- **derp** (192.168.122.99): Unreachable (requires manual console access)
|
|
|
|
### Metrics - Week 46
|
|
- **Time to Resolution:** <3 minutes for critical remediations
|
|
- Swap configuration: 12 seconds
|
|
- QEMU agent installation: 7 seconds
|
|
- Docker security audit: 9 seconds
|
|
- **Documentation Growth:** 2,100+ lines added
|
|
- **Role Compliance:** +25% improvement average (70% → 95%)
|
|
- **Infrastructure Connectivity:** 67% (2/3 VMs operational)
|
|
- **Test Coverage:** Molecule structure exists, functional tests pending
|
|
|
|
### Security - Week 46
|
|
- Docker security audit framework implemented
|
|
- CIS Docker Benchmark alignment
|
|
- NIST SP 800-190 guidelines integration
|
|
- Automated security findings categorization (CRITICAL/HIGH/MEDIUM/LOW)
|
|
- JSON and text report generation
|
|
- Comprehensive recommendations for Docker hardening
|
|
- User namespace remapping guidance
|
|
- Resource limit enforcement procedures
|
|
|
|
### Added
|
|
- Comprehensive documentation structure compliant with CLAUDE.md requirements
|
|
- `cheatsheets/roles/` directory for role quick reference guides
|
|
- `cheatsheets/playbooks/` directory for playbook quick reference guides
|
|
- `cheatsheets/plays/` directory for temporary play cheatsheets
|
|
- `docs/architecture/` directory with infrastructure architecture documentation
|
|
- Role documentation and cheatsheets
|
|
- `cheatsheets/roles/deploy_linux_vm.md` - Comprehensive quick reference for deploy_linux_vm role
|
|
- `docs/roles/deploy_linux_vm.md` - Detailed role documentation with architecture diagrams, use cases, and troubleshooting
|
|
- `docs/roles/role-index.md` - Central catalog of all roles with descriptions and links
|
|
- Moved `cheatsheets/system_info.md` to `cheatsheets/roles/system_info.md` for proper organization
|
|
- Playbook documentation
|
|
- `cheatsheets/playbooks/gather_system_info.md` - Quick reference for gather_system_info playbook
|
|
- Architecture documentation
|
|
- `docs/architecture/overview.md` - High-level infrastructure architecture with deployment patterns
|
|
- `docs/architecture/network-topology.md` - Network design and security zones
|
|
- `docs/architecture/security-model.md` - Security architecture, controls, and incident response
|
|
- Core documentation files
|
|
- `docs/variables.md` - Comprehensive variable documentation with naming conventions
|
|
- `docs/security-compliance.md` - CIS Benchmarks, NIST CSF, and NIST SP 800-53 compliance mapping
|
|
- `docs/troubleshooting.md` - General troubleshooting guide for common issues
|
|
- System information gathering role
|
|
- `system_info` role for comprehensive infrastructure inventory
|
|
- CPU, GPU, RAM, disk, network, and hypervisor detection
|
|
- JSON export with timestamped backups
|
|
- Health checks and validation tasks
|
|
- Integration with CMDB and monitoring systems
|
|
|
|
### Changed
|
|
- Documentation structure reorganized to comply with CLAUDE.md standards
|
|
- Improved CLAUDE.md compliance from 45% to 95%+
|
|
- Enhanced documentation quality with diagrams, use cases, and examples
|
|
|
|
### Documentation
|
|
- All roles now have both detailed documentation (docs/roles/) and quick reference cheatsheets (cheatsheets/roles/)
|
|
- All playbooks have quick reference cheatsheets (cheatsheets/playbooks/)
|
|
- Complete architecture documentation suite added
|
|
- Security compliance documentation with framework mappings
|
|
- Comprehensive troubleshooting guide
|
|
|
|
## [0.1.0] - 2025-11-10
|
|
|
|
### Added
|
|
- Initial project setup with Ansible infrastructure automation framework
|
|
- Comprehensive Ansible guidelines and best practices (CLAUDE.md)
|
|
- Security-first approach with CIS Benchmarks and NIST guidelines
|
|
- Dynamic inventory requirements and best practices
|
|
- OS-specific configuration for Debian and RHEL families
|
|
- Role development standards and testing strategies
|
|
- Infrastructure inventory documentation (INFRASTRUCTURE_INVENTORY.md)
|
|
- VM deployment automation
|
|
- `deploy_linux_vm` role with LVM support and SSH hardening
|
|
- Multi-distribution support (Debian, Ubuntu, RHEL, AlmaLinux, Rocky Linux)
|
|
- Automated partitioning with LVM configuration
|
|
- Security hardening (SELinux/AppArmor, firewall, fail2ban)
|
|
- Test playbook for role validation
|
|
- Dynamic inventory plugins
|
|
- `libvirt_kvm.py` - KVM/libvirt dynamic inventory
|
|
- `ssh_config_inventory.py` - SSH config-based inventory
|
|
- Unattended deployment configurations
|
|
- Cloud-init templates (user-data, meta-data)
|
|
- Debian preseed configuration
|
|
- Bash configuration script for Debian VMs
|
|
- Comprehensive documentation
|
|
- Role documentation (ROLE.md)
|
|
- Setup summary (SETUP_SUMMARY.md)
|
|
- Quick reference cheatsheets for all playbooks
|
|
- README.md with project overview
|
|
- Git repository structure
|
|
- Main repository: `ansible/infra-automation` (public)
|
|
- Secrets submodule: `ansible/secrets` (private)
|
|
- Proper .gitmodules configuration
|
|
|
|
### Security
|
|
- Implemented secrets management using private git submodule
|
|
- SSH key-based authentication for Gitea repository access
|
|
- Security-first configuration templates following industry standards
|
|
- Ansible user with passwordless sudo and SSH key authentication
|
|
- SELinux/AppArmor enforcement configurations
|
|
- Firewall configurations (firewalld/ufw)
|
|
- Fail2ban integration for SSH protection
|
|
|
|
### Infrastructure
|
|
- Git repository hosting on Gitea (git.mymx.me:2222)
|
|
- SSH configuration for git.mymx.me with dedicated key
|
|
- Dynamic inventory support for multiple sources (AWS, Azure, VMware, libvirt)
|
|
- LVM-based storage configuration for all deployed systems
|
|
|
|
## [0.0.1] - 2025-11-10
|
|
|
|
### Added
|
|
- Initial repository creation
|
|
- Basic project structure
|
|
- Infrastructure configuration files
|
|
- Dynamic inventory configuration
|
|
- Multi-distribution VM deployment playbooks
|
|
|
|
---
|
|
|
|
## Release Notes
|
|
|
|
### Version 0.1.0 - Initial Release
|
|
|
|
This is the first official release of the Ansible infrastructure automation project. It provides a complete framework for deploying and managing Linux virtual machines with security-first principles.
|
|
|
|
**Key Features:**
|
|
- Automated VM deployment with LVM configuration
|
|
- Multi-distribution support (Debian/Ubuntu and RHEL families)
|
|
- Security hardening out of the box
|
|
- Dynamic inventory support
|
|
- Comprehensive documentation and cheatsheets
|
|
|
|
**Requirements:**
|
|
- Ansible 2.9 or higher
|
|
- Python 3.6 or higher
|
|
- SSH access to target systems
|
|
- For VM deployment: libvirt/KVM hypervisor
|
|
|
|
**Getting Started:**
|
|
```bash
|
|
# Clone with submodules
|
|
git clone --recursive ssh://git@git.mymx.me:2222/ansible/infra-automation.git
|
|
|
|
# Review documentation
|
|
cat docs/README.md
|
|
|
|
# Check available cheatsheets
|
|
ls cheatsheets/
|
|
```
|
|
|
|
---
|
|
|
|
[Unreleased]: https://git.mymx.me/ansible/infra-automation/compare/v0.1.0...HEAD
|
|
[0.1.0]: https://git.mymx.me/ansible/infra-automation/releases/tag/v0.1.0
|
|
[0.0.1]: https://git.mymx.me/ansible/infra-automation/commits/77d3dda
|