Implement complete Proxmox API integration with support for both password
and API token authentication, replacing mock data with real infrastructure data.
**Authentication Features:**
1. **Dual Authentication Support**
- API Token authentication (recommended, more secure)
- Username + Password authentication (fallback)
- Automatic fallback to mock data if not configured
2. **Configuration** (`src/datacenter_docs/utils/config.py`)
- PROXMOX_HOST: Server hostname/IP
- PROXMOX_PORT: API port (default 8006)
- PROXMOX_USER: Username with realm (e.g., root@pam)
- PROXMOX_PASSWORD: Password authentication
- PROXMOX_TOKEN_NAME: API token name
- PROXMOX_TOKEN_VALUE: API token secret
- PROXMOX_VERIFY_SSL: SSL certificate verification
- PROXMOX_TIMEOUT: API request timeout
3. **Real Data Collection** (`src/datacenter_docs/collectors/proxmox_collector.py`)
- VMs: Iterate all nodes, collect QEMU VMs with full details
- Containers: Collect LXC containers from all nodes
- Nodes: Cluster node information and status
- Cluster: Cluster configuration and quorum status
- Storage: Storage pools with usage statistics
- Networks: Network interfaces from all nodes
- Automatic fallback to mock data on errors
4. **Comprehensive Documentation** (`docs/PROXMOX_SETUP.md`)
- Step-by-step API token creation guide
- Permission setup (PVEAuditor role)
- Security best practices
- Troubleshooting guide
- Example configurations
5. **Environment Template** (`.env.example`)
- Detailed Proxmox configuration section
- Inline documentation for both auth methods
- Security recommendations
**Security Features:**
- Supports read-only PVEAuditor role
- API tokens preferred over passwords
- SSL verification configurable
- Graceful degradation (uses mock data if API unavailable)
- No credentials in code (environment variables only)
**How to Configure:**
```bash
# Method 1: API Token (Recommended)
PROXMOX_HOST=proxmox.company.com
PROXMOX_USER=automation@pam
PROXMOX_TOKEN_NAME=docs-collector
PROXMOX_TOKEN_VALUE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# Method 2: Password
PROXMOX_HOST=proxmox.company.com
PROXMOX_USER=root@pam
PROXMOX_PASSWORD=your-secure-password
```
See `docs/PROXMOX_SETUP.md` for complete setup instructions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>