# Ansible Infrastructure Collection

A comprehensive Ansible collection for managing hybrid cloud infrastructure including Azure, VMware on-premise environments, and Red Hat Enterprise Linux systems.

## Features

- **Provisioning**: VM deployment across Azure, VMware ESXi/vCenter, physical servers
- **Configuration**: System hardening (OpenSCAP/CIS), networking, monitoring setup
- **Monitoring**: Zabbix agent/proxy installation, log forwarding (Fluentd/Filebeat)
- **Security**: Certificate management, AD integration, password rotation
- **Satellite**: Pulp/Satellite subscription management and content views
- **Networking**: DHCP reservations, DNS records, network interface configuration

## Installation

```bash
ansible-galaxy install ansible.infrastructure
# or from source:
cd ansible-infrastructure-collection
git clone https://github.com/yourorg/ansible-infrastructure.git
cd ansible-infrastructure
make build
ansible-galaxy install dist/*.tar.gz
```

## Usage

### Provision a RHEL9 VM in VMware

```yaml
---
- hosts: target_host
  vars_files:
    - vault.yml
  roles:
    - ansible.infrastructure.provision_vmware_rhel9
    - ansible.infrastructure.configure_networking
    - ansible.infrastructure.install_monitoring
```

### Configure OpenSCAP Hardening

```yaml
---
- hosts: all
  roles:
    - role: ansible.infrastructure.enforce_openscap
      openscap_profile: "xccdf_org.ssgproject.content_profile_cis_workstation"
```

## Role Categories

| Category | Description |
|----------|-------------|
| common | Shared utilities (fact gathering, SSH key setup) |
| provisioning | VM deployment for various platforms |
| configuration | System configuration and tuning |
| security | Security hardening and certificates |
| monitoring | Zabbix, logging agents, metrics collection |
| networking | DNS, DHCP, network interfaces |
| satellite | Pulp/Satellite integration |
| misc | Miscellaneous tasks |

## Requirements

- Ansible >= 2.9
- Required collections: microsoft.ad, community.general, azure_rm, vmware.vmware

## License

Apache-2.0
