Files
infra-automation/CHANGELOG.md
ansible 704cf44f43 Add CHANGELOG.md for version tracking
- Follow Keep a Changelog format
- Document initial release v0.1.0 with all features
- Include security improvements and infrastructure changes
- Add release notes and getting started guide

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 23:15:36 +01:00

3.6 KiB

Changelog

All notable changes to this Ansible infrastructure automation project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

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:

# 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/